diff --git a/.bzr-mysql/default.conf b/.bzr-mysql/default.conf new file mode 100644 index 00000000000..f044f8e62da --- /dev/null +++ b/.bzr-mysql/default.conf @@ -0,0 +1,4 @@ +[MYSQL] +post_commit_to = "commits@lists.mysql.com" +post_push_to = "commits@lists.mysql.com" +tree_name = "mysql-5.1" diff --git a/.bzrignore b/.bzrignore index 6646faa9a6f..350827bc864 100644 --- a/.bzrignore +++ b/.bzrignore @@ -1288,6 +1288,8 @@ mysql-test/gmon.out mysql-test/install_test_db mysql-test/lib/My/SafeProcess/my_safe_process mysql-test/lib/init_db.sql +mysql-test/linux_sys_vars.inc +mysql-test/load_sysvars.inc mysql-test/mtr mysql-test/mysql-test-run mysql-test/mysql-test-run-shell @@ -1323,6 +1325,7 @@ mysql-test/r/im_client_port.log mysql-test/r/index_merge_load.result mysql-test/r/isam.err mysql-test/r/lowercase_table2.err +mysql-test/r/max_allowed_packet_func.result mysql-test/r/multi_update.err mysql-test/r/mysql_protocols.err mysql-test/r/mysqlbinlog.err @@ -1400,6 +1403,7 @@ mysql-test/t/index_merge.load mysql-test/t/tmp.test mysql-test/var mysql-test/var/* +mysql-test/windows_sys_vars.inc mysql.kdevprj mysql.proj mysql_priv.h @@ -3021,3 +3025,8 @@ win/vs8cache.txt ylwrap zlib/*.ds? zlib/*.vcproj +mysql-test/bug36522-64.tar +mysql-test/bug36522.tar +mysql-test/t.log +mysql-test/tps.log +libmysqld/event_parse_data.cc diff --git a/BUILD/Makefile.am b/BUILD/Makefile.am index 82e31c4a47b..cd4b00ea731 100644 --- a/BUILD/Makefile.am +++ b/BUILD/Makefile.am @@ -20,6 +20,7 @@ EXTRA_DIST = FINISH.sh \ SETUP.sh \ autorun.sh \ + build_mccge.sh \ check-cpu \ cleanup \ compile-alpha \ @@ -27,8 +28,12 @@ EXTRA_DIST = FINISH.sh \ compile-alpha-cxx \ compile-alpha-debug \ compile-amd64-debug-max \ + compile-amd64-debug-max-no-ndb \ + compile-amd64-gcov \ + compile-amd64-gprof \ compile-amd64-max \ compile-amd64-max-sci \ + compile-amd64-valgrind-max \ compile-darwin-mwcc \ compile-dist \ compile-hpux11-parisc2-aCC \ @@ -51,8 +56,12 @@ EXTRA_DIST = FINISH.sh \ compile-pentium-mysqlfs-debug \ compile-pentium-pgcc \ compile-pentium-valgrind-max \ + compile-pentium64 \ compile-pentium64-debug \ compile-pentium64-debug-max \ + compile-pentium64-gcov \ + compile-pentium64-gprof \ + compile-pentium64-max \ compile-pentium64-max-sci \ compile-pentium64-valgrind-max \ compile-ppc \ @@ -60,6 +69,10 @@ EXTRA_DIST = FINISH.sh \ compile-ppc-debug-max \ compile-ppc-debug-max-no-ndb \ compile-ppc-max \ + compile-solaris-amd64 \ + compile-solaris-amd64-debug \ + compile-solaris-amd64-forte \ + compile-solaris-amd64-forte-debug \ compile-solaris-sparc \ compile-solaris-sparc-debug \ compile-solaris-sparc-forte \ diff --git a/Docs/Makefile.am b/Docs/Makefile.am index 629618609a3..24f921a4877 100644 --- a/Docs/Makefile.am +++ b/Docs/Makefile.am @@ -19,11 +19,24 @@ EXTRA_DIST = mysql.info INSTALL-BINARY @extra_docs@ # automake only seems to take care of this automatically, # if we're building the info page from texi directly. install-data-hook: $(srcdir)/mysql.info - $(mkinstalldirs) $(DESTDIR)$(infodir) - $(INSTALL_DATA) $(srcdir)/mysql.info $(DESTDIR)$(infodir) + if test `basename $(prefix)` = "mysql" ; then \ + $(mkinstalldirs) $(DESTDIR)$(prefix)/docs ; \ + $(INSTALL_DATA) $(srcdir)/mysql.info $(DESTDIR)$(prefix)/docs ; \ + test ! -f $(top_srcdir)/ChangeLog || $(INSTALL_DATA) $(top_srcdir)/ChangeLog $(DESTDIR)$(prefix)/docs ; \ + else \ + $(mkinstalldirs) $(DESTDIR)$(infodir) $(DESTDIR)$(pkgdatadir) ; \ + $(INSTALL_DATA) $(srcdir)/mysql.info $(DESTDIR)$(infodir) ; \ + test ! -f $(top_srcdir)/ChangeLog || $(INSTALL_DATA) $(top_srcdir)/ChangeLog $(DESTDIR)$(pkgdatadir) ; \ + fi uninstall-local: - @RM@ -f $(DESTDIR)$(infodir)/mysql.info + if test `basename $(prefix)` = "mysql" ; then \ + @RM@ -f $(DESTDIR)$(prefix)/docs/mysql.info ; \ + @RM@ -f $(DESTDIR)$(prefix)/docs/ChangeLog ; \ + else \ + @RM@ -f $(DESTDIR)$(infodir)/mysql.info ; \ + @RM@ -f $(DESTDIR)$(pkgdatadir)/ChangeLog ; \ + fi # Don't update the files from bitkeeper %::SCCS/s.% diff --git a/Makefile.am b/Makefile.am index ad94c9ea325..55f54476212 100644 --- a/Makefile.am +++ b/Makefile.am @@ -66,7 +66,7 @@ tags: test-pl test-force-pl test-full-pl test-force-full-pl test-force-pl-mem \ test-unit test-ps test-nr test-pr test-ns test-binlog-statement \ test-ext-funcs test-ext-rpl test-ext-partitions test-ext-jp \ - test-ext-stress test-ext test-embedded \ + test-ext-stress test-ext test-embedded test-reprepare \ test-fast test-fast-cursor test-fast-view test-fast-prepare \ test-full-qa @@ -111,6 +111,11 @@ test-embedded: echo "no program found for 'embedded' tests - skipped testing" ; \ fi +test-reprepare: + cd mysql-test ; \ + @PERL@ ./mysql-test-run.pl $(force) $(mem) --ps-protocol \ + --mysqld=--debug=+d,reprepare_each_statement + test: test-unit test-ns test-pr test-full: test test-nr test-ps @@ -132,15 +137,33 @@ test-bt: -cd mysql-test ; MTR_BUILD_THREAD=auto \ @PERL@ ./mysql-test-run.pl --comment=ps --force --timer \ --skip-ndbcluster --ps-protocol + -if [ -e bin/ndbd -o -e storage/ndb/src/kernel/ndbd ] ; then \ + cd mysql-test ; \ + MTR_BUILD_THREAD=auto \ + @PERL@ ./mysql-test-run.pl --comment=ndb+rpl_ndb+ps --force --timer \ + --ps-protocol --mysqld=--binlog-format=row --suite=ndb,rpl_ndb ; \ + MTR_BUILD_THREAD=auto \ + @PERL@ ./mysql-test-run.pl --comment=ndb --force --timer \ + --with-ndbcluster-only ; \ + else \ + echo "no program found for 'ndbcluster' tests - skipped testing" ; \ + fi -cd mysql-test ; MTR_BUILD_THREAD=auto \ - @PERL@ ./mysql-test-run.pl --comment=normal+rowrepl --force --timer \ - --skip-ndbcluster --mysqld=--binlog-format=row + @PERL@ ./mysql-test-run.pl --force --comment=funcs1+ps --ps-protocol --suite=funcs_1 -cd mysql-test ; MTR_BUILD_THREAD=auto \ - @PERL@ ./mysql-test-run.pl --comment=ps+rowrepl+NDB --force --timer \ - --ps-protocol --mysqld=--binlog-format=row + @PERL@ ./mysql-test-run.pl --force --comment=funcs2 --suite=funcs_2 -cd mysql-test ; MTR_BUILD_THREAD=auto \ - @PERL@ ./mysql-test-run.pl --comment=NDB --force --timer \ - --with-ndbcluster-only + @PERL@ ./mysql-test-run.pl --force --comment=partitions --suite=parts + -cd mysql-test ; MTR_BUILD_THREAD=auto \ + @PERL@ ./mysql-test-run.pl --force --comment=stress --suite=stress + -if [ -d mysql-test/suite/nist ] ; then \ + cd mysql-test ; MTR_BUILD_THREAD=auto \ + @PERL@ ./mysql-test-run.pl --comment=nist --force --suite=nist ; \ + fi + -if [ -d mysql-test/suite/nist ] ; then \ + cd mysql-test ; MTR_BUILD_THREAD=auto \ + @PERL@ ./mysql-test-run.pl --comment=nist+ps --force --suite=nist --ps-protocol ; \ + fi -if [ -e bin/mysqltest_embedded -o -e libmysqld/examples/mysqltest_embedded ] ; then \ cd mysql-test ; MTR_BUILD_THREAD=auto \ @PERL@ ./mysql-test-run.pl --comment=embedded --force --timer \ @@ -148,24 +171,6 @@ test-bt: else \ echo "no program found for 'embedded' tests - skipped testing" ; \ fi - -cd mysql-test ; MTR_BUILD_THREAD=auto \ - @PERL@ ./mysql-test-run.pl --force --comment=funcs1_ps --ps-protocol --suite=funcs_1 - -cd mysql-test ; MTR_BUILD_THREAD=auto \ - @PERL@ ./mysql-test-run.pl --force --comment=funcs2 --suite=funcs_2 - -cd mysql-test ; MTR_BUILD_THREAD=auto \ - @PERL@ ./mysql-test-run.pl --force --comment=rpl --suite=rpl - -cd mysql-test ; MTR_BUILD_THREAD=auto \ - @PERL@ ./mysql-test-run.pl --force --comment=partitions --suite=parts - -if [ -d mysql-test/suite/nist ] ; then \ - cd mysql-test ; MTR_BUILD_THREAD=auto \ - @PERL@ ./mysql-test-run.pl --comment=NIST+normal --force --suite=nist ; \ - fi - -if [ -d mysql-test/suite/nist ] ; then \ - cd mysql-test ; MTR_BUILD_THREAD=auto \ - @PERL@ ./mysql-test-run.pl --comment=NIST+ps --force --suite=nist --ps-protocol ; \ - fi - -cd mysql-test ; MTR_BUILD_THREAD=auto \ - @PERL@ ./mysql-test-run.pl --force --comment=stress --suite=stress # Re-enable the "jp" suite when bug#28563 is fixed # -cd mysql-test ; MTR_BUILD_THREAD=auto \ diff --git a/client/mysql_upgrade.c b/client/mysql_upgrade.c index 6d0e78509a8..6c5ca039a41 100644 --- a/client/mysql_upgrade.c +++ b/client/mysql_upgrade.c @@ -43,6 +43,8 @@ static DYNAMIC_STRING ds_args; static char *opt_password= 0; static my_bool tty_password= 0; +static char opt_tmpdir[FN_REFLEN]; + #ifndef DBUG_OFF static char *default_dbug_option= (char*) "d:t:O,/tmp/mysql_upgrade.trace"; #endif @@ -113,6 +115,8 @@ static struct my_option my_long_options[]= #endif {"socket", 'S', "Socket file to use for connection.", 0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, + {"tmpdir", 't', "Directory for temporary files", + 0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, {"user", 'u', "User for login if not current user.", (uchar**) &opt_user, (uchar**) &opt_user, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, #include @@ -239,6 +243,11 @@ get_one_option(int optid, const struct my_option *opt, } break; + case 't': + strnmov(opt_tmpdir, argument, sizeof(opt_tmpdir)); + add_option= FALSE; + break; + case 'b': /* --basedir */ case 'v': /* --verbose */ case 'd': /* --datadir */ @@ -460,7 +469,7 @@ static int run_query(const char *query, DYNAMIC_STRING *ds_res, char query_file_path[FN_REFLEN]; DBUG_ENTER("run_query"); DBUG_PRINT("enter", ("query: %s", query)); - if ((fd= create_temp_file(query_file_path, NULL, + if ((fd= create_temp_file(query_file_path, opt_tmpdir, "sql", O_CREAT | O_SHARE | O_RDWR, MYF(MY_WME))) < 0) die("Failed to create temporary file for defaults"); diff --git a/client/mysqlbinlog.cc b/client/mysqlbinlog.cc index 8de096e5ec1..9f021115d5d 100644 --- a/client/mysqlbinlog.cc +++ b/client/mysqlbinlog.cc @@ -1926,7 +1926,7 @@ int main(int argc, char** argv) DBUG_ENTER("main"); DBUG_PROCESS(argv[0]); - init_time(); // for time functions + my_init_time(); // for time functions parse_args(&argc, (char***)&argv); defaults_argv=argv; diff --git a/client/mysqldump.c b/client/mysqldump.c index cbde58215c7..58959f56a89 100644 --- a/client/mysqldump.c +++ b/client/mysqldump.c @@ -4347,7 +4347,10 @@ static int do_flush_tables_read_lock(MYSQL *mysql_con) update starts between the two FLUSHes, we have that bad stall. */ return - ( mysql_query_with_error_report(mysql_con, 0, "FLUSH TABLES") || + ( mysql_query_with_error_report(mysql_con, 0, + ((opt_master_data != 0) ? + "FLUSH /*!40101 LOCAL */ TABLES" : + "FLUSH TABLES")) || mysql_query_with_error_report(mysql_con, 0, "FLUSH TABLES WITH READ LOCK") ); } diff --git a/client/mysqltest.c b/client/mysqltest.c index bc00d78c205..31d85c36ed1 100644 --- a/client/mysqltest.c +++ b/client/mysqltest.c @@ -1549,7 +1549,7 @@ int dyn_string_cmp(DYNAMIC_STRING* ds, const char *fname) DBUG_ENTER("dyn_string_cmp"); DBUG_PRINT("enter", ("fname: %s", fname)); - if ((fd= create_temp_file(temp_file_path, NULL, + if ((fd= create_temp_file(temp_file_path, TMPDIR, "tmp", O_CREAT | O_SHARE | O_RDWR, MYF(MY_WME))) < 0) die("Failed to create temporary file for ds"); @@ -5669,6 +5669,7 @@ void init_win_path_patterns() const char* paths[] = { "$MYSQL_TEST_DIR", "$MYSQL_TMP_DIR", "$MYSQLTEST_VARDIR", + "$MASTER_MYSOCK", "./test/" }; int num_paths= sizeof(paths)/sizeof(char*); int i; @@ -5773,8 +5774,10 @@ void fix_win_paths(const char *val, int len) */ void append_field(DYNAMIC_STRING *ds, uint col_idx, MYSQL_FIELD* field, - const char* val, ulonglong len, my_bool is_null) + char* val, ulonglong len, my_bool is_null) { + char null[]= "NULL"; + if (col_idx < max_replace_column && replace_column[col_idx]) { val= replace_column[col_idx]; @@ -5782,7 +5785,7 @@ void append_field(DYNAMIC_STRING *ds, uint col_idx, MYSQL_FIELD* field, } else if (is_null) { - val= "NULL"; + val= null; len= 4; } #ifdef __WIN__ @@ -5796,9 +5799,18 @@ void append_field(DYNAMIC_STRING *ds, uint col_idx, MYSQL_FIELD* field, (start[1] == '-' || start[1] == '+') && start[2] == '0') { start+=2; /* Now points at first '0' */ - /* Move all chars after the first '0' one step left */ - memmove(start, start + 1, strlen(start)); - len--; + if (field->flags & ZEROFILL_FLAG) + { + /* Move all chars before the first '0' one step right */ + memmove(val + 1, val, start - val); + *val= '0'; + } + else + { + /* Move all chars after the first '0' one step left */ + memmove(start, start + 1, strlen(start)); + len--; + } } } #endif @@ -5837,7 +5849,7 @@ void append_result(DYNAMIC_STRING *ds, MYSQL_RES *res) lengths = mysql_fetch_lengths(res); for (i = 0; i < num_fields; i++) append_field(ds, i, &fields[i], - (const char*)row[i], lengths[i], !row[i]); + row[i], lengths[i], !row[i]); if (!display_result_vertically) dynstr_append_mem(ds, "\n", 1); } @@ -5886,7 +5898,7 @@ void append_stmt_result(DYNAMIC_STRING *ds, MYSQL_STMT *stmt, while (mysql_stmt_fetch(stmt) == 0) { for (i= 0; i < num_fields; i++) - append_field(ds, i, &fields[i], (const char *) my_bind[i].buffer, + append_field(ds, i, &fields[i], my_bind[i].buffer, *my_bind[i].length, *my_bind[i].is_null); if (!display_result_vertically) dynstr_append_mem(ds, "\n", 1); @@ -8284,8 +8296,6 @@ uint replace_len(char * str) uint len=0; while (*str) { - if (str[0] == '\\' && str[1]) - str++; str++; len++; } @@ -8298,7 +8308,6 @@ REPLACE *init_replace(char * *from, char * *to,uint count, char * word_end_chars) { static const int SPACE_CHAR= 256; - static const int START_OF_LINE= 257; static const int END_OF_LINE= 258; uint i,j,states,set_nr,len,result_len,max_length,found_end,bits_set,bit_nr; @@ -8384,35 +8393,7 @@ REPLACE *init_replace(char * *from, char * *to,uint count, } for (pos=from[i], len=0; *pos ; pos++) { - if (*pos == '\\' && *(pos+1)) - { - pos++; - switch (*pos) { - case 'b': - follow_ptr->chr = SPACE_CHAR; - break; - case '^': - follow_ptr->chr = START_OF_LINE; - break; - case '$': - follow_ptr->chr = END_OF_LINE; - break; - case 'r': - follow_ptr->chr = '\r'; - break; - case 't': - follow_ptr->chr = '\t'; - break; - case 'v': - follow_ptr->chr = '\v'; - break; - default: - follow_ptr->chr = (uchar) *pos; - break; - } - } - else - follow_ptr->chr= (uchar) *pos; + follow_ptr->chr= (uchar) *pos; follow_ptr->table_offset=i; follow_ptr->len= ++len; follow_ptr++; diff --git a/configure.in b/configure.in index 975023d3470..fbdbf3eeb9f 100644 --- a/configure.in +++ b/configure.in @@ -10,7 +10,7 @@ AC_CANONICAL_SYSTEM # # When changing major version number please also check switch statement # in mysqlbinlog::check_master_version(). -AM_INIT_AUTOMAKE(mysql, 5.1.25-rc) +AM_INIT_AUTOMAKE(mysql, 5.1.26-rc) AM_CONFIG_HEADER([include/config.h:config.h.in]) PROTOCOL_VERSION=10 diff --git a/include/errmsg.h b/include/errmsg.h index e7b59ca8bd7..a6d8c770de8 100644 --- a/include/errmsg.h +++ b/include/errmsg.h @@ -96,6 +96,7 @@ extern const char *client_errors[]; /* Error messages */ #define CR_NOT_IMPLEMENTED 2054 #define CR_SERVER_LOST_EXTENDED 2055 #define CR_STMT_CLOSED 2056 -#define CR_ERROR_LAST /*Copy last error nr:*/ 2056 +#define CR_NEW_STMT_METADATA 2057 +#define CR_ERROR_LAST /*Copy last error nr:*/ 2057 /* Add error numbers before CR_ERROR_LAST and change it accordingly. */ diff --git a/include/my_global.h b/include/my_global.h index a9e381ee66f..6cfc4d67305 100644 --- a/include/my_global.h +++ b/include/my_global.h @@ -570,7 +570,7 @@ typedef unsigned short ushort; #define CMP_NUM(a,b) (((a) < (b)) ? -1 : ((a) == (b)) ? 0 : 1) #define sgn(a) (((a) < 0) ? -1 : ((a) > 0) ? 1 : 0) -#define swap_variables(t, a, b) { register t dummy; dummy= a; a= b; b= dummy; } +#define swap_variables(t, a, b) { t dummy; dummy= a; a= b; b= dummy; } #define test(a) ((a) ? 1 : 0) #define set_if_bigger(a,b) do { if ((a) < (b)) (a)=(b); } while(0) #define set_if_smaller(a,b) do { if ((a) > (b)) (a)=(b); } while(0) diff --git a/include/my_sys.h b/include/my_sys.h index eccb61f5b29..09c768cadb7 100644 --- a/include/my_sys.h +++ b/include/my_sys.h @@ -90,6 +90,9 @@ extern int NEAR my_errno; /* Last error in mysys */ #define ME_COLOUR1 ((1 << ME_HIGHBYTE)) /* Possibly error-colours */ #define ME_COLOUR2 ((2 << ME_HIGHBYTE)) #define ME_COLOUR3 ((3 << ME_HIGHBYTE)) +#define ME_FATALERROR 1024 /* Fatal statement error */ +#define ME_NO_WARNING_FOR_ERROR 2048 /* Don't push a warning for error */ +#define ME_NO_SP_HANDLER 4096 /* Don't call stored routine error handlers */ /* Bits in last argument to fn_format */ #define MY_REPLACE_DIR 1 /* replace dir in name with 'dir' */ diff --git a/include/my_time.h b/include/my_time.h index af3fc103530..58995f1bf62 100644 --- a/include/my_time.h +++ b/include/my_time.h @@ -95,7 +95,7 @@ long calc_daynr(uint year,uint month,uint day); uint calc_days_in_year(uint year); uint year_2000_handling(uint year); -void init_time(void); +void my_init_time(void); /* diff --git a/include/myisammrg.h b/include/myisammrg.h index cc6e6aac6cd..dafae157ee0 100644 --- a/include/myisammrg.h +++ b/include/myisammrg.h @@ -112,6 +112,7 @@ extern int myrg_reset(MYRG_INFO *info); extern void myrg_extrafunc(MYRG_INFO *info,invalidator_by_filename inv); extern ha_rows myrg_records_in_range(MYRG_INFO *info, int inx, key_range *min_key, key_range *max_key); +extern ha_rows myrg_records(MYRG_INFO *info); extern ulonglong myrg_position(MYRG_INFO *info); #ifdef __cplusplus diff --git a/include/mysql_com.h b/include/mysql_com.h index 25bf58e58ba..db5a5eb8741 100644 --- a/include/mysql_com.h +++ b/include/mysql_com.h @@ -184,19 +184,38 @@ enum enum_server_command #define SERVER_MORE_RESULTS_EXISTS 8 /* Multi query - next query exists */ #define SERVER_QUERY_NO_GOOD_INDEX_USED 16 #define SERVER_QUERY_NO_INDEX_USED 32 -/* +/** The server was able to fulfill the clients request and opened a read-only non-scrollable cursor for a query. This flag comes in reply to COM_STMT_EXECUTE and COM_STMT_FETCH commands. */ #define SERVER_STATUS_CURSOR_EXISTS 64 -/* +/** This flag is sent when a read-only cursor is exhausted, in reply to COM_STMT_FETCH command. */ #define SERVER_STATUS_LAST_ROW_SENT 128 #define SERVER_STATUS_DB_DROPPED 256 /* A database was dropped */ #define SERVER_STATUS_NO_BACKSLASH_ESCAPES 512 +/** + Sent to the client if after a prepared statement reprepare + we discovered that the new statement returns a different + number of result set columns. +*/ +#define SERVER_STATUS_METADATA_CHANGED 1024 + +/** + Server status flags that must be cleared when starting + execution of a new SQL statement. + Flags from this set are only added to the + current server status by the execution engine, but + never removed -- the execution engine expects them + to disappear automagically by the next command. +*/ +#define SERVER_STATUS_CLEAR_SET (SERVER_QUERY_NO_GOOD_INDEX_USED| \ + SERVER_QUERY_NO_INDEX_USED|\ + SERVER_MORE_RESULTS_EXISTS|\ + SERVER_STATUS_METADATA_CHANGED) #define MYSQL_ERRMSG_SIZE 512 #define NET_READ_TIMEOUT 30 /* Timeout on read */ @@ -205,6 +224,7 @@ enum enum_server_command #define ONLY_KILL_QUERY 1 + struct st_vio; /* Only C */ typedef struct st_vio Vio; diff --git a/libmysql/errmsg.c b/libmysql/errmsg.c index e7f495d1f43..95ee6862aa8 100644 --- a/libmysql/errmsg.c +++ b/libmysql/errmsg.c @@ -84,6 +84,7 @@ const char *client_errors[]= "This feature is not implemented yet", "Lost connection to MySQL server at '%s', system error: %d", "Statement closed indirectly because of a preceeding %s() call", + "The number of columns in the result set differs from the number of bound buffers. You must reset the statement, rebind the result set columns, and execute the statement again", "" }; @@ -149,6 +150,7 @@ const char *client_errors[]= "This feature is not implemented yet", "Lost connection to MySQL server at '%s', system error: %d", "Statement closed indirectly because of a preceeding %s() call", + "The number of columns in the result set differs from the number of bound buffers. You must reset the statement, rebind the result set columns, and execute the statement again", "" }; @@ -212,6 +214,7 @@ const char *client_errors[]= "This feature is not implemented yet", "Lost connection to MySQL server at '%s', system error: %d", "Statement closed indirectly because of a preceeding %s() call", + "The number of columns in the result set differs from the number of bound buffers. You must reset the statement, rebind the result set columns, and execute the statement again", "" }; #endif diff --git a/libmysql/libmysql.c b/libmysql/libmysql.c index 15be5e34dff..1eab4199deb 100644 --- a/libmysql/libmysql.c +++ b/libmysql/libmysql.c @@ -1706,6 +1706,7 @@ static my_bool setup_one_fetch_function(MYSQL_BIND *, MYSQL_FIELD *field); #define RESET_SERVER_SIDE 1 #define RESET_LONG_DATA 2 #define RESET_STORE_RESULT 4 +#define RESET_CLEAR_ERROR 8 static my_bool reset_stmt_handle(MYSQL_STMT *stmt, uint flags); @@ -2090,7 +2091,7 @@ mysql_stmt_prepare(MYSQL_STMT *stmt, const char *query, ulong length) To be removed when all commands will fully support prepared mode. */ -static unsigned int alloc_stmt_fields(MYSQL_STMT *stmt) +static void alloc_stmt_fields(MYSQL_STMT *stmt) { MYSQL_FIELD *fields, *field, *end; MEM_ROOT *alloc= &stmt->mem_root; @@ -2108,7 +2109,10 @@ static unsigned int alloc_stmt_fields(MYSQL_STMT *stmt) !(stmt->bind= (MYSQL_BIND *) alloc_root(alloc, sizeof(MYSQL_BIND) * stmt->field_count))) - return 0; + { + set_stmt_error(stmt, CR_OUT_OF_MEMORY, unknown_sqlstate, NULL); + return; + } for (fields= mysql->fields, end= fields+stmt->field_count, field= stmt->fields; @@ -2127,13 +2131,15 @@ static unsigned int alloc_stmt_fields(MYSQL_STMT *stmt) field->def = fields->def ? strdup_root(alloc,fields->def): 0; field->max_length= 0; } - return stmt->field_count; } -/* +/** Update result set columns metadata if it was sent again in reply to COM_STMT_EXECUTE. + + @note If the new field count is different from the original one, + an error is set and no update is performed. */ static void update_stmt_fields(MYSQL_STMT *stmt) @@ -2143,7 +2149,22 @@ static void update_stmt_fields(MYSQL_STMT *stmt) MYSQL_FIELD *stmt_field= stmt->fields; MYSQL_BIND *my_bind= stmt->bind_result_done ? stmt->bind : 0; - DBUG_ASSERT(stmt->field_count == stmt->mysql->field_count); + if (stmt->field_count != stmt->mysql->field_count) + { + /* + The tables used in the statement were altered, + and the query now returns a different number of columns. + There is no way to continue without reallocating the bind + array: + - if the number of columns increased, mysql_stmt_fetch() + will write beyond allocated memory + - if the number of columns decreased, some user-bound + buffers will be left unassigned without user knowing + that. + */ + set_stmt_error(stmt, CR_NEW_STMT_METADATA, unknown_sqlstate, NULL); + return; + } for (; field < field_end; ++field, ++stmt_field) { @@ -2792,6 +2813,50 @@ my_bool STDCALL mysql_stmt_attr_get(MYSQL_STMT *stmt, } +/** + Update statement result set metadata from with the new field + information sent during statement execute. + + @pre mysql->field_count is not zero + + @retval TRUE if error: out of memory or the new + result set has a different number of columns + @retval FALSE success +*/ + +static void reinit_result_set_metadata(MYSQL_STMT *stmt) +{ + /* Server has sent result set metadata */ + if (stmt->field_count == 0) + { + /* + This is 'SHOW'/'EXPLAIN'-like query. Current implementation of + prepared statements can't send result set metadata for these queries + on prepare stage. Read it now. + */ + alloc_stmt_fields(stmt); + } + else + { + /* + Update result set metadata if it for some reason changed between + prepare and execute, i.e.: + - in case of 'SELECT ?' we don't know column type unless data was + supplied to mysql_stmt_execute, so updated column type is sent + now. + - if data dictionary changed between prepare and execute, for + example a table used in the query was altered. + Note, that now (4.1.3) we always send metadata in reply to + COM_STMT_EXECUTE (even if it is not necessary), so either this or + previous branch always works. + TODO: send metadata only when it's really necessary and add a warning + 'Metadata changed' when it's sent twice. + */ + update_stmt_fields(stmt); + } +} + + /* Send placeholders data to server (if there are placeholders) and execute prepared statement. @@ -2847,7 +2912,7 @@ int STDCALL mysql_stmt_execute(MYSQL_STMT *stmt) DBUG_RETURN(1); } - if (reset_stmt_handle(stmt, RESET_STORE_RESULT)) + if (reset_stmt_handle(stmt, RESET_STORE_RESULT | RESET_CLEAR_ERROR)) DBUG_RETURN(1); /* No need to check for stmt->state: if the statement wasn't @@ -2855,40 +2920,10 @@ int STDCALL mysql_stmt_execute(MYSQL_STMT *stmt) */ if (mysql->methods->stmt_execute(stmt)) DBUG_RETURN(1); + stmt->state= MYSQL_STMT_EXECUTE_DONE; if (mysql->field_count) { - /* Server has sent result set metadata */ - if (stmt->field_count == 0) - { - /* - This is 'SHOW'/'EXPLAIN'-like query. Current implementation of - prepared statements can't send result set metadata for these queries - on prepare stage. Read it now. - */ - alloc_stmt_fields(stmt); - } - else - { - /* - Update result set metadata if it for some reason changed between - prepare and execute, i.e.: - - in case of 'SELECT ?' we don't know column type unless data was - supplied to mysql_stmt_execute, so updated column type is sent - now. - - if data dictionary changed between prepare and execute, for - example a table used in the query was altered. - Note, that now (4.1.3) we always send metadata in reply to - COM_STMT_EXECUTE (even if it is not necessary), so either this or - previous branch always works. - TODO: send metadata only when it's really necessary and add a warning - 'Metadata changed' when it's sent twice. - */ - update_stmt_fields(stmt); - } - } - stmt->state= MYSQL_STMT_EXECUTE_DONE; - if (stmt->field_count) - { + reinit_result_set_metadata(stmt); if (stmt->server_status & SERVER_STATUS_CURSOR_EXISTS) { mysql->status= MYSQL_STATUS_READY; @@ -2903,7 +2938,7 @@ int STDCALL mysql_stmt_execute(MYSQL_STMT *stmt) network or b) is more efficient if all (few) result set rows are precached on client and server's resources are freed. */ - DBUG_RETURN(mysql_stmt_store_result(stmt)); + mysql_stmt_store_result(stmt); } else { @@ -2912,7 +2947,7 @@ int STDCALL mysql_stmt_execute(MYSQL_STMT *stmt) stmt->read_row_func= stmt_read_row_unbuffered; } } - DBUG_RETURN(0); + DBUG_RETURN(test(stmt->last_errno)); } @@ -4766,6 +4801,12 @@ int STDCALL mysql_stmt_store_result(MYSQL_STMT *stmt) DBUG_RETURN(1); } + if (stmt->last_errno) + { + /* An attempt to use an invalid statement handle. */ + DBUG_RETURN(1); + } + if (mysql->status == MYSQL_STATUS_READY && stmt->server_status & SERVER_STATUS_CURSOR_EXISTS) { @@ -4973,9 +5014,10 @@ static my_bool reset_stmt_handle(MYSQL_STMT *stmt, uint flags) stmt->state= MYSQL_STMT_INIT_DONE; return 1; } - stmt_clear_error(stmt); } } + if (flags & RESET_CLEAR_ERROR) + stmt_clear_error(stmt); stmt->state= MYSQL_STMT_PREPARE_DONE; } return 0; @@ -4986,7 +5028,8 @@ my_bool STDCALL mysql_stmt_free_result(MYSQL_STMT *stmt) DBUG_ENTER("mysql_stmt_free_result"); /* Free the client side and close the server side cursor if there is one */ - DBUG_RETURN(reset_stmt_handle(stmt, RESET_LONG_DATA | RESET_STORE_RESULT)); + DBUG_RETURN(reset_stmt_handle(stmt, RESET_LONG_DATA | RESET_STORE_RESULT | + RESET_CLEAR_ERROR)); } /******************************************************************** @@ -5067,7 +5110,9 @@ my_bool STDCALL mysql_stmt_reset(MYSQL_STMT *stmt) DBUG_RETURN(1); } /* Reset the client and server sides of the prepared statement */ - DBUG_RETURN(reset_stmt_handle(stmt, RESET_SERVER_SIDE | RESET_LONG_DATA)); + DBUG_RETURN(reset_stmt_handle(stmt, + RESET_SERVER_SIDE | RESET_LONG_DATA | + RESET_CLEAR_ERROR)); } /* diff --git a/libmysqld/CMakeLists.txt b/libmysqld/CMakeLists.txt index b1895e98014..97c718627d1 100644 --- a/libmysqld/CMakeLists.txt +++ b/libmysqld/CMakeLists.txt @@ -147,14 +147,12 @@ ENDIF(WITH_CSV_STORAGE_ENGINE) SET(SOURCE_SUBLIBS FALSE) -SET(LIBMYSQLD_SOURCES emb_qcache.cc libmysqld.c lib_sql.cc +SET(LIBMYSQLD_SOURCES emb_qcache.cc libmysqld.c lib_sql.cc ../libmysql/libmysql.c ../libmysql/errmsg.c ../client/get_password.c ../sql-common/client.c ../sql-common/my_time.c ../sql-common/my_user.c ../sql-common/pack.c ../sql/password.c ../sql/discover.cc ../sql/derror.cc - ../sql/event_scheduler.cc ../sql/events.cc - ../sql/event_data_objects.cc ../sql/event_queue.cc - ../sql/event_db_repository.cc ../sql/field.cc ../sql/field_conv.cc + ../sql/field.cc ../sql/field_conv.cc ../sql/filesort.cc ../sql/gstream.cc ../sql/ha_partition.cc ../sql/handler.cc ../sql/hash_filo.cc ../sql/hostname.cc ../sql/init.cc ../sql/item_buff.cc ../sql/item_cmpfunc.cc @@ -187,7 +185,8 @@ SET(LIBMYSQLD_SOURCES emb_qcache.cc libmysqld.c lib_sql.cc ../sql/strfunc.cc ../sql/table.cc ../sql/thr_malloc.cc ../sql/time.cc ../sql/tztime.cc ../sql/uniques.cc ../sql/unireg.cc ../sql/partition_info.cc ../sql/sql_connect.cc - ../sql/scheduler.cc + ../sql/scheduler.cc ../sql/stacktrace.c + ../sql/event_parse_data.cc ${GEN_SOURCES} ${LIB_SOURCES}) diff --git a/libmysqld/Makefile.am b/libmysqld/Makefile.am index c2f342367dd..504980cbd07 100644 --- a/libmysqld/Makefile.am +++ b/libmysqld/Makefile.am @@ -73,12 +73,10 @@ sqlsources = derror.cc field.cc field_conv.cc strfunc.cc filesort.cc \ spatial.cc gstream.cc sql_help.cc tztime.cc sql_cursor.cc \ sp_head.cc sp_pcontext.cc sp.cc sp_cache.cc sp_rcontext.cc \ parse_file.cc sql_view.cc sql_trigger.cc my_decimal.cc \ - event_scheduler.cc events.cc event_data_objects.cc \ - event_queue.cc event_db_repository.cc \ rpl_filter.cc sql_partition.cc sql_builtin.cc sql_plugin.cc \ sql_tablespace.cc \ rpl_injector.cc my_user.c partition_info.cc \ - sql_servers.cc + sql_servers.cc event_parse_data.cc libmysqld_int_a_SOURCES= $(libmysqld_sources) nodist_libmysqld_int_a_SOURCES= $(libmysqlsources) $(sqlsources) diff --git a/libmysqld/lib_sql.cc b/libmysqld/lib_sql.cc index ec9356ce98d..591b76f61ad 100644 --- a/libmysqld/lib_sql.cc +++ b/libmysqld/lib_sql.cc @@ -285,7 +285,7 @@ static int emb_stmt_execute(MYSQL_STMT *stmt) my_bool res; int4store(header, stmt->stmt_id); - header[4]= stmt->flags; + header[4]= (uchar) stmt->flags; thd= (THD*)stmt->mysql->thd; thd->client_param_count= stmt->param_count; thd->client_params= stmt->params; @@ -848,7 +848,7 @@ void Protocol_text::remove_last_row() { MYSQL_DATA *data= thd->cur_data; MYSQL_ROWS **last_row_hook= &data->data; - uint count= data->rows; + my_ulonglong count= data->rows; DBUG_ENTER("Protocol_text::remove_last_row"); while (--count) last_row_hook= &(*last_row_hook)->next; @@ -1124,6 +1124,9 @@ bool Protocol::net_store_data(const uchar *from, size_t length) return FALSE; } +#if defined(_MSC_VER) && _MSC_VER < 1400 +#define vsnprintf _vsnprintf +#endif int vprint_msg_to_log(enum loglevel level __attribute__((unused)), const char *format, va_list argsi) diff --git a/mysql-test/extra/rpl_tests/rpl_insert_id.test b/mysql-test/extra/rpl_tests/rpl_insert_id.test index 8ee98e0bc76..d8ea267d62b 100644 --- a/mysql-test/extra/rpl_tests/rpl_insert_id.test +++ b/mysql-test/extra/rpl_tests/rpl_insert_id.test @@ -28,9 +28,17 @@ drop table if exists t1, t2, t3; -- source include/master-slave.inc #should work for both SBR and RBR +# If concurrent inserts are on, it is not guaranteed that the rows +# inserted by INSERT are immediately accessible by SELECT in another +# thread. This would cause problems near the line 'connection master1' +# below. So we turn off concurrent inserts. connection master; -create table t1(a int auto_increment, key(a)); -create table t2(b int auto_increment, c int, key(b)); +SET @old_concurrent_insert= @@global.concurrent_insert; +SET @@global.concurrent_insert= 0; + +connection master; +eval create table t1(a int auto_increment, key(a)) engine=$engine_type; +eval create table t2(b int auto_increment, c int, key(b)) engine=$engine_type; insert into t1 values (1),(2),(3); insert into t1 values (null); insert into t2 values (null,last_insert_id()); @@ -68,8 +76,8 @@ connection master; drop table t2; drop table t1; -create table t1(a int auto_increment, key(a)); -create table t2(b int auto_increment, c int, key(b)); +eval create table t1(a int auto_increment, key(a)) engine=$engine_type; +eval create table t2(b int auto_increment, c int, key(b)) engine=$engine_type; insert into t1 values (10); insert into t1 values (null),(null),(null); insert into t2 values (5,0); @@ -94,7 +102,7 @@ sync_with_master; connection master; SET TIMESTAMP=1000000000; -CREATE TABLE t1 ( a INT UNIQUE ); +eval CREATE TABLE t1 ( a INT UNIQUE ) engine=$engine_type; SET FOREIGN_KEY_CHECKS=0; # Duplicate Key Errors --error 1022, ER_DUP_ENTRY @@ -109,8 +117,8 @@ sync_slave_with_master; --echo # connection master; -create table t1(a int auto_increment, key(a)); -create table t2(a int); +eval create table t1(a int auto_increment, key(a)) engine=$engine_type; +eval create table t2(a int) engine=$engine_type; insert into t1 (a) values (null); insert into t2 (a) select a from t1 where a is null; insert into t2 (a) select a from t1 where a is null; @@ -139,11 +147,11 @@ drop function if exists bug15728_insert; drop table if exists t1, t2; --enable_warnings -create table t1 ( +eval create table t1 ( id int not null auto_increment, last_id int, primary key (id) -); +) engine=$engine_type; create function bug15728() returns int(11) return last_insert_id(); @@ -152,11 +160,11 @@ insert into t1 (last_id) values (last_insert_id()); insert into t1 (last_id) values (bug15728()); # Check that nested call replicates too. -create table t2 ( +eval create table t2 ( id int not null auto_increment, last_id int, primary key (id) -); +) engine=$engine_type; delimiter |; create function bug15728_insert() returns int(11) modifies sql data begin @@ -215,8 +223,8 @@ drop procedure foo; # test of BUG#20188 REPLACE or ON DUPLICATE KEY UPDATE in # auto_increment breaks binlog -create table t1 (n int primary key auto_increment not null, -b int, unique(b)); +eval create table t1 (n int primary key auto_increment not null, + b int, unique(b)) engine=$engine_type; # First, test that we do not call restore_auto_increment() too early # in write_record(): @@ -257,8 +265,8 @@ select * from t1 order by n; # and now test for the bug: connection master; drop table t1; -create table t1 (n int primary key auto_increment not null, -b int, unique(b)); +eval create table t1 (n int primary key auto_increment not null, + b int, unique(b)) engine=$engine_type; insert into t1 values(null,100); select * from t1 order by n; sync_slave_with_master; @@ -282,29 +290,29 @@ sync_slave_with_master; connection master; # testcase with INSERT VALUES -CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b INT, -UNIQUE(b)); +eval CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b INT, + UNIQUE(b)) ENGINE=$engine_type; INSERT INTO t1(b) VALUES(1),(1),(2) ON DUPLICATE KEY UPDATE t1.b=10; -SELECT * FROM t1; +SELECT * FROM t1 ORDER BY a; sync_slave_with_master; -SELECT * FROM t1; +SELECT * FROM t1 ORDER BY a; connection master; drop table t1; # tescase with INSERT SELECT -CREATE TABLE t1 ( +eval CREATE TABLE t1 ( id bigint(20) unsigned NOT NULL auto_increment, field_1 int(10) unsigned NOT NULL, field_2 varchar(255) NOT NULL, field_3 varchar(255) NOT NULL, PRIMARY KEY (id), UNIQUE KEY field_1 (field_1, field_2) -); -CREATE TABLE t2 ( +) ENGINE=$engine_type; +eval CREATE TABLE t2 ( field_a int(10) unsigned NOT NULL, field_b varchar(255) NOT NULL, field_c varchar(255) NOT NULL -); +) ENGINE=$engine_type; INSERT INTO t2 (field_a, field_b, field_c) VALUES (1, 'a', '1a'); INSERT INTO t2 (field_a, field_b, field_c) VALUES (2, 'b', '2b'); INSERT INTO t2 (field_a, field_b, field_c) VALUES (3, 'c', '3c'); @@ -324,9 +332,9 @@ SELECT t2.field_a, t2.field_b, t2.field_c FROM t2 ON DUPLICATE KEY UPDATE t1.field_3 = t2.field_c; -SELECT * FROM t1; +SELECT * FROM t1 ORDER BY id; sync_slave_with_master; -SELECT * FROM t1; +SELECT * FROM t1 ORDER BY id; connection master; drop table t1, t2; @@ -348,17 +356,17 @@ DROP TABLE IF EXISTS t1, t2; # Reset result of LAST_INSERT_ID(). SELECT LAST_INSERT_ID(0); -CREATE TABLE t1 ( +eval CREATE TABLE t1 ( id INT NOT NULL DEFAULT 0, last_id INT, PRIMARY KEY (id) -); +) ENGINE=$engine_type; -CREATE TABLE t2 ( +eval CREATE TABLE t2 ( id INT NOT NULL AUTO_INCREMENT, last_id INT, PRIMARY KEY (id) -); +) ENGINE=$engine_type; delimiter |; CREATE PROCEDURE p1() @@ -369,12 +377,12 @@ END| delimiter ;| CALL p1(); -SELECT * FROM t1; -SELECT * FROM t2; +SELECT * FROM t1 ORDER BY id; +SELECT * FROM t2 ORDER BY id; sync_slave_with_master; -SELECT * FROM t1; -SELECT * FROM t2; +SELECT * FROM t1 ORDER BY id; +SELECT * FROM t2 ORDER BY id; connection master; @@ -394,11 +402,11 @@ DROP FUNCTION IF EXISTS f3; DROP TABLE IF EXISTS t1, t2; --enable_warnings -CREATE TABLE t1 ( +eval CREATE TABLE t1 ( i INT NOT NULL AUTO_INCREMENT PRIMARY KEY, j INT DEFAULT 0 -); -CREATE TABLE t2 (i INT); +) ENGINE=$engine_type; +eval CREATE TABLE t2 (i INT) ENGINE=$engine_type; delimiter |; CREATE PROCEDURE p1() @@ -443,14 +451,16 @@ UPDATE t1 SET j= -1 WHERE i IS NULL; # Test statement-based replication of function calls. INSERT INTO t1 (i) VALUES (NULL); +# Here, we rely on having set @@concurrent_insert= 0 (see comment at +# the top of this file). connection master1; INSERT INTO t1 (i) VALUES (NULL); connection master; SELECT f3(); -SELECT * FROM t1; -SELECT * FROM t2; +SELECT * FROM t1 ORDER BY i; +SELECT * FROM t2 ORDER BY i; sync_slave_with_master; SELECT * FROM t1; @@ -472,11 +482,11 @@ sync_slave_with_master; # Tests in this file are tightly bound together. Recreate t2. connection master; -create table t2 ( +eval create table t2 ( id int not null auto_increment, last_id int, primary key (id) -); +) engine=$engine_type; # Test for BUG#20341 "stored function inserting into one @@ -484,7 +494,8 @@ create table t2 ( connection master; truncate table t2; -create table t1 (id tinyint primary key); # no auto_increment +# no auto_increment +eval create table t1 (id tinyint primary key) engine=$engine_type; delimiter |; create function insid() returns int @@ -504,20 +515,20 @@ insert into t2 (id) values(5),(6),(7); delete from t2 where id>=5; set sql_log_bin=1; insert into t1 select insid(); -select * from t1; -select * from t2; +select * from t1 order by id; +select * from t2 order by id; sync_slave_with_master; -select * from t1; -select * from t2; +select * from t1 order by id; +select * from t2 order by id; connection master; drop table t1; drop function insid; truncate table t2; -create table t1 (n int primary key auto_increment not null, -b int, unique(b)); +eval create table t1 (n int primary key auto_increment not null, + b int, unique(b)) engine=$engine_type; delimiter |; create procedure foo() begin @@ -528,14 +539,15 @@ begin end| delimiter ;| call foo(); -select * from t1; -select * from t2; +select * from t1 order by n; +select * from t2 order by id; sync_slave_with_master; -select * from t1; -select * from t2; +select * from t1 order by n; +select * from t2 order by id; connection master; drop table t1, t2; drop procedure foo; +SET @@global.concurrent_insert= @old_concurrent_insert; sync_slave_with_master; diff --git a/mysql-test/include/binlog_cache_size_basic.inc b/mysql-test/include/binlog_cache_size_basic.inc new file mode 100644 index 00000000000..323e19c4d66 --- /dev/null +++ b/mysql-test/include/binlog_cache_size_basic.inc @@ -0,0 +1,154 @@ +################# mysql-test\t\binlog_cache_size_basic.test #################### +# # +# Variable Name: binlog_cache_size # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: Numeric # +# Default Value: 32768 # +# Range: 4096 - 4294967295 # +# # +# # +# Creation Date: 2008-04-28 # +# Author: Salman Rawala/Horst Hunger # +# # +# Description: Test Cases of Dynamic System Variable "binlog_cache_size" # +# that checks behavior of this variable in the following ways # +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity . # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html#option_mysqld_binlog_cache_size # +# # +################################################################################ + +################################################################# +# START OF binlog_cache_size TESTS # +################################################################# + +######################################################################### +# Saving initial value of binlog_cache_size in a temporary variable # +######################################################################### + +SET @start_value = @@global.binlog_cache_size; +SELECT @start_value; + +--echo '#--------------------FN_DYNVARS_006_01------------------------#' +######################################################################### +# Display the DEFAULT value of binlog_cache_size # +######################################################################### + +SET @@global.binlog_cache_size = 100; +SET @@global.binlog_cache_size = DEFAULT; +SELECT @@global.binlog_cache_size; + + +--echo '#---------------------FN_DYNVARS_006_02-------------------------#' +############################################### +# Verify default value of variable # +############################################### + +SET @@global.binlog_cache_size = @start_value; +SELECT @@global.binlog_cache_size = 32768; + + +--echo '#--------------------FN_DYNVARS_006_03------------------------#' +######################################################################### +# Change the value of binlog_cache_size to a valid value # +######################################################################### + +SET @@global.binlog_cache_size = 4096; +SELECT @@global.binlog_cache_size; +SET @@global.binlog_cache_size = 4294967295; +SELECT @@global.binlog_cache_size; +SET @@global.binlog_cache_size = 10000; +SELECT @@global.binlog_cache_size; +SET @@global.binlog_cache_size = 21221204; +SELECT @@global.binlog_cache_size; +echo 'Bug: Invalid values are coming in variable on assigning valid values'; + + +--echo '#--------------------FN_DYNVARS_006_04-------------------------#' +############################################################################ +# Change the value of binlog_cache_size to invalid value # +############################################################################ + +SET @@global.binlog_cache_size = 1024; +SELECT @@global.binlog_cache_size; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.binlog_cache_size = 10000.01; +SET @@global.binlog_cache_size = -1024; +SELECT @@global.binlog_cache_size; +SET @@global.binlog_cache_size = 42949672950; +SELECT @@global.binlog_cache_size; +echo 'Bug: Errors are not coming on assigning invalid values to variable'; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.binlog_cache_size = ON; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.binlog_cache_size = 'test'; + + +--echo '#-------------------FN_DYNVARS_006_05----------------------------#' +############################################################################ +# Test if accessing session binlog_cache_size gives error # +############################################################################ + +--Error ER_GLOBAL_VARIABLE +SET @@session.binlog_cache_size = 0; + + +--echo '#----------------------FN_DYNVARS_006_06------------------------#' +############################################################################## +# Check if the value in GLOBAL Tables matches values in variable # +############################################################################## + +SELECT @@global.binlog_cache_size = VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='binlog_cache_size'; + +--echo '#---------------------FN_DYNVARS_006_07----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +SET @@global.binlog_cache_size = TRUE; +SELECT @@global.binlog_cache_size; +SET @@global.binlog_cache_size = FALSE; +SELECT @@global.binlog_cache_size; +echo 'Bug: Errors are not coming on assigning TRUE/FALSE to variable'; + +--echo '#---------------------FN_DYNVARS_006_08----------------------#' +############################################################################### +# Check if accessing variable without SCOPE points to same global variable # +############################################################################### + +SET @@global.binlog_cache_size = 1; +SELECT @@binlog_cache_size = @@global.binlog_cache_size; + +--echo '#---------------------FN_DYNVARS_006_09----------------------#' +########################################################################### +# Check if binlog_cache_size can be accessed with and without @@ sign # +########################################################################### + +--Error ER_GLOBAL_VARIABLE +SET binlog_cache_size = 1; +--Error ER_PARSE_ERROR +SET global.binlog_cache_size = 1; +--Error ER_UNKNOWN_TABLE +SELECT global.binlog_cache_size; +--Error ER_BAD_FIELD_ERROR +SELECT binlog_cache_size = @@session.binlog_cache_size; + + +############################## +# Restore initial value # +############################## + +SET @@global.binlog_cache_size = @start_value; +SELECT @@global.binlog_cache_size; + + +########################################################### +# END OF binlog_cache_size TESTS # +########################################################### diff --git a/mysql-test/include/bulk_insert_buffer_size_basic.inc b/mysql-test/include/bulk_insert_buffer_size_basic.inc new file mode 100644 index 00000000000..56ffbace173 --- /dev/null +++ b/mysql-test/include/bulk_insert_buffer_size_basic.inc @@ -0,0 +1,203 @@ +############## mysql-test\t\bulk_insert_buffer_size_basic.test ################# +# # +# Variable Name: bulk_insert_buffer_size # +# Scope: GLOBAL & SESSION # +# Access Type: Dynamic # +# Data Type: Numeric # +# Default Value: 8388608 # +# Range: 0 - 4294967295 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Salman Rawala # +# # +# Description: Test Cases of Dynamic System Variable "bulk_insert_buffer_size" # +# that checks behavior of this variable in the following ways # +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity . # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html#option_mysqld_bulk_insert_buffer_size # +# # +################################################################################ + +--source include/load_sysvars.inc + +####################################################################### +# START OF bulk_insert_buffer_size TESTS # +####################################################################### + +############################################################# +# Save initial value # +############################################################# + +SET @start_global_value = @@global.bulk_insert_buffer_size; +SELECT @start_global_value; +SET @start_session_value = @@session.bulk_insert_buffer_size; +SELECT @start_session_value; + +--echo '#--------------------FN_DYNVARS_007_01-------------------------#' +####################################################################### +# Display the DEFAULT value of bulk_insert_buffer_size # +####################################################################### + +SET @@global.bulk_insert_buffer_size = 100; +SET @@global.bulk_insert_buffer_size = DEFAULT; +SELECT @@global.bulk_insert_buffer_size; + +SET @@session.bulk_insert_buffer_size = 200; +SET @@session.bulk_insert_buffer_size = DEFAULT; +SELECT @@session.bulk_insert_buffer_size; + + +--echo '#--------------------FN_DYNVARS_007_02-------------------------#' +####################################################################### +# Check the DEFAULT value of bulk_insert_buffer_size # +####################################################################### + +SET @@global.bulk_insert_buffer_size = @start_global_value; +SELECT @@global.bulk_insert_buffer_size = 8388608; + +SET @@session.bulk_insert_buffer_size = @start_session_value; +SELECT @@session.bulk_insert_buffer_size = 8388608; + + +--echo '#--------------------FN_DYNVARS_007_03-------------------------#' +############################################################################### +#Change the value of bulk_insert_buffer_size to valid values for GLOBAL Scope # +############################################################################### + +SET @@global.bulk_insert_buffer_size = 0; +SELECT @@global.bulk_insert_buffer_size; +SET @@global.bulk_insert_buffer_size = 1; +SELECT @@global.bulk_insert_buffer_size; +SET @@global.bulk_insert_buffer_size = 4294967295; +SELECT @@global.bulk_insert_buffer_size; +SET @@global.bulk_insert_buffer_size = 429496; +SELECT @@global.bulk_insert_buffer_size; + + +--echo '#--------------------FN_DYNVARS_007_04-------------------------#' +############################################################################### +#Change the value of bulk_insert_buffer_size to valid values for SESSION Scope# +############################################################################### + +SET @@session.bulk_insert_buffer_size = 0; +SELECT @@session.bulk_insert_buffer_size; +SET @@session.bulk_insert_buffer_size = 1; +SELECT @@session.bulk_insert_buffer_size; +SET @@session.bulk_insert_buffer_size = 4294967295; +SELECT @@session.bulk_insert_buffer_size; +SET @@session.bulk_insert_buffer_size = 429496; +SELECT @@session.bulk_insert_buffer_size; + + +--echo '#------------------FN_DYNVARS_007_05-----------------------#' +################################################################### +# Change the value of bulk_insert_buffer_size to an invalid value # +################################################################### + +SET @@global.bulk_insert_buffer_size = 42949672950; +SELECT @@global.bulk_insert_buffer_size; +SET @@global.bulk_insert_buffer_size = -1024; +SELECT @@global.bulk_insert_buffer_size; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.bulk_insert_buffer_size = test; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.bulk_insert_buffer_size = ON; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.bulk_insert_buffer_size = 429496.10; + +SET @@session.bulk_insert_buffer_size = 42949672950; +SELECT @@session.bulk_insert_buffer_size; +SET @@session.bulk_insert_buffer_size = -2; +SELECT @@session.bulk_insert_buffer_size; +echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@session.bulk_insert_buffer_size = test; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@session.bulk_insert_buffer_size = 429496.10; + + +--echo '#------------------FN_DYNVARS_007_06-----------------------#' +#################################################################### +# Check if the value in GLOBAL Table matches value in variable # +#################################################################### + +SELECT @@global.bulk_insert_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='bulk_insert_buffer_size'; + +--echo '#------------------FN_DYNVARS_007_07-----------------------#' +#################################################################### +# Check if the value in SESSION Table matches value in variable # +#################################################################### + +SELECT @@session.bulk_insert_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='bulk_insert_buffer_size'; + + +--echo '#------------------FN_DYNVARS_007_08-----------------------#' +#################################################################### +# Check if TRUE and FALSE values can be used on variable # +#################################################################### + +SET @@global.bulk_insert_buffer_size = TRUE; +SELECT @@global.bulk_insert_buffer_size; +SET @@global.bulk_insert_buffer_size = FALSE; +SELECT @@global.bulk_insert_buffer_size; + +SET @@session.bulk_insert_buffer_size = TRUE; +SELECT @@session.bulk_insert_buffer_size; +SET @@session.bulk_insert_buffer_size = FALSE; +SELECT @@session.bulk_insert_buffer_size; + + +--echo '#---------------------FN_DYNVARS_007_09----------------------#' +############################################################################## +# Check if accessing variable with SESSION,LOCAL and without SCOPE points # +# to same session variable # +############################################################################## + +SET @@bulk_insert_buffer_size = 100; +SELECT @@bulk_insert_buffer_size = @@local.bulk_insert_buffer_size; +SELECT @@local.bulk_insert_buffer_size = @@session.bulk_insert_buffer_size; + + +--echo '#---------------------FN_DYNVARS_007_10----------------------#' +############################################################################### +# Check if bulk_insert_buffer_size can be accessed with and without @@ sign # +############################################################################### + +SET bulk_insert_buffer_size = 1; +SELECT @@bulk_insert_buffer_size; +--Error ER_PARSE_ERROR +SET local.bulk_insert_buffer_size = 1; +--Error ER_UNKNOWN_TABLE +SELECT local.bulk_insert_buffer_size; +--Error ER_PARSE_ERROR +SET session.bulk_insert_buffer_size = 1; +--Error ER_UNKNOWN_TABLE +SELECT session.bulk_insert_buffer_size; +--Error ER_BAD_FIELD_ERROR +SELECT bulk_insert_buffer_size = @@session.bulk_insert_buffer_size; + + +#################################### +# Restore initial value # +#################################### + +SET @@global.bulk_insert_buffer_size = @start_global_value; +SELECT @@global.bulk_insert_buffer_size; +SET @@session.bulk_insert_buffer_size = @start_session_value; +SELECT @@session.bulk_insert_buffer_size; + + +#################################################### +# END OF bulk_insert_buffer_size TESTS # +#################################################### diff --git a/mysql-test/include/charset_basic.inc b/mysql-test/include/charset_basic.inc new file mode 100644 index 00000000000..e3331697f2c --- /dev/null +++ b/mysql-test/include/charset_basic.inc @@ -0,0 +1,81 @@ +# +# This auxiliary script is used by character set test cases. +# + + + +--Error 0,ER_UNKNOWN_CHARACTER_SET +eval SET $charset_variable = big5; +eval SELECT $charset_variable; +eval SET $charset_variable = dec8; +eval SELECT $charset_variable; +eval SET $charset_variable = cp850; +eval SELECT $charset_variable; +eval SET $charset_variable = hp8; +eval SELECT $charset_variable; +eval SET $charset_variable = koi8r; +eval SELECT $charset_variable; +eval SET $charset_variable = latin1; +eval SELECT $charset_variable; +eval SET $charset_variable = latin2; +eval SELECT $charset_variable; +eval SET $charset_variable = swe7; +eval SELECT $charset_variable; +eval SET $charset_variable = ascii; +eval SELECT $charset_variable; +eval SET $charset_variable = ujis; +eval SELECT $charset_variable; +eval SET $charset_variable = sjis; +eval SELECT $charset_variable; +eval SET $charset_variable = hebrew; +eval SELECT $charset_variable; +eval SET $charset_variable = tis620; +eval SELECT $charset_variable; +eval SET $charset_variable = euckr; +eval SELECT $charset_variable; +eval SET $charset_variable = koi8u; +eval SELECT $charset_variable; +eval SET $charset_variable = gb2312; +eval SELECT $charset_variable; +eval SET $charset_variable = greek; +eval SELECT $charset_variable; +eval SET $charset_variable = cp1250; +eval SELECT $charset_variable; +eval SET $charset_variable = gbk; +eval SELECT $charset_variable; +eval SET $charset_variable = latin5; +eval SELECT $charset_variable; +eval SET $charset_variable = armscii8; +eval SELECT $charset_variable; +eval SET $charset_variable = utf8; +eval SELECT $charset_variable; +# Error with Linux +--error 0,ER_WRONG_VALUE_FOR_VAR +eval SET $charset_variable = ucs2; +eval SELECT $charset_variable; +eval SET $charset_variable = cp866; +eval SELECT $charset_variable; +eval SET $charset_variable = keybcs2; +eval SELECT $charset_variable; +eval SET $charset_variable = macce; +eval SELECT $charset_variable; +eval SET $charset_variable = macroman; +eval SELECT $charset_variable; +eval SET $charset_variable = cp852; +eval SELECT $charset_variable; +eval SET $charset_variable = latin7; +eval SELECT $charset_variable; +eval SET $charset_variable = cp1251; +eval SELECT $charset_variable; +eval SET $charset_variable = cp1256; +eval SELECT $charset_variable; +eval SET $charset_variable = cp1257; +eval SELECT $charset_variable; +eval SET $charset_variable = binary; +eval SELECT $charset_variable; +eval SET $charset_variable = geostd8; +eval SELECT $charset_variable; +eval SET $charset_variable = cp932; +eval SELECT $charset_variable; +eval SET $charset_variable = eucjpms; +eval SELECT $charset_variable; diff --git a/mysql-test/include/collation_basic.inc b/mysql-test/include/collation_basic.inc new file mode 100644 index 00000000000..be8ae36eeb8 --- /dev/null +++ b/mysql-test/include/collation_basic.inc @@ -0,0 +1,258 @@ +# +# This auxiliary file is used by collation variables +# +--Error 0,ER_UNKNOWN_CHARACTER_SET +eval SET $collation_variable = big5_chinese_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = big5_bin; +eval SELECT $collation_variable; +eval SET $collation_variable = dec8_swedish_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = dec8_bin; +eval SELECT $collation_variable; +eval SET $collation_variable = cp850_general_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = cp850_bin; +eval SELECT $collation_variable; +eval SET $collation_variable = hp8_english_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = hp8_bin; +eval SELECT $collation_variable; +eval SET $collation_variable = koi8r_general_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = koi8r_bin; +eval SELECT $collation_variable; +eval SET $collation_variable = latin1_german1_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = latin1_swedish_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = latin1_danish_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = latin1_german2_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = latin1_bin; +eval SELECT $collation_variable; +eval SET $collation_variable = latin1_general_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = latin1_general_cs; +eval SELECT $collation_variable; +eval SET $collation_variable = latin1_spanish_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = latin2_czech_cs; +eval SELECT $collation_variable; +eval SET $collation_variable = latin2_general_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = latin2_hungarian_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = latin2_croatian_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = latin2_bin; +eval SELECT $collation_variable; +eval SET $collation_variable = swe7_swedish_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = swe7_bin; +eval SELECT $collation_variable; +eval SET $collation_variable = ascii_general_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = ascii_bin; +eval SELECT $collation_variable; +eval SET $collation_variable = ujis_japanese_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = ujis_bin; +eval SELECT $collation_variable; +eval SET $collation_variable = sjis_japanese_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = sjis_bin; +eval SELECT $collation_variable; +eval SET $collation_variable = hebrew_general_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = hebrew_bin; +eval SELECT $collation_variable; +eval SET $collation_variable = tis620_thai_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = tis620_bin; +eval SELECT $collation_variable; +eval SET $collation_variable = euckr_korean_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = euckr_bin; +eval SELECT $collation_variable; +eval SET $collation_variable = koi8u_general_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = koi8u_bin; +eval SELECT $collation_variable; +eval SET $collation_variable = gb2312_chinese_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = gb2312_bin; +eval SELECT $collation_variable; +eval SET $collation_variable = greek_general_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = greek_bin; +eval SELECT $collation_variable; +eval SET $collation_variable = cp1250_general_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = cp1250_czech_cs; +eval SELECT $collation_variable; +eval SET $collation_variable = cp1250_croatian_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = cp1250_bin; +eval SELECT $collation_variable; +eval SET $collation_variable = cp1250_polish_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = gbk_chinese_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = gbk_bin; +eval SELECT $collation_variable; +eval SET $collation_variable = latin5_turkish_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = latin5_bin; +eval SELECT $collation_variable; +eval SET $collation_variable = armscii8_general_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = armscii8_bin; +eval SELECT $collation_variable; +eval SET $collation_variable = utf8_general_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = utf8_bin; +eval SELECT $collation_variable; +eval SET $collation_variable = utf8_unicode_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = utf8_icelandic_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = utf8_latvian_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = utf8_romanian_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = utf8_slovenian_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = utf8_polish_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = utf8_estonian_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = utf8_spanish_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = utf8_swedish_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = utf8_turkish_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = utf8_czech_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = utf8_danish_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = utf8_lithuanian_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = utf8_slovak_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = utf8_spanish2_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = utf8_roman_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = utf8_persian_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = utf8_esperanto_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = utf8_hungarian_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = ucs2_general_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = ucs2_bin; +eval SELECT $collation_variable; +eval SET $collation_variable = ucs2_unicode_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = ucs2_icelandic_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = ucs2_latvian_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = ucs2_romanian_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = ucs2_slovenian_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = ucs2_polish_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = ucs2_estonian_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = ucs2_spanish_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = ucs2_swedish_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = ucs2_turkish_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = ucs2_czech_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = ucs2_danish_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = ucs2_lithuanian_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = ucs2_slovak_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = ucs2_spanish2_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = ucs2_roman_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = ucs2_persian_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = ucs2_esperanto_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = ucs2_hungarian_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = cp866_general_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = cp866_bin; +eval SELECT $collation_variable; +eval SET $collation_variable = keybcs2_general_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = keybcs2_bin; +eval SELECT $collation_variable; +eval SET $collation_variable = macce_general_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = macce_bin; +eval SELECT $collation_variable; +eval SET $collation_variable = macroman_general_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = macroman_bin; +eval SELECT $collation_variable; +eval SET $collation_variable = cp852_general_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = cp852_bin; +eval SELECT $collation_variable; +eval SET $collation_variable = latin7_estonian_cs; +eval SELECT $collation_variable; +eval SET $collation_variable = latin7_general_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = latin7_general_cs; +eval SELECT $collation_variable; +eval SET $collation_variable = latin7_bin; +eval SELECT $collation_variable; +eval SET $collation_variable = cp1251_bulgarian_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = cp1251_ukrainian_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = cp1251_bin; +eval SELECT $collation_variable; +eval SET $collation_variable = cp1251_general_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = cp1251_general_cs; +eval SELECT $collation_variable; +eval SET $collation_variable = cp1256_general_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = cp1256_bin; +eval SELECT $collation_variable; +eval SET $collation_variable = cp1257_lithuanian_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = cp1257_bin; +eval SELECT $collation_variable; +eval SET $collation_variable = cp1257_general_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = binary; +eval SELECT $collation_variable; +eval SET $collation_variable = geostd8_general_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = geostd8_bin; +eval SELECT $collation_variable; +eval SET $collation_variable = cp932_japanese_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = cp932_bin; +eval SELECT $collation_variable; +eval SET $collation_variable = eucjpms_japanese_ci; +eval SELECT $collation_variable; +eval SET $collation_variable = eucjpms_bin; +eval SELECT $collation_variable; diff --git a/mysql-test/include/delayed_insert_limit_basic.inc b/mysql-test/include/delayed_insert_limit_basic.inc new file mode 100644 index 00000000000..ab158bc593e --- /dev/null +++ b/mysql-test/include/delayed_insert_limit_basic.inc @@ -0,0 +1,167 @@ +############### mysql-test\t\delayed_insert_limit_basic.test ################### +# # +# Variable Name: delayed_insert_limit # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: Numeric # +# Default Value: 100 # +# Range: 1 - 4294967295 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Salman Rawala # +# # +# Description: Test Cases of Dynamic System Variable "delayed_insert_limit" # +# that checks behavior of this variable in the following ways # +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html#option_mysqld_delayed_insert_limit # +# # +################################################################################ + +--source include/load_sysvars.inc + +################################################################# +# START OF delayed_insert_limit TESTS # +################################################################# + +######################################################################### +# Saving initial value of delayed_insert_limit in a temporary variable # +######################################################################### + +SET @start_value = @@global.delayed_insert_limit; +SELECT @start_value; + +--echo '#--------------------FN_DYNVARS_024_01------------------------#' +######################################################################### +# Display the DEFAULT value of delayed_insert_limit # +######################################################################### + +SET @@global.delayed_insert_limit = 100; +SET @@global.delayed_insert_limit = DEFAULT; +SELECT @@global.delayed_insert_limit; + + +--echo '#---------------------FN_DYNVARS_024_02-------------------------#' +############################################### +# Verify default value of variable # +############################################### + +SET @@global.delayed_insert_limit = @start_value; +SELECT @@global.delayed_insert_limit = 100; + + +--echo '#--------------------FN_DYNVARS_024_03------------------------#' +######################################################################### +# Change the value of delayed_insert_limit to a valid value # +######################################################################### + +SET @@global.delayed_insert_limit = 10000; +SELECT @@global.delayed_insert_limit; +SET @@global.delayed_insert_limit = 4294967295; +SELECT @@global.delayed_insert_limit; +SET @@global.delayed_insert_limit = 1; +SELECT @@global.delayed_insert_limit; + + +--echo '#--------------------FN_DYNVARS_024_04-------------------------#' +############################################################################ +# Change the value of delayed_insert_limit to invalid value # +############################################################################ + +SET @@global.delayed_insert_limit = 0; +SELECT @@global.delayed_insert_limit; +SET @@global.delayed_insert_limit = -1024; +SELECT @@global.delayed_insert_limit; +SET @@global.delayed_insert_limit = 42949672950; +SELECT @@global.delayed_insert_limit; +echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.delayed_insert_limit = 429496729.5; +SELECT @@global.delayed_insert_limit; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.delayed_insert_limit = ON; +SELECT @@global.delayed_insert_limit; + + + +--echo '#-------------------FN_DYNVARS_024_05----------------------------#' +############################################################################ +# Test if accessing session delayed_insert_limit gives error # +############################################################################ + +--Error ER_GLOBAL_VARIABLE +SET @@session.delayed_insert_limit = 0; +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@Session.delayed_insert_limit; + + +--echo '#----------------------FN_DYNVARS_024_06------------------------#' +############################################################################## +# Check if the value in GLOBAL & SESSION Tables matches values in variable # +############################################################################## + +SELECT @@global.delayed_insert_limit = + VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES + WHERE VARIABLE_NAME='delayed_insert_limit'; + +SELECT @@delayed_insert_limit = + VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES + WHERE VARIABLE_NAME='delayed_insert_limit'; + + +--echo '#---------------------FN_DYNVARS_024_07----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +SET @@global.delayed_insert_limit = TRUE; +SELECT @@global.delayed_insert_limit; +SET @@global.delayed_insert_limit = FALSE; +SELECT @@global.delayed_insert_limit; + +--echo '#---------------------FN_DYNVARS_024_08----------------------#' +######################################################################################################## +# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable # +######################################################################################################## + +SET @@global.delayed_insert_limit = 1; +SELECT @@delayed_insert_limit = @@global.delayed_insert_limit; + + +--echo '#---------------------FN_DYNVARS_024_09----------------------#' +############################################################################## +# Check if delayed_insert_limit can be accessed with and without @@ sign # +############################################################################## + +--Error ER_GLOBAL_VARIABLE +SET delayed_insert_limit = 1; +SELECT @@delayed_insert_limit; +--Error ER_PARSE_ERROR +SET local.delayed_insert_limit = 1; +--Error ER_UNKNOWN_TABLE +SELECT local.delayed_insert_limit; +--Error ER_PARSE_ERROR +SET global.delayed_insert_limit = 1; +--Error ER_UNKNOWN_TABLE +SELECT global.delayed_insert_limit; +--Error ER_BAD_FIELD_ERROR +SELECT delayed_insert_limit = @@session.delayed_insert_limit; + +############################## +# Restore initial value # +############################## + +SET @@global.delayed_insert_limit = @start_value; +SELECT @@global.delayed_insert_limit; + + +########################################################### +# END OF delayed_insert_limit TESTS # +########################################################### + diff --git a/mysql-test/include/delayed_queue_size_basic.inc b/mysql-test/include/delayed_queue_size_basic.inc new file mode 100644 index 00000000000..2d16f75d4e1 --- /dev/null +++ b/mysql-test/include/delayed_queue_size_basic.inc @@ -0,0 +1,163 @@ +################# mysql-test\t\delayed_queue_size_basic.test ################### +# # +# Variable Name: delayed_queue_size # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: Numeric # +# Default Value: 1000 # +# Range: 1 - 4294967295 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Salman Rawala # +# # +# Description: Test Cases of Dynamic System Variable "delayed_queue_size" # +# that checks behavior of this variable in the following ways # +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity . # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html#option_mysqld_delayed_queue_size # +# # +################################################################################ + +--source include/load_sysvars.inc + +################################################################# +# START OF delayed_queue_size TESTS # +################################################################# + +######################################################################### +# Saving initial value of delayed_queue_size in a temporary variable # +######################################################################### + +SET @start_value = @@global.delayed_queue_size; +SELECT @start_value; + +--echo '#--------------------FN_DYNVARS_026_01------------------------#' +######################################################################### +# Display the DEFAULT value of delayed_queue_size # +######################################################################### + +SET @@global.delayed_queue_size = 100; +SET @@global.delayed_queue_size = DEFAULT; +SELECT @@global.delayed_queue_size; + +--echo '#---------------------FN_DYNVARS_026_02-------------------------#' +############################################### +# Verify default value of variable # +############################################### + +SET @@global.delayed_queue_size = @start_value; +SELECT @@global.delayed_queue_size = 1000; + +--echo '#--------------------FN_DYNVARS_026_03------------------------#' +######################################################################### +# Change the value of delayed_queue_size to a valid value # +######################################################################### + +SET @@global.delayed_queue_size = 10000; +SELECT @@global.delayed_queue_size; +SET @@global.delayed_queue_size = 4294967295; +SELECT @@global.delayed_queue_size; +SET @@global.delayed_queue_size = 1; +SELECT @@global.delayed_queue_size; + + +--echo '#--------------------FN_DYNVARS_026_04-------------------------#' +############################################################################ +# Change the value of delayed_queue_size to invalid value # +############################################################################ + +SET @@global.delayed_queue_size = 0; +SELECT @@global.delayed_queue_size; +SET @@global.delayed_queue_size = -1024; +SELECT @@global.delayed_queue_size; +SET @@global.delayed_queue_size = 42949672950; +SELECT @@global.delayed_queue_size; +echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.delayed_queue_size = 429496729.5; +SELECT @@global.delayed_queue_size; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.delayed_queue_size = ON; +SELECT @@delayed_queue_size; + +--echo '#-------------------FN_DYNVARS_026_05----------------------------#' +############################################################################ +# Test if accessing session delayed_queue_size gives error # +############################################################################ + +--Error 1229 +SET @@session.delayed_queue_size = 0; +--Error 1238 +SELECT @@session.delayed_queue_size; + +--echo '#----------------------FN_DYNVARS_026_06------------------------#' +############################################################################## +# Check if the value in GLOBAL & SESSION Tables matches values in variable # +############################################################################## + +SELECT @@global.delayed_queue_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='delayed_queue_size'; + +SELECT @@delayed_queue_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='delayed_queue_size'; + + +--echo '#---------------------FN_DYNVARS_026_07----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +SET @@global.delayed_queue_size = TRUE; +SELECT @@global.delayed_queue_size; +SET @@global.delayed_queue_size = FALSE; +SELECT @@global.delayed_queue_size; + +--echo '#---------------------FN_DYNVARS_026_08----------------------#' +######################################################################################################## +# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable # +######################################################################################################## + +SET @@global.delayed_queue_size = 1; +SELECT @@delayed_queue_size = @@global.delayed_queue_size; + + +--echo '#---------------------FN_DYNVARS_026_09----------------------#' +########################################################################### +# Check if delayed_queue_size can be accessed with and without @@ sign # +########################################################################### + +--Error 1229 +SET delayed_queue_size = 1; +SELECT @@delayed_queue_size; +--Error ER_PARSE_ERROR +SET local.delayed_queue_size = 1; +--Error ER_UNKNOWN_TABLE +SELECT local.delayed_queue_size; +--Error ER_PARSE_ERROR +SET global.delayed_queue_size = 1; +--Error ER_UNKNOWN_TABLE +SELECT global.delayed_queue_size; +--Error ER_BAD_FIELD_ERROR +SELECT delayed_queue_size = @@session.delayed_queue_size; + + +############################## +# Restore initial value # +############################## + +SET @@global.delayed_queue_size = @start_value; +SELECT @@global.delayed_queue_size; + + +########################################################### +# END OF delayed_queue_size TESTS # +########################################################### + diff --git a/mysql-test/include/have_32bit.inc b/mysql-test/include/have_32bit.inc new file mode 100644 index 00000000000..b09a813967d --- /dev/null +++ b/mysql-test/include/have_32bit.inc @@ -0,0 +1,16 @@ +# Created by Horst Hunger 2008-04-15 +# see also have_64bit.inc + +--disable_query_log +--disable_warnings +let $save = `SELECT @@global.sort_buffer_size`; +SET @@global.sort_buffer_size = 4294967296; +let $mach32 = `SELECT @@global.sort_buffer_size <= 4294967295`; +eval SET @@global.sort_buffer_size = $save; +--enable_warnings +--enable_query_log +if (!$mach32) +{ + skip Need a 32 bit machine; +} + diff --git a/mysql-test/include/have_64bit.inc b/mysql-test/include/have_64bit.inc new file mode 100644 index 00000000000..31529a0c9d4 --- /dev/null +++ b/mysql-test/include/have_64bit.inc @@ -0,0 +1,14 @@ +# Created by Horst Hunger 2008-04-15 +# see also have_32bit.inc + +--disable_query_log +let $save = `SELECT @@session.sort_buffer_size`; +SET @@session.sort_buffer_size = 4294967296; +let $mach64 = `SELECT @@session.sort_buffer_size > 4294967295`; +eval SET @@session.sort_buffer_size = $save; +--enable_query_log +if (!$mach64) +{ + skip Need a 64 bit machine; +} + diff --git a/mysql-test/include/innodb_concurrency_tickets_basic.inc b/mysql-test/include/innodb_concurrency_tickets_basic.inc new file mode 100644 index 00000000000..67b0247d169 --- /dev/null +++ b/mysql-test/include/innodb_concurrency_tickets_basic.inc @@ -0,0 +1,147 @@ +################# mysql-test\t\innodb_concurrency_tickets_basic.test ########## +# # +# Variable Name: innodb_concurrency_tickets # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: Numeric # +# Default Value: 500 # +# Range: 1-4294967295 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Rizwan # +# # +#Description:Test Cases of Dynamic System Variable innodb_concurrency_tickets # +# that checks the behavior of this variable in the following ways # +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/have_innodb.inc +--source include/load_sysvars.inc + +######################################################################## +# START OF innodb_concurrency_tickets TESTS # +######################################################################## + + +################################################################################ +# Saving initial value of innodb_concurrency_tickets in a temporary variable # +################################################################################ + +SET @global_start_value = @@global.innodb_concurrency_tickets; +SELECT @global_start_value; + +--echo '#--------------------FN_DYNVARS_046_01------------------------#' +######################################################################## +# Display the DEFAULT value of innodb_concurrency_tickets # +######################################################################## + +SET @@global.innodb_concurrency_tickets = 0; +SET @@global.innodb_concurrency_tickets = DEFAULT; +SELECT @@global.innodb_concurrency_tickets; + +--echo '#---------------------FN_DYNVARS_046_02-------------------------#' +################################################################################ +# Check if innodb_concurrency_tickets can be accessed with and without @@ sign # +################################################################################ + +--Error ER_GLOBAL_VARIABLE +SET innodb_concurrency_tickets = 1; +SELECT @@innodb_concurrency_tickets; + +--Error ER_UNKNOWN_TABLE +SELECT local.innodb_concurrency_tickets; + + +SET global innodb_concurrency_tickets = 0; +SELECT @@global.innodb_concurrency_tickets; + + +--echo '#--------------------FN_DYNVARS_046_03------------------------#' +########################################################################## +# change the value of innodb_concurrency_tickets to a valid value # +########################################################################## + + +SET @@global.innodb_concurrency_tickets = 1; +SELECT @@global.innodb_concurrency_tickets; + +SET @@global.innodb_concurrency_tickets = 1000; +SELECT @@global.innodb_concurrency_tickets; + +SET @@global.innodb_concurrency_tickets = 4294967295; +SELECT @@global.innodb_concurrency_tickets; + + +--echo '#--------------------FN_DYNVARS_046_04-------------------------#' +########################################################################### +# Change the value of innodb_concurrency_tickets to invalid value # +########################################################################### + +SET @@global.innodb_concurrency_tickets = -1; +SELECT @@global.innodb_concurrency_tickets; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.innodb_concurrency_tickets = "T"; +SELECT @@global.innodb_concurrency_tickets; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.innodb_concurrency_tickets = "Y"; +SELECT @@global.innodb_concurrency_tickets; + +SET @@global.innodb_concurrency_tickets = 1001; +SELECT @@global.innodb_concurrency_tickets; + +--echo '#----------------------FN_DYNVARS_046_05------------------------#' +######################################################################### +# Check if the value in GLOBAL Table matches value in variable # +######################################################################### + +SELECT @@global.innodb_concurrency_tickets = + VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES + WHERE VARIABLE_NAME='innodb_concurrency_tickets'; +SELECT @@global.innodb_concurrency_tickets; +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES + WHERE VARIABLE_NAME='innodb_concurrency_tickets'; + +--echo '#---------------------FN_DYNVARS_046_06-------------------------#' +################################################################### +# Check if ON and OFF values can be used on variable # +################################################################### + +--ERROR ER_WRONG_TYPE_FOR_VAR +SET @@global.innodb_concurrency_tickets = OFF; +SELECT @@global.innodb_concurrency_tickets; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.innodb_concurrency_tickets = ON; +SELECT @@global.innodb_concurrency_tickets; + +--echo '#---------------------FN_DYNVARS_046_07----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +SET @@global.innodb_concurrency_tickets = TRUE; +SELECT @@global.innodb_concurrency_tickets; +SET @@global.innodb_concurrency_tickets = FALSE; +SELECT @@global.innodb_concurrency_tickets; + +############################## +# Restore initial value # +############################## + +SET @@global.innodb_concurrency_tickets = @global_start_value; +SELECT @@global.innodb_concurrency_tickets; + +############################################################### +# END OF innodb_concurrency_tickets TESTS # +############################################################### + diff --git a/mysql-test/include/innodb_max_purge_lag_basic.inc b/mysql-test/include/innodb_max_purge_lag_basic.inc new file mode 100644 index 00000000000..9e6b8201e3d --- /dev/null +++ b/mysql-test/include/innodb_max_purge_lag_basic.inc @@ -0,0 +1,147 @@ +################# mysql-test\t\innodb_max_purge_lag_basic.test ################ +# # +# Variable Name: innodb_max_purge_lag # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: Numeric # +# Default Value: 0 # +# Range: 0-4294967295 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Rizwan # +# # +#Description:Test Cases of Dynamic System Variable innodb_max_purge_lag # +# that checks the behavior of this variable in the following ways # +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/have_innodb.inc +--source include/load_sysvars.inc + +######################################################################## +# START OF innodb_max_purge_lag TESTS # +######################################################################## + +################################################################################ +# Saving initial value of innodb_max_purge_lag in a temporary variable # +################################################################################ + +SET @global_start_value = @@global.innodb_max_purge_lag; +SELECT @global_start_value; + +--echo '#--------------------FN_DYNVARS_046_01------------------------#' +######################################################################## +# Display the DEFAULT value of innodb_max_purge_lag # +######################################################################## + +SET @@global.innodb_max_purge_lag = 0; +SET @@global.innodb_max_purge_lag = DEFAULT; +SELECT @@global.innodb_max_purge_lag; + +--echo '#---------------------FN_DYNVARS_046_02-------------------------#' +############################################################################ +# Check if innodb_max_purge_lag can be accessed with and without @@ sign # +############################################################################ + +--Error ER_GLOBAL_VARIABLE +SET innodb_max_purge_lag = 1; +SELECT @@innodb_max_purge_lag; + +--Error ER_UNKNOWN_TABLE +SELECT local.innodb_max_purge_lag; + +SET global innodb_max_purge_lag = 0; +SELECT @@global.innodb_max_purge_lag; + +--echo '#--------------------FN_DYNVARS_046_03------------------------#' +########################################################################## +# change the value of innodb_max_purge_lag to a valid value # +########################################################################## + + +SET @@global.innodb_max_purge_lag = 0; +SELECT @@global.innodb_max_purge_lag; + +SET @@global.innodb_max_purge_lag = 1; +SELECT @@global.innodb_max_purge_lag; +SET @@global.innodb_max_purge_lag = 4294967295; +SELECT @@global.innodb_max_purge_lag; + +--echo '#--------------------FN_DYNVARS_046_04-------------------------#' +########################################################################### +# Change the value of innodb_max_purge_lag to invalid value # +########################################################################### + +SET @@global.innodb_max_purge_lag = -1; +SELECT @@global.innodb_max_purge_lag; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.innodb_max_purge_lag = "T"; +SELECT @@global.innodb_max_purge_lag; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.innodb_max_purge_lag = "Y"; +SELECT @@global.innodb_max_purge_lag; + + +SET @@global.innodb_max_purge_lag = 1001; +SELECT @@global.innodb_max_purge_lag; + +--echo '#----------------------FN_DYNVARS_046_05------------------------#' +######################################################################### +# Check if the value in GLOBAL Table matches value in variable # +######################################################################### + +SELECT @@global.innodb_max_purge_lag = + VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES + WHERE VARIABLE_NAME='innodb_max_purge_lag'; +SELECT @@global.innodb_max_purge_lag; +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES + WHERE VARIABLE_NAME='innodb_max_purge_lag'; + + + + +--echo '#---------------------FN_DYNVARS_046_06-------------------------#' +################################################################### +# Check if ON and OFF values can be used on variable # +################################################################### + +--ERROR ER_WRONG_TYPE_FOR_VAR +SET @@global.innodb_max_purge_lag = OFF; +SELECT @@global.innodb_max_purge_lag; + +--ERROR ER_WRONG_TYPE_FOR_VAR +SET @@global.innodb_max_purge_lag = ON; +SELECT @@global.innodb_max_purge_lag; + +--echo '#---------------------FN_DYNVARS_046_07----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + + +SET @@global.innodb_max_purge_lag = TRUE; +SELECT @@global.innodb_max_purge_lag; +SET @@global.innodb_max_purge_lag = FALSE; +SELECT @@global.innodb_max_purge_lag; + +############################## +# Restore initial value # +############################## + + +SET @@global.innodb_max_purge_lag = @global_start_value; +SELECT @@global.innodb_max_purge_lag; + +############################################################### +# END OF innodb_max_purge_lag TESTS # +############################################################### diff --git a/mysql-test/include/innodb_sync_spin_loops_basic.inc b/mysql-test/include/innodb_sync_spin_loops_basic.inc new file mode 100644 index 00000000000..35460fe47f2 --- /dev/null +++ b/mysql-test/include/innodb_sync_spin_loops_basic.inc @@ -0,0 +1,142 @@ +################# mysql-test\t\innodb_sync_spin_loops_basic.test ############## +# # +# Variable Name: innodb_sync_spin_loops # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: Numeric # +# Default Value: 20 # +# Range: 0-4294967295 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Rizwan # +# # +#Description:Test Cases of Dynamic System Variable innodb_sync_spin_loops # +# that checks the behavior of this variable in the following ways # +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/have_innodb.inc +--source include/load_sysvars.inc + +######################################################################## +# START OF innodb_sync_spin_loops TESTS # +######################################################################## + + +############################################################################ +# Saving initial value of innodb_sync_spin_loops in a temporary variable # +############################################################################ + +SET @global_start_value = @@global.innodb_sync_spin_loops; +SELECT @global_start_value; + +--echo '#--------------------FN_DYNVARS_046_01------------------------#' +######################################################################## +# Display the DEFAULT value of innodb_sync_spin_loops # +######################################################################## + +SET @@global.innodb_sync_spin_loops = 0; +SET @@global.innodb_sync_spin_loops = DEFAULT; +SELECT @@global.innodb_sync_spin_loops; + +--echo '#---------------------FN_DYNVARS_046_02-------------------------#' +############################################################################## +# Check if innodb_sync_spin_loops can be accessed with and without @@ sign # +############################################################################## + +--Error ER_GLOBAL_VARIABLE +SET innodb_sync_spin_loops = 1; +SELECT @@innodb_sync_spin_loops; + +--Error ER_UNKNOWN_TABLE +SELECT local.innodb_sync_spin_loops; + +SET global innodb_sync_spin_loops = 0; +SELECT @@global.innodb_sync_spin_loops; + +--echo '#--------------------FN_DYNVARS_046_03------------------------#' +########################################################################## +# change the value of innodb_sync_spin_loops to a valid value # +########################################################################## + +SET @@global.innodb_sync_spin_loops = 0; +SELECT @@global.innodb_sync_spin_loops; + +SET @@global.innodb_sync_spin_loops = 1; +SELECT @@global.innodb_sync_spin_loops; +SET @@global.innodb_sync_spin_loops = 1000; +SELECT @@global.innodb_sync_spin_loops; + +--echo '#--------------------FN_DYNVARS_046_04-------------------------#' +########################################################################### +# Change the value of innodb_sync_spin_loops to invalid value # +########################################################################### + +SET @@global.innodb_sync_spin_loops = -1; +SELECT @@global.innodb_sync_spin_loops; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.innodb_sync_spin_loops = "T"; +SELECT @@global.innodb_sync_spin_loops; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.innodb_sync_spin_loops = "Y"; +SELECT @@global.innodb_sync_spin_loops; + +SET @@global.innodb_sync_spin_loops = 1001; +SELECT @@global.innodb_sync_spin_loops; + +--echo '#----------------------FN_DYNVARS_046_05------------------------#' +######################################################################### +# Check if the value in GLOBAL Table matches value in variable # +######################################################################### + +SELECT @@global.innodb_sync_spin_loops = + VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES + WHERE VARIABLE_NAME='innodb_sync_spin_loops'; +SELECT @@global.innodb_sync_spin_loops; +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES + WHERE VARIABLE_NAME='innodb_sync_spin_loops'; + +--echo '#---------------------FN_DYNVARS_046_06-------------------------#' +################################################################### +# Check if ON and OFF values can be used on variable # +################################################################### + +--ERROR ER_WRONG_TYPE_FOR_VAR +SET @@global.innodb_sync_spin_loops = OFF; +SELECT @@global.innodb_sync_spin_loops; + +--ERROR ER_WRONG_TYPE_FOR_VAR +SET @@global.innodb_sync_spin_loops = ON; +SELECT @@global.innodb_sync_spin_loops; + +--echo '#---------------------FN_DYNVARS_046_07----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + + +SET @@global.innodb_sync_spin_loops = TRUE; +SELECT @@global.innodb_sync_spin_loops; +SET @@global.innodb_sync_spin_loops = FALSE; +SELECT @@global.innodb_sync_spin_loops; + +############################## +# Restore initial value # +############################## + +SET @@global.innodb_sync_spin_loops = @global_start_value; +SELECT @@global.innodb_sync_spin_loops; + +############################################################### +# END OF innodb_sync_spin_loops TESTS # +############################################################### diff --git a/mysql-test/include/is_embedded.inc b/mysql-test/include/is_embedded.inc new file mode 100644 index 00000000000..6d95772843c --- /dev/null +++ b/mysql-test/include/is_embedded.inc @@ -0,0 +1,5 @@ +-- require r/is_embedded.require +disable_query_log; +select version() like '%embedded%' as 'have_embedded'; +enable_query_log; + diff --git a/mysql-test/include/join_buffer_size_basic.inc b/mysql-test/include/join_buffer_size_basic.inc new file mode 100644 index 00000000000..880dac4cac4 --- /dev/null +++ b/mysql-test/include/join_buffer_size_basic.inc @@ -0,0 +1,216 @@ +############## mysql-test\t\join_buffer_size_basic.test ############### +# # +# Variable Name: join_buffer_size # +# Scope: GLOBAL | SESSION # +# Access Type: Dynamic # +# Data Type: numeric # +# Default Value: 131072 # +# Range: 8200-4294967295 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Salman # +# # +# Description: Test Cases of Dynamic System Variable join_buffer_size # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + +################################################################ +# START OF join_buffer_size TESTS # +################################################################ + + +############################################################# +# Save initial value # +############################################################# + +SET @start_global_value = @@global.join_buffer_size; +SELECT @start_global_value; +SET @start_session_value = @@session.join_buffer_size; +SELECT @start_session_value; + + +--echo '#--------------------FN_DYNVARS_053_01-------------------------#' +################################################################ +# Display the DEFAULT value of join_buffer_size # +################################################################ + +SET @@global.join_buffer_size = 8200; +SET @@global.join_buffer_size = DEFAULT; +SELECT @@global.join_buffer_size; + +SET @@session.join_buffer_size = 8200; +SET @@session.join_buffer_size = DEFAULT; +SELECT @@session.join_buffer_size; + + +--echo '#--------------------FN_DYNVARS_053_02-------------------------#' +################################################################### +# Check the DEFAULT value of join_buffer_size # +################################################################### + +SET @@global.join_buffer_size = DEFAULT; +SELECT @@global.join_buffer_size = 131072; + +SET @@session.join_buffer_size = DEFAULT; +SELECT @@session.join_buffer_size = 131072; + + +--echo '#--------------------FN_DYNVARS_053_03-------------------------#' +########################################################################## +# Change the value of join_buffer_size to a valid value for GLOBAL Scope # +########################################################################## + +SET @@global.join_buffer_size = 8200; +SELECT @@global.join_buffer_size=8200 OR @@global.join_buffer_size= 8228; +SET @@global.join_buffer_size = 65536; +SELECT @@global.join_buffer_size; +SET @@global.join_buffer_size = 4294967295; +SELECT @@global.join_buffer_size; +echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + + +--echo '#--------------------FN_DYNVARS_053_04-------------------------#' +########################################################################### +# Change the value of join_buffer_size to a valid value for SESSION Scope # +########################################################################### + +SET @@session.join_buffer_size = 8200; +SELECT @@session.join_buffer_size=8200 OR @@session.join_buffer_size= 8228; +SET @@session.join_buffer_size = 65536; +SELECT @@session.join_buffer_size; +SET @@session.join_buffer_size = 4294967295; +SELECT @@session.join_buffer_size; +echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + + +--echo '#------------------FN_DYNVARS_053_05-----------------------#' +############################################################ +# Change the value of join_buffer_size to an invalid value # +############################################################ + +SET @@global.join_buffer_size = 0; +SELECT @@global.join_buffer_size=8200 OR @@global.join_buffer_size= 8228; +SET @@global.join_buffer_size = -1024; +SELECT @@global.join_buffer_size=8200 OR @@global.join_buffer_size= 8228; +SET @@global.join_buffer_size = 8199; +SELECT @@global.join_buffer_size=8200 OR @@global.join_buffer_size= 8228; +SET @@global.join_buffer_size = 42949672951; +SELECT @@global.join_buffer_size; + +--Error ER_PARSE_ERROR +SET @@global.join_buffer_size = 65530.34.; +SELECT @@global.join_buffer_size; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.join_buffer_size = test; +SELECT @@global.join_buffer_size; + +SET @@session.join_buffer_size = 0; +SELECT @@session.join_buffer_size=8200 OR @@session.join_buffer_size= 8228; +SET @@session.join_buffer_size = -2; +SELECT @@session.join_buffer_size=8200 OR @@session.join_buffer_size= 8228; +SET @@session.join_buffer_size = 8199; +SELECT @@session.join_buffer_size=8200 OR @@session.join_buffer_size= 8228; +SET @@session.join_buffer_size = 42949672951; +SELECT @@session.join_buffer_size; + +--Error ER_PARSE_ERROR +SET @@session.join_buffer_size = 65530.34.; +SELECT @@session.join_buffer_size; +echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@session.join_buffer_size = test; +SELECT @@session.join_buffer_size; + + +--echo '#------------------FN_DYNVARS_053_06-----------------------#' +#################################################################### +# Check if the value in GLOBAL Table matches value in variable # +#################################################################### + + +SELECT @@global.join_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='join_buffer_size'; + +--echo '#------------------FN_DYNVARS_053_07-----------------------#' +#################################################################### +# Check if the value in SESSION Table matches value in variable # +#################################################################### + +SELECT @@session.join_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='join_buffer_size'; + + +--echo '#------------------FN_DYNVARS_053_08-----------------------#' +#################################################################### +# Check if TRUE and FALSE values can be used on variable # +#################################################################### + +SET @@global.join_buffer_size = TRUE; +SELECT @@global.join_buffer_size=8200 OR @@global.join_buffer_size= 8228; +SET @@global.join_buffer_size = FALSE; +SELECT @@global.join_buffer_size=8200 OR @@global.join_buffer_size= 8228; +--echo 'Bug: Errors are not coming on assigning TRUE/FALSE to variable'; + + +--echo '#---------------------FN_DYNVARS_001_09----------------------#' +################################################################################# +# Check if accessing variable with and without GLOBAL point to same variable # +################################################################################# + +SET @@global.join_buffer_size = 10; +SELECT @@join_buffer_size = @@global.join_buffer_size; + + +--echo '#---------------------FN_DYNVARS_001_10----------------------#' +######################################################################################################## +# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable # +######################################################################################################## + +SET @@join_buffer_size = 100; +SELECT @@join_buffer_size = @@local.join_buffer_size; +SELECT @@local.join_buffer_size = @@session.join_buffer_size; + + +--echo '#---------------------FN_DYNVARS_001_11----------------------#' +############################################################################## +# Check if join_buffer_size can be accessed with and without @@ sign # +############################################################################## + +SET join_buffer_size = 1; +SELECT @@join_buffer_size=8200 OR @@join_buffer_size= 8228; +--Error ER_UNKNOWN_TABLE +SELECT local.join_buffer_size; +--Error ER_UNKNOWN_TABLE +SELECT session.join_buffer_size; +--Error ER_BAD_FIELD_ERROR +SELECT join_buffer_size = @@session.join_buffer_size; + + +#################################### +# Restore initial value # +#################################### + +SET @@global.join_buffer_size = @start_global_value; +SELECT @@global.join_buffer_size; +SET @@session.join_buffer_size = @start_session_value; +SELECT @@session.join_buffer_size; + + +######################################################## +# END OF join_buffer_size TESTS # +######################################################## + diff --git a/mysql-test/include/key_buffer_size_basic.inc b/mysql-test/include/key_buffer_size_basic.inc new file mode 100644 index 00000000000..996a9e712f9 --- /dev/null +++ b/mysql-test/include/key_buffer_size_basic.inc @@ -0,0 +1,187 @@ +############## mysql-test\t\key_buffer_size_basic.test ######################## +# # +# Variable Name: key_buffer_size # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: numeric # +# Default Value: 131072 # +# Range:8-4294967295 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Salman # +# # +# Description: Test Cases of Dynamic System Variable key_buffer_size # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### +# Changes: # +# 2008-03-06 hhunger Got "lost connections with 5.1.24 # +######################################################################## + +--source include/load_sysvars.inc + +######################################################################## +# START OF key_buffer_size TESTS # +######################################################################## + +--disable_warnings +######################################################################## +# Saving initial value of key_buffer_size in a temporary variable # +######################################################################## + +SET @start_value = @@global.key_buffer_size; +SELECT @start_value; + + +--echo '#--------------------FN_DYNVARS_055_01------------------------#' +######################################################################## +# Display the DEFAULT value of key_buffer_size # +######################################################################## + +SET @@global.key_buffer_size = 99; +--Error ER_NO_DEFAULT +SET @@global.key_buffer_size = DEFAULT; +--echo 'Bug# 34878: This variable has default value according to documentation'; +SELECT @@global.key_buffer_size = @min_key_buffer_size; + + +--echo '#---------------------FN_DYNVARS_055_02-------------------------#' +############################################### +# Verify default value of variable # +############################################### + +SET @@global.key_buffer_size = @start_value; +SELECT @@global.key_buffer_size = @start_value; + +--echo '#--------------------FN_DYNVARS_055_03------------------------#' +######################################################################## +# Change the value of key_buffer_size to a valid value # +######################################################################## + +SET @@global.key_buffer_size = @min_key_buffer_size; +SELECT @@global.key_buffer_size= @min_key_buffer_size; +--disable_warnings +#Due to "lost connection" +#SET @@global.key_buffer_size = 4294967295; +--enable_warnings +#SELECT @@global.key_buffer_size; +SET @@global.key_buffer_size = 1800; +SELECT @@global.key_buffer_size = @min_key_buffer_size; +SET @@global.key_buffer_size = 65535; +SELECT @@global.key_buffer_size; +echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + + +--echo '#--------------------FN_DYNVARS_055_04-------------------------#' +########################################################################### +# Change the value of key_buffer_size to invalid value # +########################################################################### + +# Due to "lost connection" +#SET @@global.key_buffer_size = -1; +#SELECT @@global.key_buffer_size; +#SET @@global.key_buffer_size = 100000000000; +#SELECT @@global.key_buffer_size; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.key_buffer_size = 10000.01; +SELECT @@global.key_buffer_size; +#SET @@global.key_buffer_size = -1024; +#SELECT @@global.key_buffer_size; +SET @@global.key_buffer_size = 4; +SELECT @@global.key_buffer_size = @min_key_buffer_size; +--echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.key_buffer_size = ON; +SELECT @@global.key_buffer_size = @min_key_buffer_size; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.key_buffer_size = 'test'; +SELECT @@global.key_buffer_size = @min_key_buffer_size; + + +--echo '#-------------------FN_DYNVARS_055_05----------------------------#' +########################################################################### +# Test if accessing session key_buffer_size gives error # +########################################################################### + +--Error ER_GLOBAL_VARIABLE +SET @@session.key_buffer_size = 0; +SELECT @@key_buffer_size = @min_key_buffer_size; + + +--echo '#----------------------FN_DYNVARS_055_06------------------------#' +############################################################################## +# Check if the value in GLOBAL & SESSION Tables matches values in variable # +############################################################################## + +SELECT @@global.key_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='key_buffer_size'; + +SELECT @@key_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='key_buffer_size'; + + +--echo '#---------------------FN_DYNVARS_055_07----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +SET @@global.key_buffer_size = TRUE; +SELECT @@global.key_buffer_size = @min_key_buffer_size; +SET @@global.key_buffer_size = FALSE; +SELECT @@global.key_buffer_size = @min_key_buffer_size; + + +--echo '#---------------------FN_DYNVARS_055_08----------------------#' +##################################################################### +# Check if accessing variable with SESSION,LOCAL and without SCOPE # +# points to same session variable # +##################################################################### + +# due to differences in contents of the warnings +--disable_warnings +SET @@global.key_buffer_size = @min_key_buffer_size; +SELECT @@key_buffer_size = @@global.key_buffer_size; +--enable_warnings + +--echo '#---------------------FN_DYNVARS_055_09----------------------#' +########################################################################## +# Check if key_buffer_size can be accessed with and without @@ sign # +########################################################################## + +--Error ER_GLOBAL_VARIABLE +SET key_buffer_size = @min_key_buffer_size; +SELECT @@key_buffer_size = @min_key_buffer_size; +--Error ER_PARSE_ERROR +SET local.key_buffer_size = 10; +--Error ER_UNKNOWN_TABLE +SELECT local.key_buffer_size; +--Error ER_PARSE_ERROR +SET global.key_buffer_size = 10; +--Error ER_UNKNOWN_TABLE +SELECT global.key_buffer_size; +--Error ER_BAD_FIELD_ERROR +SELECT key_buffer_size = @@session.key_buffer_size; + + +############################## +# Restore initial value # +############################## + +SET @@global.key_buffer_size = @start_value; +SELECT @@global.key_buffer_size; + +--enable_warnings +####################################################################### +# END OF key_buffer_size TESTS # +####################################################################### diff --git a/mysql-test/include/key_cache_age_threshold_basic.inc b/mysql-test/include/key_cache_age_threshold_basic.inc new file mode 100644 index 00000000000..7841ad2cedc --- /dev/null +++ b/mysql-test/include/key_cache_age_threshold_basic.inc @@ -0,0 +1,180 @@ +############## mysql-test\t\key_cache_age_threshold_basic.test ############### +# # +# Variable Name: key_cache_age_threshold # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: numeric # +# Default Value: 300 # +# Range: 100-4294967295 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Salman # +# # +# Description: Test Cases of Dynamic System Variable key_cache_age_threshold # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + +######################################################################## +# START OF key_cache_age_threshold TESTS # +######################################################################## + + +############################################################################# +# Saving initial value of key_cache_age_threshold in a temporary variable # +############################################################################# + +SET @start_value = @@global.key_cache_age_threshold; +SELECT @start_value; + + +--echo '#--------------------FN_DYNVARS_056_01------------------------#' +################################################################################ +# Display the DEFAULT value of key_cache_age_threshold # +################################################################################ + +SET @@global.key_cache_age_threshold = 99; +--Error ER_NO_DEFAULT +SET @@global.key_cache_age_threshold = DEFAULT; +--echo 'Bug# 34878: This variable has default value according to documentation'; +SELECT @@global.key_cache_age_threshold; + + +--echo '#---------------------FN_DYNVARS_056_02-------------------------#' +############################################### +# Verify default value of variable # +############################################### + +SET @@global.key_cache_age_threshold = @start_value; +SELECT @@global.key_cache_age_threshold = 300; + + +--echo '#--------------------FN_DYNVARS_056_03------------------------#' +############################################################################### +# Change the value of key_cache_age_threshold to a valid value # +############################################################################### + +SET @@global.key_cache_age_threshold = 100; +SELECT @@global.key_cache_age_threshold; +SET @@global.key_cache_age_threshold = 4294967295; +SELECT @@global.key_cache_age_threshold; +SET @@global.key_cache_age_threshold = 1800; +SELECT @@global.key_cache_age_threshold; +SET @@global.key_cache_age_threshold = 65535; +SELECT @@global.key_cache_age_threshold; +--echo 'Bug# 34877 : Invalid Values are coming in variable on assigning valid values and Out Of Memory Warnings are coming'; + + +--echo '#--------------------FN_DYNVARS_056_04-------------------------#' +########################################################################### +# Change the value of key_cache_age_threshold to invalid value # +########################################################################### + +SET @@global.key_cache_age_threshold = -1; +SELECT @@global.key_cache_age_threshold; +SET @@global.key_cache_age_threshold = 42949672951; +SELECT @@global.key_cache_age_threshold; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.key_cache_age_threshold = 10000.01; +SELECT @@global.key_cache_age_threshold; +SET @@global.key_cache_age_threshold = -1024; +SELECT @@global.key_cache_age_threshold; +SET @@global.key_cache_age_threshold = 99; +SELECT @@global.key_cache_age_threshold; + +echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.key_cache_age_threshold = ON; +SELECT @@global.key_cache_age_threshold; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.key_cache_age_threshold = 'test'; +SELECT @@global.key_cache_age_threshold; + + +--echo '#-------------------FN_DYNVARS_056_05----------------------------#' +########################################################################### +# Test if accessing session key_cache_age_threshold gives error # +########################################################################### + +--Error ER_GLOBAL_VARIABLE +SET @@session.key_cache_age_threshold = 0; +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.key_cache_age_threshold; + + +--echo '#----------------------FN_DYNVARS_056_06------------------------#' +############################################################################## +# Check if the value in GLOBAL & SESSION Tables matches values in variable # +############################################################################## + +SELECT @@global.key_cache_age_threshold = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='key_cache_age_threshold'; + +SELECT @@key_cache_age_threshold = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='key_cache_age_threshold'; + + +--echo '#---------------------FN_DYNVARS_056_07----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +SET @@global.key_cache_age_threshold = TRUE; +SELECT @@global.key_cache_age_threshold; +SET @@global.key_cache_age_threshold = FALSE; +SELECT @@global.key_cache_age_threshold; + + +--echo '#---------------------FN_DYNVARS_056_08----------------------#' +######################################################################################################## +# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable # +######################################################################################################## + +SET @@global.key_cache_age_threshold = 101; +SELECT @@key_cache_age_threshold = @@global.key_cache_age_threshold; + + +--echo '#---------------------FN_DYNVARS_056_09----------------------#' +########################################################################## ####### +# Check if key_cache_age_threshold can be accessed with and without @@ sign # +################################################################################## + +--Error ER_GLOBAL_VARIABLE +SET key_cache_age_threshold = 8000; +SELECT @@key_cache_age_threshold; +--Error ER_PARSE_ERROR +SET local.key_cache_age_threshold = 10; +--Error ER_UNKNOWN_TABLE +SELECT local.key_cache_age_threshold; +--Error ER_PARSE_ERROR +SET global.key_cache_age_threshold = 10; +--Error ER_UNKNOWN_TABLE +SELECT global.key_cache_age_threshold; +--Error ER_BAD_FIELD_ERROR +SELECT key_cache_age_threshold = @@session.key_cache_age_threshold; + + +############################## +# Restore initial value # +############################## + +SET @@global.key_cache_age_threshold = @start_value; +SELECT @@global.key_cache_age_threshold; + + +######################################################################## +# END OF key_cache_age_threshold TESTS # +######################################################################## diff --git a/mysql-test/include/key_cache_block_size_basic.inc b/mysql-test/include/key_cache_block_size_basic.inc new file mode 100644 index 00000000000..b12ea45b762 --- /dev/null +++ b/mysql-test/include/key_cache_block_size_basic.inc @@ -0,0 +1,185 @@ +############## mysql-test\t\key_cache_block_size_basic.test ############### +# # +# Variable Name: key_cache_block_size # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: numeric 1024 # +# Default Value: # +# Range: 512-16384 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Salman # +# # +# Description: Test Cases of Dynamic System Variable key_cache_block_size # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + +##################################################################### +# START OF key_cache_block_size TESTS # +##################################################################### + + +########################################################################## +# Saving initial value of key_cache_block_size in a temporary variable # +########################################################################## + +SET @start_value = @@global.key_cache_block_size; +SELECT @start_value; + + +--echo '#--------------------FN_DYNVARS_057_01------------------------#' +################################################################################ +# Display the DEFAULT value of key_cache_block_size # +################################################################################ + +SET @@global.key_cache_block_size = 600; +--Error ER_NO_DEFAULT +SET @@global.key_cache_block_size = DEFAULT; +--echo 'Bug# 34877 : Invalid Values are coming in variable on assigning valid values and Out Of Memory Warnings are coming'; +SELECT @@global.key_cache_block_size; + + +--echo '#---------------------FN_DYNVARS_057_02-------------------------#' +############################################### +# Verify default value of variable # +############################################### + +SET @@global.key_cache_block_size = @start_value; +SELECT @@global.key_cache_block_size = 1024; + + +--echo '#--------------------FN_DYNVARS_057_03------------------------#' +############################################################################### +# Change the value of key_cache_block_size to a valid value # +############################################################################### + +SET @@global.key_cache_block_size = 1024; +SELECT @@global.key_cache_block_size; +SET @@global.key_cache_block_size = 16384; +SELECT @@global.key_cache_block_size; +SET @@global.key_cache_block_size = 1800; +SELECT @@global.key_cache_block_size; +SET @@global.key_cache_block_size = 16383; +SELECT @@global.key_cache_block_size; +--echo 'Bug# 34877 : Invalid Values are coming in variable on assigning valid values and Out Of Memory Warnings are coming'; + + +--echo '#--------------------FN_DYNVARS_057_04-------------------------#' +########################################################################### +# Change the value of key_cache_block_size to invalid value # +########################################################################### + +SET @@global.key_cache_block_size = -1; +SELECT @@global.key_cache_block_size; +SET @@global.key_cache_block_size = 42949672951; +SELECT @@global.key_cache_block_size; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.key_cache_block_size = 10000.01; +SELECT @@global.key_cache_block_size; +SET @@global.key_cache_block_size = -1024; +SELECT @@global.key_cache_block_size; +SET @@global.key_cache_block_size = 256; +SELECT @@global.key_cache_block_size; +SET @@global.key_cache_block_size = 511; +SELECT @@global.key_cache_block_size; +SET @@global.key_cache_block_size = 16385; +SELECT @@global.key_cache_block_size; + +echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.key_cache_block_size = ON; +SELECT @@global.key_cache_block_size; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.key_cache_block_size = 'test'; +SELECT @@global.key_cache_block_size; + + +--echo '#-------------------FN_DYNVARS_057_05----------------------------#' +########################################################################### +# Test if accessing session key_cache_block_size gives error # +########################################################################### + +--Error ER_GLOBAL_VARIABLE +SET @@session.key_cache_block_size = 0; +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.key_cache_block_size; + + +--echo '#----------------------FN_DYNVARS_057_06------------------------#' +############################################################################## +# Check if the value in GLOBAL & SESSION Tables matches values in variable # +############################################################################## + +SELECT @@global.key_cache_block_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='key_cache_block_size'; + +SELECT @@key_cache_block_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='key_cache_block_size'; + + +--echo '#---------------------FN_DYNVARS_057_07----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +SET @@global.key_cache_block_size = TRUE; +SELECT @@global.key_cache_block_size; +SET @@global.key_cache_block_size = FALSE; +SELECT @@global.key_cache_block_size; + + +--echo '#---------------------FN_DYNVARS_057_08----------------------#' +######################################################################################################## +# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable # +######################################################################################################## + +SET @@global.key_cache_block_size = 1024; +SELECT @@key_cache_block_size = @@global.key_cache_block_size; + + +--echo '#---------------------FN_DYNVARS_057_09----------------------#' +############################################################################### +# Check if key_cache_block_size can be accessed with and without @@ sign # +###############################################################################; + +--Error ER_GLOBAL_VARIABLE +SET key_cache_block_size = 8000; +SELECT @@key_cache_block_size; +--Error ER_PARSE_ERROR +SET local.key_cache_block_size = 10; +--Error ER_UNKNOWN_TABLE +SELECT local.key_cache_block_size; +--Error ER_PARSE_ERROR +SET global.key_cache_block_size = 10; +--Error ER_UNKNOWN_TABLE +SELECT global.key_cache_block_size; +--Error ER_BAD_FIELD_ERROR +SELECT key_cache_block_size = @@session.key_cache_block_size; + + +############################## +# Restore initial value # +############################## + +SET @@global.key_cache_block_size = @start_value; +SELECT @@global.key_cache_block_size; + + +##################################################################### +# END OF key_cache_block_size TESTS # +##################################################################### + diff --git a/mysql-test/include/key_cache_division_limit_basic.inc b/mysql-test/include/key_cache_division_limit_basic.inc new file mode 100644 index 00000000000..a2cc49a1f38 --- /dev/null +++ b/mysql-test/include/key_cache_division_limit_basic.inc @@ -0,0 +1,184 @@ +############## mysql-test\t\key_cache_division_limit_basic.test ############### +# # +# Variable Name: key_cache_division_limit # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: numeric # +# Default Value: 100 # +# Range: 1-100 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Salman # +# # +# Description: Test Cases of Dynamic System Variable key_cache_division_limit # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + +##################################################################### +# START OF key_cache_division_limit TESTS # +##################################################################### + + +############################################################################## +# Saving initial value of key_cache_division_limit in a temporary variable # +############################################################################## + +SET @start_value = @@global.key_cache_division_limit; +SELECT @start_value; + + +--echo '#--------------------FN_DYNVARS_058_01------------------------#' +################################################################################ +# Display the DEFAULT value of key_cache_division_limit # +################################################################################ + +SET @@global.key_cache_division_limit = 50; +--Error ER_NO_DEFAULT +SET @@global.key_cache_division_limit = DEFAULT; +--echo 'Bug# 34878: This variable has default value according to documentation'; +SELECT @@global.key_cache_division_limit; + + +--echo '#---------------------FN_DYNVARS_058_02-------------------------#' +############################################### +# Verify default value of variable # +############################################### + +SET @@global.key_cache_division_limit = @start_value; +SELECT @@global.key_cache_division_limit = 100; + + +--echo '#--------------------FN_DYNVARS_058_03------------------------#' +############################################################################### +# Change the value of key_cache_division_limit to a valid value # +############################################################################### + +SET @@global.key_cache_division_limit = 1; +SELECT @@global.key_cache_division_limit; +SET @@global.key_cache_division_limit = 50; +SELECT @@global.key_cache_division_limit; +SET @@global.key_cache_division_limit = 99; +SELECT @@global.key_cache_division_limit; +SET @@global.key_cache_division_limit = 2; +SELECT @@global.key_cache_division_limit; + + +--echo '#--------------------FN_DYNVARS_058_04-------------------------#' +########################################################################### +# Change the value of key_cache_division_limit to invalid value # +########################################################################### + +SET @@global.key_cache_division_limit = -1; +SELECT @@global.key_cache_division_limit; +SET @@global.key_cache_division_limit = 101; +SELECT @@global.key_cache_division_limit; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.key_cache_division_limit = 10000.01; +SELECT @@global.key_cache_division_limit; +SET @@global.key_cache_division_limit = -1024; +SELECT @@global.key_cache_division_limit; +SET @@global.key_cache_division_limit = 0; +SELECT @@global.key_cache_division_limit; +SET @@global.key_cache_division_limit = 200; +SELECT @@global.key_cache_division_limit; +SET @@global.key_cache_division_limit = 65535; +SELECT @@global.key_cache_division_limit; + +echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.key_cache_division_limit = ON; +SELECT @@global.key_cache_division_limit; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.key_cache_division_limit = 'test'; +SELECT @@global.key_cache_division_limit; + + +--echo '#-------------------FN_DYNVARS_058_05----------------------------#' +########################################################################### +# Test if accessing session key_cache_division_limit gives error # +########################################################################### + +--Error ER_GLOBAL_VARIABLE +SET @@session.key_cache_division_limit = 0; +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.key_cache_division_limit; + + +--echo '#----------------------FN_DYNVARS_058_06------------------------#' +############################################################################## +# Check if the value in GLOBAL & SESSION Tables matches values in variable # +############################################################################## + +SELECT @@global.key_cache_division_limit = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='key_cache_division_limit'; + +SELECT @@key_cache_division_limit = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='key_cache_division_limit'; + + +--echo '#---------------------FN_DYNVARS_058_07----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +SET @@global.key_cache_division_limit = TRUE; +SELECT @@global.key_cache_division_limit; +SET @@global.key_cache_division_limit = FALSE; +SELECT @@global.key_cache_division_limit; + + +--echo '#---------------------FN_DYNVARS_058_08----------------------#' +######################################################################################################## +# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable # +######################################################################################################## + +SET @@global.key_cache_division_limit = 90; +SELECT @@key_cache_division_limit = @@global.key_cache_division_limit; + + +--echo '#---------------------FN_DYNVARS_058_09----------------------#' +############################################################################### +# Check if key_cache_division_limit can be accessed with and without @@ sign # +###############################################################################; + +--Error ER_GLOBAL_VARIABLE +SET key_cache_division_limit = 80; +SELECT @@key_cache_division_limit; +--Error ER_PARSE_ERROR +SET local.key_cache_division_limit = 10; +--Error ER_UNKNOWN_TABLE +SELECT local.key_cache_division_limit; +--Error ER_PARSE_ERROR +SET global.key_cache_division_limit = 10; +--Error ER_UNKNOWN_TABLE +SELECT global.key_cache_division_limit; +--Error ER_BAD_FIELD_ERROR +SELECT key_cache_division_limit = @@session.key_cache_division_limit; + + +############################## +# Restore initial value # +############################## + +SET @@global.key_cache_division_limit = @start_value; +SELECT @@global.key_cache_division_limit; + + +##################################################################### +# END OF key_cache_division_limit TESTS # +##################################################################### + diff --git a/mysql-test/include/linux_sys_vars.inc b/mysql-test/include/linux_sys_vars.inc new file mode 100644 index 00000000000..4401a1e057a --- /dev/null +++ b/mysql-test/include/linux_sys_vars.inc @@ -0,0 +1,34 @@ +# +# This file contains default,min and max values for sys variables for redhat linux +# + +--disable_query_log + +SET @default_flush_time = 0; +SET @min_flush_time = 0; +#SET @max_flush_time = 0; + +SET @default_key_buffer_size = 131072; +SET @min_key_buffer_size = 36; + +#SET @default_join_buffer_size = 131072; +#SET @min_join_buffer_size = 8200; +#SET @max_join_buffer_size = 4294967295; + +SET @default_max_join_size = 4294967295; +SET @min_max_join_size = 1; +SET @max_max_join_size = 4294967295; + +SET @default_sql_max_join_size = 4294967295; +SET @min_sql_max_join_size = 1; +SET @max_sql_max_join_size = 4294967295; + +SET @default_sql_select_limit = 4294967295; +SET @min_sql_select_limit = 0; +SET @max_sql_select_limit = 4294967295; + +SET @default_wait_timeout= 28800; +SET @min_wait_timeout= 1; +SET @max_wait_timeout= 31536000; + +--enable_query_log diff --git a/mysql-test/include/load_sysvars.inc b/mysql-test/include/load_sysvars.inc new file mode 100644 index 00000000000..bcae9fa8d9c --- /dev/null +++ b/mysql-test/include/load_sysvars.inc @@ -0,0 +1,15 @@ +# +# This script is included by tests of system variables to include system +# dependant values for the variables: default, minimum and maximum values +# + +if (`SELECT convert(@@version_compile_os using latin1) + IN ('Win32','Win64','Windows')`) +{ + --source include/windows_sys_vars.inc +} +if (!`SELECT convert(@@version_compile_os using latin1) + IN ('Win32','Win64','Windows')`) +{ + --source include/linux_sys_vars.inc +} diff --git a/mysql-test/include/log_warnings_basic.inc b/mysql-test/include/log_warnings_basic.inc new file mode 100644 index 00000000000..cd7e1023649 --- /dev/null +++ b/mysql-test/include/log_warnings_basic.inc @@ -0,0 +1,210 @@ +############## mysql-test\t\log_warnings_basic.test ############### +# # +# Variable Name: log_warnings # +# Scope: GLOBAL | SESSION # +# Access Type: Dynamic # +# Data Type: numeric # +# Default Value: 1 # +# Range: - # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Salman # +# # +# Description: Test Cases of Dynamic System Variable log_warnings # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + +############################################################ +# START OF log_warnings TESTS # +############################################################ + + +############################################################# +# Save initial value # +############################################################# + +SET @start_global_value = @@global.log_warnings; +SELECT @start_global_value; +SET @start_session_value = @@session.log_warnings; +SELECT @start_session_value; + + +--echo '#--------------------FN_DYNVARS_067_01-------------------------#' +######################################################################## +# Display the DEFAULT value of log_warnings # +######################################################################## + +SET @@global.log_warnings = 100; +SET @@global.log_warnings = DEFAULT; +SELECT @@global.log_warnings; + +SET @@session.log_warnings = 200; +SET @@session.log_warnings = DEFAULT; +SELECT @@session.log_warnings; + + +--echo '#--------------------FN_DYNVARS_067_02-------------------------#' +######################################################################## +# Check the DEFAULT value of log_warnings # +######################################################################## + +SET @@global.log_warnings = DEFAULT; +SELECT @@global.log_warnings = 1; + +SET @@session.log_warnings = DEFAULT; +SELECT @@session.log_warnings = 1; + + +--echo '#--------------------FN_DYNVARS_067_03-------------------------#' +###################################################################### +# Change the value of log_warnings to a valid value for GLOBAL Scope # +###################################################################### + +SET @@global.log_warnings = 0; +SELECT @@global.log_warnings; +SET @@global.log_warnings = 1; +SELECT @@global.log_warnings; +SET @@global.log_warnings = 60020; +SELECT @@global.log_warnings; +SET @@global.log_warnings = 65535; +SELECT @@global.log_warnings; +SET @@global.log_warnings = 65536; +SELECT @@global.log_warnings; + + +--echo '#--------------------FN_DYNVARS_067_04-------------------------#' +####################################################################### +# Change the value of log_warnings to a valid value for SESSION Scope # +####################################################################### + +SET @@session.log_warnings = 0; +SELECT @@session.log_warnings; +SET @@session.log_warnings = 1; +SELECT @@session.log_warnings; +SET @@session.log_warnings = 50050; +SELECT @@session.log_warnings; +SET @@session.log_warnings = 65535; +SELECT @@session.log_warnings; +SET @@session.log_warnings = 65550; +SELECT @@session.log_warnings; + + +--echo '#------------------FN_DYNVARS_067_05-----------------------#' +######################################################## +# Change the value of log_warnings to an invalid value # +######################################################## + +SET @@global.log_warnings = 100000000000; +SELECT @@global.log_warnings; +SET @@global.log_warnings = -1024; +SELECT @@global.log_warnings; +--Error ER_PARSE_ERROR +SET @@global.log_warnings = 65530.34.; +SELECT @@global.log_warnings; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.log_warnings = test; +SELECT @@global.log_warnings; + +SET @@session.log_warnings = 100000000000; +SELECT @@session.log_warnings; +SET @@session.log_warnings = -2; +SELECT @@session.log_warnings; +--Error ER_PARSE_ERROR +SET @@session.log_warnings = 65530.34.; +--echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@session.log_warnings = test; +SELECT @@session.log_warnings; + + +--echo '#------------------FN_DYNVARS_067_06-----------------------#' +#################################################################### +# Check if the value in GLOBAL Table matches value in variable # +#################################################################### + + +SELECT @@global.log_warnings = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='log_warnings'; + +--echo '#------------------FN_DYNVARS_067_07-----------------------#' +#################################################################### +# Check if the value in SESSION Table matches value in variable # +#################################################################### + +SELECT @@session.log_warnings = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='log_warnings'; + + +--echo '#------------------FN_DYNVARS_067_08-----------------------#' +#################################################################### +# Check if TRUE and FALSE values can be used on variable # +#################################################################### + +SET @@global.log_warnings = TRUE; +SELECT @@global.log_warnings; +SET @@global.log_warnings = FALSE; +SELECT @@global.log_warnings; + + +--echo '#---------------------FN_DYNVARS_067_09----------------------#' +################################################################################# +# Check if accessing variable with and without GLOBAL point to same variable # +################################################################################# + +SET @@global.log_warnings = 10; +SELECT @@log_warnings = @@global.log_warnings; + + +--echo '#---------------------FN_DYNVARS_067_10----------------------#' +######################################################################################################## +# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable # +######################################################################################################## + +SET @@log_warnings = 100; +SELECT @@log_warnings = @@local.log_warnings; +SELECT @@local.log_warnings = @@session.log_warnings; + + +--echo '#---------------------FN_DYNVARS_067_11----------------------#' +####################################################################### +# Check if log_warnings can be accessed with and without @@ sign # +####################################################################### + +SET log_warnings = 1; +SELECT @@log_warnings; +--Error ER_UNKNOWN_TABLE +SELECT local.log_warnings; +--Error ER_UNKNOWN_TABLE +SELECT session.log_warnings; +--Error ER_BAD_FIELD_ERROR +SELECT log_warnings = @@session.log_warnings; + + +#################################### +# Restore initial value # +#################################### + +SET @@global.log_warnings = @start_global_value; +SELECT @@global.log_warnings; +SET @@session.log_warnings = @start_session_value; +SELECT @@session.log_warnings; + + +############################################################# +# END OF log_warnings TESTS # +############################################################# + diff --git a/mysql-test/include/master-slave-reset.inc b/mysql-test/include/master-slave-reset.inc index 204c6c5f5f6..1363fab236a 100644 --- a/mysql-test/include/master-slave-reset.inc +++ b/mysql-test/include/master-slave-reset.inc @@ -3,7 +3,7 @@ connection slave; #(the server was started with skip-slave-start) --disable_warnings stop slave; ---wait_for_slave_to_stop +source include/wait_for_slave_to_stop.inc; --enable_warnings connection master; --disable_warnings @@ -20,3 +20,4 @@ reset slave; drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; --enable_warnings start slave; +source include/wait_for_slave_to_start.inc; diff --git a/mysql-test/include/max_binlog_cache_size_basic.inc b/mysql-test/include/max_binlog_cache_size_basic.inc new file mode 100644 index 00000000000..9f3416d2e31 --- /dev/null +++ b/mysql-test/include/max_binlog_cache_size_basic.inc @@ -0,0 +1,187 @@ +############## mysql-test\t\max_binlog_cache_size_basic.test ############### +# # +# Variable Name: max_binlog_cache_size # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: numeric # +# Default Value:4294967295 # +# Range: 4096-4294967295 # +# # +# # +# # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Salman # +# # +# Description: Test Cases of Dynamic System Variable max_binlog_cache_size # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + +######################################################################## +# START OF max_binlog_cache_size TESTS # +######################################################################## + + +######################################################################## +# Saving initial value of max_binlog_cache_size in a temporary variable# +######################################################################## + +SET @start_value = @@global.max_binlog_cache_size; +SELECT @start_value; + + +--echo '#--------------------FN_DYNVARS_072_01------------------------#' +######################################################################## +# Display the DEFAULT value of max_binlog_cache_size # +######################################################################## + +SET @@global.max_binlog_cache_size = 5000; +SET @@global.max_binlog_cache_size = DEFAULT; +SELECT @@global.max_binlog_cache_size; + + +--echo '#---------------------FN_DYNVARS_072_02-------------------------#' +############################################### +# Verify default value of variable # +############################################### + +SET @@global.max_binlog_cache_size = @start_value; +SELECT @@global.max_binlog_cache_size = 4294967295; +--echo 'Bug# 34876: Incorrect Default Value is assigned to variable'; + +--echo '#--------------------FN_DYNVARS_072_03------------------------#' +######################################################################## +# Change the value of max_binlog_cache_size to a valid value # +######################################################################## + +SET @@global.max_binlog_cache_size = 4096; +SELECT @@global.max_binlog_cache_size; +SET @@global.max_binlog_cache_size = 4294967295; +SELECT @@global.max_binlog_cache_size; +SET @@global.max_binlog_cache_size = 4294967294; +SELECT @@global.max_binlog_cache_size; +SET @@global.max_binlog_cache_size = 4097; +SELECT @@global.max_binlog_cache_size; +SET @@global.max_binlog_cache_size = 65535; +SELECT @@global.max_binlog_cache_size; +--echo 'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; + + +--echo '#--------------------FN_DYNVARS_072_04-------------------------#' +########################################################################### +# Change the value of max_binlog_cache_size to invalid value # +########################################################################### + +SET @@global.max_binlog_cache_size = -1; +SELECT @@global.max_binlog_cache_size; +SET @@global.max_binlog_cache_size = 100000000000; +SELECT @@global.max_binlog_cache_size; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.max_binlog_cache_size = 10000.01; +SELECT @@global.max_binlog_cache_size; +SET @@global.max_binlog_cache_size = -1024; +SELECT @@global.max_binlog_cache_size; +SET @@global.max_binlog_cache_size = 1024; +SELECT @@global.max_binlog_cache_size; +SET @@global.max_binlog_cache_size = 4294967296; +SELECT @@global.max_binlog_cache_size; +SET @@global.max_binlog_cache_size = 4095; +SELECT @@global.max_binlog_cache_size; + +--echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.max_binlog_cache_size = ON; +SELECT @@global.max_binlog_cache_size; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.max_binlog_cache_size = 'test'; +SELECT @@global.max_binlog_cache_size; + + +--echo '#-------------------FN_DYNVARS_072_05----------------------------#' +########################################################################### +# Test if accessing session max_binlog_cache_size gives error # +########################################################################### + +--Error ER_GLOBAL_VARIABLE +SET @@session.max_binlog_cache_size = 4096; +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.max_binlog_cache_size; + + +--echo '#----------------------FN_DYNVARS_072_06------------------------#' +############################################################################## +# Check if the value in GLOBAL & SESSION Tables matches values in variable # +############################################################################## + +SELECT @@global.max_binlog_cache_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='max_binlog_cache_size'; + +SELECT @@max_binlog_cache_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='max_binlog_cache_size'; + + +--echo '#---------------------FN_DYNVARS_072_07----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +SET @@global.max_binlog_cache_size = TRUE; +SELECT @@global.max_binlog_cache_size; +SET @@global.max_binlog_cache_size = FALSE; +SELECT @@global.max_binlog_cache_size; + + +--echo '#---------------------FN_DYNVARS_072_08----------------------#' +######################################################################################################## +# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable # +######################################################################################################## + +SET @@global.max_binlog_cache_size = 5000; +SELECT @@max_binlog_cache_size = @@global.max_binlog_cache_size; + + +--echo '#---------------------FN_DYNVARS_072_09----------------------#' +################################################################################ +# Check if max_binlog_cache_size can be accessed with and without @@ sign # +################################################################################ + +--Error ER_GLOBAL_VARIABLE +SET max_binlog_cache_size = 6000; +SELECT @@max_binlog_cache_size; +--Error ER_PARSE_ERROR +SET local.max_binlog_cache_size = 7000; +--Error ER_UNKNOWN_TABLE +SELECT local.max_binlog_cache_size; +--Error ER_PARSE_ERROR +SET global.max_binlog_cache_size = 8000; +--Error ER_UNKNOWN_TABLE +SELECT global.max_binlog_cache_size; +--Error ER_BAD_FIELD_ERROR +SELECT max_binlog_cache_size = @@session.max_binlog_cache_size; + + +############################## +# Restore initial value # +############################## + +SET @@global.max_binlog_cache_size = @start_value; +SELECT @@global.max_binlog_cache_size; + + +######################################################################## +# END OF max_binlog_cache_size TESTS # +######################################################################## diff --git a/mysql-test/include/max_connect_errors_basic.inc b/mysql-test/include/max_connect_errors_basic.inc new file mode 100644 index 00000000000..530022652a1 --- /dev/null +++ b/mysql-test/include/max_connect_errors_basic.inc @@ -0,0 +1,182 @@ +############## mysql-test\t\max_connect_errors_basic.test ############### +# # +# Variable Name: max_connect_errors # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: numeric # +# Default Value: 10 # +# Range: 1-4294967295 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Salman # +# # +# Description: Test Cases of Dynamic System Variable max_connect_errors # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + +################################################################## +# START OF max_connect_errors TESTS # +################################################################## + + +###################################################################### +# Saving initial value of max_connect_errors in a temporary variable # +###################################################################### + +SET @start_value = @@global.max_connect_errors; +SELECT @start_value; + + +--echo '#--------------------FN_DYNVARS_073_01------------------------#' +################################################################## +# Display the DEFAULT value of max_connect_errors # +################################################################## + +SET @@global.max_connect_errors = 5000; +SET @@global.max_connect_errors = DEFAULT; +SELECT @@global.max_connect_errors; +--echo 'Bug# 34876: This variable has invalid default value as compared to documentation'; + +--echo '#---------------------FN_DYNVARS_073_02-------------------------#' +############################################### +# Verify default value of variable # +############################################### + +SET @@global.max_connect_errors = @start_value; +SELECT @@global.max_connect_errors = 10; + +--echo '#--------------------FN_DYNVARS_073_03------------------------#' +################################################################## +# Change the value of max_connect_errors to a valid value # +################################################################## + +SET @@global.max_connect_errors = 4096; +SELECT @@global.max_connect_errors; +SET @@global.max_connect_errors = 4294967294; +SELECT @@global.max_connect_errors; +SET @@global.max_connect_errors = 4294967295; +SELECT @@global.max_connect_errors; +SET @@global.max_connect_errors = 1; +SELECT @@global.max_connect_errors; +SET @@global.max_connect_errors = 2; +SELECT @@global.max_connect_errors; +--echo 'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; + + +--echo '#--------------------FN_DYNVARS_073_04-------------------------#' +##################################################################### +# Change the value of max_connect_errors to invalid value # +##################################################################### + +SET @@global.max_connect_errors = -1; +SELECT @@global.max_connect_errors; +SET @@global.max_connect_errors = 100000000000; +SELECT @@global.max_connect_errors; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.max_connect_errors = 10000.01; +SELECT @@global.max_connect_errors; +SET @@global.max_connect_errors = -1024; +SELECT @@global.max_connect_errors; +SET @@global.max_connect_errors = 0; +SELECT @@global.max_connect_errors; +SET @@global.max_connect_errors = 4294967296; +SELECT @@global.max_connect_errors; + +--echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.max_connect_errors = ON; +SELECT @@global.max_connect_errors; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.max_connect_errors = 'test'; +SELECT @@global.max_connect_errors; + + +--echo '#-------------------FN_DYNVARS_073_05----------------------------#' +##################################################################### +# Test if accessing session max_connect_errors gives error # +##################################################################### + +--Error ER_GLOBAL_VARIABLE +SET @@session.max_connect_errors = 4096; +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.max_connect_errors; + + +--echo '#----------------------FN_DYNVARS_073_06------------------------#' +############################################################################## +# Check if the value in GLOBAL & SESSION Tables matches values in variable # +############################################################################## + +SELECT @@global.max_connect_errors = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='max_connect_errors'; + +SELECT @@max_connect_errors = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='max_connect_errors'; + + +--echo '#---------------------FN_DYNVARS_073_07----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +SET @@global.max_connect_errors = TRUE; +SELECT @@global.max_connect_errors; +SET @@global.max_connect_errors = FALSE; +SELECT @@global.max_connect_errors; + + +--echo '#---------------------FN_DYNVARS_073_08----------------------#' +######################################################################################################## +# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable # +######################################################################################################## + +SET @@global.max_connect_errors = 5000; +SELECT @@max_connect_errors = @@global.max_connect_errors; + + +--echo '#---------------------FN_DYNVARS_073_09----------------------#' +########################################################################## +# Check if max_connect_errors can be accessed with and without @@ sign # +########################################################################## + +--Error ER_GLOBAL_VARIABLE +SET max_connect_errors = 6000; +SELECT @@max_connect_errors; +--Error ER_PARSE_ERROR +SET local.max_connect_errors = 7000; +--Error ER_UNKNOWN_TABLE +SELECT local.max_connect_errors; +--Error ER_PARSE_ERROR +SET global.max_connect_errors = 8000; +--Error ER_UNKNOWN_TABLE +SELECT global.max_connect_errors; +--Error ER_BAD_FIELD_ERROR +SELECT max_connect_errors = @@session.max_connect_errors; + + +############################## +# Restore initial value # +############################## + +SET @@global.max_connect_errors = @start_value; +SELECT @@global.max_connect_errors; + + +################################################################## +# END OF max_connect_errors TESTS # +################################################################## + diff --git a/mysql-test/include/max_heap_table_size_basic.inc b/mysql-test/include/max_heap_table_size_basic.inc new file mode 100644 index 00000000000..d07ae094cde --- /dev/null +++ b/mysql-test/include/max_heap_table_size_basic.inc @@ -0,0 +1,222 @@ +############## mysql-test\t\max_heap_table_size_basic.test ############### +# # +# Variable Name: max_heap_table_size # +# Scope: GLOBAL | SESSION # +# Access Type: Dynamic # +# Data Type: numeric # +# Default Value: 16777216 # +# Range: 16384-4294967295 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Salman # +# # +# Description: Test Cases of Dynamic System Variable max_heap_table_size # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + +############################################################### +# START OF max_heap_table_size TESTS # +############################################################### + + +############################################################# +# Save initial value # +############################################################# + +SET @start_global_value = @@global.max_heap_table_size; +SELECT @start_global_value; +SET @start_session_value = @@session.max_heap_table_size; +SELECT @start_session_value; + + +--echo '#--------------------FN_DYNVARS_077_01-------------------------#' +############################################################### +# Display the DEFAULT value of max_heap_table_size # +############################################################### + +SET @@global.max_heap_table_size = 1677721610; +SET @@global.max_heap_table_size = DEFAULT; +SELECT @@global.max_heap_table_size; + +SET @@session.max_heap_table_size = 1677721610; +SET @@session.max_heap_table_size = DEFAULT; +SELECT @@session.max_heap_table_size; + + +--echo '#--------------------FN_DYNVARS_077_02-------------------------#' +################################################################## +# Check the DEFAULT value of max_heap_table_size # +################################################################## + +SET @@global.max_heap_table_size = DEFAULT; +SELECT @@global.max_heap_table_size = 16777216; + +SET @@session.max_heap_table_size = DEFAULT; +SELECT @@session.max_heap_table_size = 16777216; + + +--echo '#--------------------FN_DYNVARS_077_03-------------------------#' +############################################################################ +# Change the value of max_heap_table_size to a valid value for GLOBAL Scope # +############################################################################ + +SET @@global.max_heap_table_size = 16384; +SELECT @@global.max_heap_table_size; +SET @@global.max_heap_table_size = 16385; +SELECT @@global.max_heap_table_size; +SET @@global.max_heap_table_size = 65535; +SELECT @@global.max_heap_table_size; +SET @@global.max_heap_table_size = 4294967294; +SELECT @@global.max_heap_table_size; +SET @@global.max_heap_table_size = 4294967295; +SELECT @@global.max_heap_table_size; +--echo 'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; + + +--echo '#--------------------FN_DYNVARS_077_04-------------------------#' +############################################################################# +# Change the value of max_heap_table_size to a valid value for SESSION Scope # +############################################################################# + +SET @@session.max_heap_table_size = 16384; +SELECT @@session.max_heap_table_size; +SET @@session.max_heap_table_size = 16385; +SELECT @@session.max_heap_table_size; +SET @@session.max_heap_table_size = 65535; +SELECT @@session.max_heap_table_size; +SET @@session.max_heap_table_size = 4294967294; +SELECT @@session.max_heap_table_size; +SET @@session.max_heap_table_size = 4294967295; +SELECT @@session.max_heap_table_size; +--echo 'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; + + +--echo '#------------------FN_DYNVARS_077_05-----------------------#' +############################################################## +# Change the value of max_heap_table_size to an invalid value # +############################################################## + +SET @@global.max_heap_table_size = -1; +SELECT @@global.max_heap_table_size; +SET @@global.max_heap_table_size = -1024; +SELECT @@global.max_heap_table_size; +SET @@global.max_heap_table_size = 1024; +SELECT @@global.max_heap_table_size; +SET @@global.max_heap_table_size = 16383; +SELECT @@global.max_heap_table_size; +SET @@global.max_heap_table_size = 4294967296; +SELECT @@global.max_heap_table_size; +--Error ER_PARSE_ERROR +SET @@global.max_heap_table_size = 65530.34.; +SELECT @@global.max_heap_table_size; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.max_heap_table_size = test; +SELECT @@global.max_heap_table_size; + +SET @@session.max_heap_table_size = -1; +SELECT @@session.max_heap_table_size; +SET @@session.max_heap_table_size = 16383; +SELECT @@session.max_heap_table_size; +SET @@session.max_heap_table_size = 4294967296; +SELECT @@session.max_heap_table_size; +--Error ER_PARSE_ERROR +SET @@session.max_heap_table_size = 65530.34.; +SET @@session.max_heap_table_size = 10737418241; +SELECT @@session.max_heap_table_size; +--echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@session.max_heap_table_size = test; +SELECT @@session.max_heap_table_size; + + +--echo '#------------------FN_DYNVARS_077_06-----------------------#' +#################################################################### +# Check if the value in GLOBAL Table matches value in variable # +#################################################################### + + +SELECT @@global.max_heap_table_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='max_heap_table_size'; + +--echo '#------------------FN_DYNVARS_077_07-----------------------#' +#################################################################### +# Check if the value in SESSION Table matches value in variable # +#################################################################### + +SELECT @@session.max_heap_table_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='max_heap_table_size'; + + +--echo '#------------------FN_DYNVARS_077_08-----------------------#' +#################################################################### +# Check if TRUE and FALSE values can be used on variable # +#################################################################### + +SET @@global.max_heap_table_size = TRUE; +SELECT @@global.max_heap_table_size; +SET @@global.max_heap_table_size = FALSE; +SELECT @@global.max_heap_table_size; + + +--echo '#---------------------FN_DYNVARS_077_09----------------------#' +################################################################################# +# Check if accessing variable with and without GLOBAL point to same variable # +################################################################################# + +SET @@global.max_heap_table_size = 163845; +SELECT @@max_heap_table_size = @@global.max_heap_table_size; + + +--echo '#---------------------FN_DYNVARS_077_10----------------------#' +######################################################################################################## +# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable # +######################################################################################################## + +SET @@max_heap_table_size = 16777216; +SELECT @@max_heap_table_size = @@local.max_heap_table_size; +SELECT @@local.max_heap_table_size = @@session.max_heap_table_size; + + +--echo '#---------------------FN_DYNVARS_077_11----------------------#' +############################################################################# +# Check if max_heap_table_size can be accessed with and without @@ sign # +############################################################################# + +SET max_heap_table_size = 316777216; +SELECT @@max_heap_table_size; +--Error ER_UNKNOWN_TABLE +SELECT local.max_heap_table_size; +--Error ER_UNKNOWN_TABLE +SELECT session.max_heap_table_size; +--Error ER_BAD_FIELD_ERROR +SELECT max_heap_table_size = @@session.max_heap_table_size; + + +#################################### +# Restore initial value # +#################################### + +SET @@global.max_heap_table_size = @start_global_value; +SELECT @@global.max_heap_table_size; +SET @@session.max_heap_table_size = @start_session_value; +SELECT @@session.max_heap_table_size; + + +####################################################### +# END OF max_heap_table_size TESTS # +####################################################### + diff --git a/mysql-test/include/max_seeks_for_key_basic.inc b/mysql-test/include/max_seeks_for_key_basic.inc new file mode 100644 index 00000000000..23c3c5b2a95 --- /dev/null +++ b/mysql-test/include/max_seeks_for_key_basic.inc @@ -0,0 +1,213 @@ +############## mysql-test\t\max_seeks_for_key_basic.test ############### +# # +# Variable Name: max_seeks_for_key # +# Scope: GLOBAL | SESSION # +# Access Type: Dynamic # +# Data Type: numeric # +# Default Value: 4294967295 # +# Range: 1-4294967295 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Salman # +# # +# Description: Test Cases of Dynamic System Variable max_seeks_for_key # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + +################################################################# +# START OF max_seeks_for_key TESTS # +################################################################# + + +############################################################# +# Save initial value # +############################################################# + +SET @start_global_value = @@global.max_seeks_for_key; +SELECT @start_global_value; +SET @start_session_value = @@session.max_seeks_for_key; +SELECT @start_session_value; + + +--echo '#--------------------FN_DYNVARS_083_01-------------------------#' +################################################################# +# Display the DEFAULT value of max_seeks_for_key # +################################################################# + +SET @@global.max_seeks_for_key = 100; +SET @@global.max_seeks_for_key = DEFAULT; +SELECT @@global.max_seeks_for_key; + +SET @@session.max_seeks_for_key = 200; +SET @@session.max_seeks_for_key = DEFAULT; +SELECT @@session.max_seeks_for_key; + + +--echo '#--------------------FN_DYNVARS_083_02-------------------------#' +################################################################# +# Check the DEFAULT value of max_seeks_for_key # +################################################################# + +SET @@global.max_seeks_for_key = DEFAULT; +SELECT @@global.max_seeks_for_key = 4294967295; + +SET @@session.max_seeks_for_key = DEFAULT; +SELECT @@session.max_seeks_for_key = 4294967295; + + +--echo '#--------------------FN_DYNVARS_083_03-------------------------#' +########################################################################### +# Change the value of max_seeks_for_key to a valid value for GLOBAL Scope # +########################################################################### + +SET @@global.max_seeks_for_key = 1; +SELECT @@global.max_seeks_for_key; +SET @@global.max_seeks_for_key = 2; +SELECT @@global.max_seeks_for_key; +SET @@global.max_seeks_for_key = 65536; +SELECT @@global.max_seeks_for_key; +SET @@global.max_seeks_for_key = 4294967295; +SELECT @@global.max_seeks_for_key; +SET @@global.max_seeks_for_key = 4294967294; +SELECT @@global.max_seeks_for_key; + + +--echo '#--------------------FN_DYNVARS_083_04-------------------------#' +############################################################################ +# Change the value of max_seeks_for_key to a valid value for SESSION Scope # +############################################################################ +SET @@session.max_seeks_for_key = 1; +SELECT @@session.max_seeks_for_key; +SET @@session.max_seeks_for_key = 2; +SELECT @@session.max_seeks_for_key; +SET @@session.max_seeks_for_key = 4294967295; +SELECT @@session.max_seeks_for_key; +SET @@session.max_seeks_for_key = 4294967294; +SELECT @@session.max_seeks_for_key; +SET @@session.max_seeks_for_key = 65535; +SELECT @@session.max_seeks_for_key; + + +--echo '#------------------FN_DYNVARS_083_05-----------------------#' +############################################################# +# Change the value of max_seeks_for_key to an invalid value # +############################################################# + +SET @@global.max_seeks_for_key = 0; +SELECT @@global.max_seeks_for_key; +SET @@global.max_seeks_for_key = -1024; +SELECT @@global.max_seeks_for_key; +SET @@global.max_seeks_for_key = 4294967296; +SELECT @@global.max_seeks_for_key; +--Error ER_PARSE_ERROR +SET @@global.max_seeks_for_key = 65530.34.; +SELECT @@global.max_seeks_for_key; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.max_seeks_for_key = test; +SELECT @@global.max_seeks_for_key; + +SET @@session.max_seeks_for_key = 0; +SELECT @@session.max_seeks_for_key; +SET @@session.max_seeks_for_key = -2; +SELECT @@session.max_seeks_for_key; +--Error ER_PARSE_ERROR +SET @@session.max_seeks_for_key = 65530.34.; +SET @@session.max_seeks_for_key = 4294967296; +SELECT @@session.max_seeks_for_key; +--echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@session.max_seeks_for_key = test; +SELECT @@session.max_seeks_for_key; + + +--echo '#------------------FN_DYNVARS_083_06-----------------------#' +#################################################################### +# Check if the value in GLOBAL Table matches value in variable # +#################################################################### + + +SELECT @@global.max_seeks_for_key = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='max_seeks_for_key'; + +--echo '#------------------FN_DYNVARS_083_07-----------------------#' +#################################################################### +# Check if the value in SESSION Table matches value in variable # +#################################################################### + +SELECT @@session.max_seeks_for_key = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='max_seeks_for_key'; + + +--echo '#------------------FN_DYNVARS_083_08-----------------------#' +#################################################################### +# Check if TRUE and FALSE values can be used on variable # +#################################################################### + +SET @@global.max_seeks_for_key = TRUE; +SELECT @@global.max_seeks_for_key; +SET @@global.max_seeks_for_key = FALSE; +SELECT @@global.max_seeks_for_key; + + +--echo '#---------------------FN_DYNVARS_083_09----------------------#' +################################################################################# +# Check if accessing variable with and without GLOBAL point to same variable # +################################################################################# + +SET @@global.max_seeks_for_key = 10; +SELECT @@max_seeks_for_key = @@global.max_seeks_for_key; + + +--echo '#---------------------FN_DYNVARS_083_10----------------------#' +######################################################################################################## +# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable # +######################################################################################################## + +SET @@max_seeks_for_key = 100; +SELECT @@max_seeks_for_key = @@local.max_seeks_for_key; +SELECT @@local.max_seeks_for_key = @@session.max_seeks_for_key; + + +--echo '#---------------------FN_DYNVARS_083_11----------------------#' +############################################################################ +# Check if max_seeks_for_key can be accessed with and without @@ sign # +############################################################################ + +SET max_seeks_for_key = 1; +SELECT @@max_seeks_for_key; +--Error ER_UNKNOWN_TABLE +SELECT local.max_seeks_for_key; +--Error ER_UNKNOWN_TABLE +SELECT session.max_seeks_for_key; +--Error ER_BAD_FIELD_ERROR +SELECT max_seeks_for_key = @@session.max_seeks_for_key; + + +#################################### +# Restore initial value # +#################################### + +SET @@global.max_seeks_for_key = @start_global_value; +SELECT @@global.max_seeks_for_key; +SET @@session.max_seeks_for_key = @start_session_value; +SELECT @@session.max_seeks_for_key; + + +############################################################# +# END OF max_seeks_for_key TESTS # +############################################################# + diff --git a/mysql-test/include/max_tmp_tables_basic.inc b/mysql-test/include/max_tmp_tables_basic.inc new file mode 100644 index 00000000000..e24d97f47dd --- /dev/null +++ b/mysql-test/include/max_tmp_tables_basic.inc @@ -0,0 +1,227 @@ +############## mysql-test\t\max_tmp_tables_basic.test ############### +# # +# Variable Name: max_tmp_tables # +# Scope: GLOBAL | SESSION # +# Access Type: Dynamic # +# Data Type: numeric # +# Default Value: 32 # +# Range: 1-4294967295 # +# # +# # +# # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Salman # +# # +# Description: Test Cases of Dynamic System Variable max_tmp_tables # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + +#################################### +# START OF max_tmp_tables TESTS # +#################################### + + +############################################################# +# Save initial value # +############################################################# + +SET @start_global_value = @@global.max_tmp_tables; +SELECT @start_global_value; +SET @start_session_value = @@session.max_tmp_tables; +SELECT @start_session_value; + + +--echo '#--------------------FN_DYNVARS_086_01-------------------------#' +###################################################### +# Display the DEFAULT value of max_tmp_tables # +###################################################### + +SET @@global.max_tmp_tables = 1000; +SET @@global.max_tmp_tables = DEFAULT; +SELECT @@global.max_tmp_tables; + + +SET @@session.max_tmp_tables = 1000; +SET @@session.max_tmp_tables = DEFAULT; +SELECT @@session.max_tmp_tables; + + +--echo '#--------------------FN_DYNVARS_086_02-------------------------#' +###################################################### +# Check the DEFAULT value of max_tmp_tables # +###################################################### + +SET @@global.max_tmp_tables = DEFAULT; +SELECT @@global.max_tmp_tables = 32; + +SET @@session.max_tmp_tables = DEFAULT; +SELECT @@session.max_tmp_tables = 32; + + + +--echo '#--------------------FN_DYNVARS_086_03-------------------------#' +######################################################################## +# Change the value of max_tmp_tables to a valid value for GLOBAL Scope # +######################################################################## + +SET @@global.max_tmp_tables = 1; +SELECT @@global.max_tmp_tables; +SET @@global.max_tmp_tables = 2; +SELECT @@global.max_tmp_tables; +SET @@global.max_tmp_tables = 65536; +SELECT @@global.max_tmp_tables; +SET @@global.max_tmp_tables = 4294967295; +SELECT @@global.max_tmp_tables; +SET @@global.max_tmp_tables = 4294967294; +SELECT @@global.max_tmp_tables; + +--echo '#--------------------FN_DYNVARS_086_04-------------------------#' +######################################################################### +# Change the value of max_tmp_tables to a valid value for SESSION Scope # +######################################################################### + +SET @@session.max_tmp_tables = 1; +SELECT @@session.max_tmp_tables; + +SET @@session.max_tmp_tables = 2; +SELECT @@session.max_tmp_tables; + +SET @@session.max_tmp_tables = 65536; +SELECT @@session.max_tmp_tables; + +SET @@session.max_tmp_tables = 4294967295; +SELECT @@session.max_tmp_tables; + +SET @@session.max_tmp_tables = 4294967294; +SELECT @@session.max_tmp_tables; + + +--echo '#------------------FN_DYNVARS_086_05-----------------------#' +########################################################## +# Change the value of max_tmp_tables to an invalid value # +########################################################## + +SET @@global.max_tmp_tables = -1024; +SELECT @@global.max_tmp_tables; +SET @@global.max_tmp_tables = 4294967296; +SELECT @@global.max_tmp_tables; +SET @@global.max_tmp_tables = -1; +SELECT @@global.max_tmp_tables; +SET @@global.max_tmp_tables = 429496729500; +SELECT @@global.max_tmp_tables; +--Error ER_PARSE_ERROR +SET @@global.max_tmp_tables = 65530.34.; +SELECT @@global.max_tmp_tables; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.max_tmp_tables = test; +SELECT @@global.max_tmp_tables; + +SET @@session.max_tmp_tables = 4294967296; +SELECT @@session.max_tmp_tables; +SET @@session.max_tmp_tables = -1; +SELECT @@session.max_tmp_tables; +SET @@session.max_tmp_tables = 429496729500; +SELECT @@session.max_tmp_tables; +SET @@session.max_tmp_tables = -001; +SELECT @@session.max_tmp_tables; +--Error ER_PARSE_ERROR +SET @@session.max_tmp_tables = 65530.34.; +SET @@session.max_tmp_tables = 10737418241; +SELECT @@session.max_tmp_tables; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@session.max_tmp_tables = test; +SELECT @@session.max_tmp_tables; + + +--echo '#------------------FN_DYNVARS_086_06-----------------------#' +#################################################################### +# Check if the value in GLOBAL Table matches value in variable # +#################################################################### + + +SELECT @@global.max_tmp_tables = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='max_tmp_tables'; + +--echo '#------------------FN_DYNVARS_086_07-----------------------#' +#################################################################### +# Check if the value in SESSION Table matches value in variable # +#################################################################### + +SELECT @@session.max_tmp_tables = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='max_tmp_tables'; + + +--echo '#------------------FN_DYNVARS_086_08-----------------------#' +#################################################################### +# Check if TRUE and FALSE values can be used on variable # +#################################################################### + +SET @@global.max_tmp_tables = TRUE; +SELECT @@global.max_tmp_tables; +SET @@global.max_tmp_tables = FALSE; +SELECT @@global.max_tmp_tables; + + +--echo '#---------------------FN_DYNVARS_086_09----------------------#' +################################################################################# +# Check if accessing variable with and without GLOBAL point to same variable # +################################################################################# + +SET @@global.max_tmp_tables = 20; +SELECT @@max_tmp_tables = @@global.max_tmp_tables; + + +--echo '#---------------------FN_DYNVARS_086_10----------------------#' +######################################################################################################## +# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable # +######################################################################################################## + +SET @@max_tmp_tables = 255; +SELECT @@max_tmp_tables = @@local.max_tmp_tables; +SELECT @@local.max_tmp_tables = @@session.max_tmp_tables; + + +--echo '#---------------------FN_DYNVARS_086_11----------------------#' +######################################################################### +# Check if max_tmp_tables can be accessed with and without @@ sign # +######################################################################### + + +SET max_tmp_tables = 102; +SELECT @@max_tmp_tables; +--Error ER_UNKNOWN_TABLE +SELECT local.max_tmp_tables; +--Error ER_UNKNOWN_TABLE +SELECT session.max_tmp_tables; +--Error ER_BAD_FIELD_ERROR +SELECT max_tmp_tables = @@session.max_tmp_tables; + + +#################################### +# Restore initial value # +#################################### + +SET @@global.max_tmp_tables = @start_global_value; +SELECT @@global.max_tmp_tables; +SET @@session.max_tmp_tables = @start_session_value; +SELECT @@session.max_tmp_tables; + + +################################################### +# END OF max_tmp_tables TESTS # +################################################### + diff --git a/mysql-test/include/max_write_lock_count_basic.inc b/mysql-test/include/max_write_lock_count_basic.inc new file mode 100644 index 00000000000..80d5b7cc747 --- /dev/null +++ b/mysql-test/include/max_write_lock_count_basic.inc @@ -0,0 +1,158 @@ +############## mysql-test\t\max_write_lock_count_basic.test ############### +# # +# Variable Name: max_write_lock_count # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: numeric # +# Default Value: 4294967295 # +# Range:1-4294967295 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Salman # +# # +# Description: Test Cases of Dynamic System Variable max_write_lock_count # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + +########################################## +# START OF max_write_lock_count TESTS # +########################################## + + +############################################################# +# Save initial value # +############################################################# + +SET @start_global_value = @@global.max_write_lock_count; +SELECT @start_global_value; + + +--echo '#--------------------FN_DYNVARS_088_01-------------------------#' +############################################################ +# Display the DEFAULT value of max_write_lock_count # +############################################################ + +SET @@global.max_write_lock_count = 1000; +SET @@global.max_write_lock_count = DEFAULT; +SELECT @@global.max_write_lock_count; + + +--echo '#--------------------FN_DYNVARS_088_02-------------------------#' +############################################################ +# Check the DEFAULT value of max_write_lock_count # +############################################################ + +SET @@global.max_write_lock_count = DEFAULT; +SELECT @@global.max_write_lock_count = 4294967295; + + +--echo '#--------------------FN_DYNVARS_088_03-------------------------#' +############################################################################## +# Change the value of max_write_lock_count to a valid value for GLOBAL Scope # +############################################################################## + +SET @@global.max_write_lock_count = 1; +SELECT @@global.max_write_lock_count; +SET @@global.max_write_lock_count = 2; +SELECT @@global.max_write_lock_count; +SET @@global.max_write_lock_count = 65536; +SELECT @@global.max_write_lock_count; +SET @@global.max_write_lock_count = 4294967295; +SELECT @@global.max_write_lock_count; +SET @@global.max_write_lock_count = 4294967294; +SELECT @@global.max_write_lock_count; + + + +--echo '#------------------FN_DYNVARS_088_04-----------------------#' +################################################################ +# Change the value of max_write_lock_count to an invalid value # +################################################################ + +SET @@global.max_write_lock_count = -1024; +SELECT @@global.max_write_lock_count; +SET @@global.max_write_lock_count = 4294967296; +SELECT @@global.max_write_lock_count; +SET @@global.max_write_lock_count = -1; +SELECT @@global.max_write_lock_count; +SET @@global.max_write_lock_count = 429496729500; +SELECT @@global.max_write_lock_count; +--Error ER_PARSE_ERROR +SET @@global.max_write_lock_count = 65530.34.; +SELECT @@global.max_write_lock_count; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.max_write_lock_count = test; +SELECT @@global.max_write_lock_count; + + + +--echo '#------------------FN_DYNVARS_088_05-----------------------#' +#################################################################### +# Check if the value in GLOBAL Table matches value in variable # +#################################################################### + + +SELECT @@global.max_write_lock_count = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='max_write_lock_count'; + + +--echo '#------------------FN_DYNVARS_088_06-----------------------#' +#################################################################### +# Check if TRUE and FALSE values can be used on variable # +#################################################################### + +SET @@global.max_write_lock_count = TRUE; +SELECT @@global.max_write_lock_count; +SET @@global.max_write_lock_count = FALSE; +SELECT @@global.max_write_lock_count; + + +--echo '#---------------------FN_DYNVARS_088_07----------------------#' +################################################################################# +# Check if accessing variable with and without GLOBAL point to same variable # +################################################################################# + +SET @@global.max_write_lock_count = 20; +SELECT @@max_write_lock_count = @@global.max_write_lock_count; + + +--echo '#---------------------FN_DYNVARS_088_08----------------------#' +############################################################################### +# Check if max_write_lock_count can be accessed with and without @@ sign # +############################################################################### + + +SET @@global.max_write_lock_count = 102; +SELECT @@max_write_lock_count; +--Error ER_UNKNOWN_TABLE +SELECT local.max_write_lock_count; +--Error ER_UNKNOWN_TABLE +SELECT global.max_write_lock_count; +--Error ER_BAD_FIELD_ERROR +SELECT max_write_lock_count = @@global.max_write_lock_count; + + +#################################### +# Restore initial value # +#################################### + +SET @@global.max_write_lock_count = @start_global_value; +SELECT @@global.max_write_lock_count; + + +################################################### +# END OF max_write_lock_count TESTS # +################################################### + diff --git a/mysql-test/include/min_examined_row_limit_basic.inc b/mysql-test/include/min_examined_row_limit_basic.inc new file mode 100644 index 00000000000..c032d4a9d6d --- /dev/null +++ b/mysql-test/include/min_examined_row_limit_basic.inc @@ -0,0 +1,219 @@ +############## mysql-test\t\min_examined_row_limit_basic.test ############### +# # +# Variable Name: min_examined_row_limit # +# Scope: GLOBAL | SESSION # +# Access Type: Dynamic # +# Data Type: numeric # +# Default Value: 0 # +# Range:0-4294967295 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Salman # +# # +# Description: Test Cases of Dynamic System Variable min_examined_row_limit # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + +###################################################################### +# START OF min_examined_row_limit TESTS # +###################################################################### + + +############################################################# +# Save initial value # +############################################################# + +SET @start_global_value = @@global.min_examined_row_limit; +SELECT @start_global_value; +SET @start_session_value = @@session.min_examined_row_limit; +SELECT @start_session_value; + + +--echo '#--------------------FN_DYNVARS_089_01-------------------------#' +###################################################################### +# Display the DEFAULT value of min_examined_row_limit # +###################################################################### + +SET @@global.min_examined_row_limit = 100; +SET @@global.min_examined_row_limit = DEFAULT; +SELECT @@global.min_examined_row_limit; + +SET @@session.min_examined_row_limit = 200; +SET @@session.min_examined_row_limit = DEFAULT; +SELECT @@session.min_examined_row_limit; + + +--echo '#--------------------FN_DYNVARS_089_02-------------------------#' +######################################################################## +# Check the DEFAULT value of min_examined_row_limit # +######################################################################## + +SET @@global.min_examined_row_limit = DEFAULT; +SELECT @@global.min_examined_row_limit = 0; + +SET @@session.min_examined_row_limit = DEFAULT; +SELECT @@session.min_examined_row_limit = 0; + + +--echo '#--------------------FN_DYNVARS_089_03-------------------------#' +################################################################################ +# Change the value of min_examined_row_limit to a valid value for GLOBAL Scope # +################################################################################ + +SET @@global.min_examined_row_limit = 0; +SELECT @@global.min_examined_row_limit; +SET @@global.min_examined_row_limit = 1; +SELECT @@global.min_examined_row_limit; +SET @@global.min_examined_row_limit = 60020; +SELECT @@global.min_examined_row_limit; +SET @@global.min_examined_row_limit = 65535; +SELECT @@global.min_examined_row_limit; +SET @@global.min_examined_row_limit = 4294967295; +SELECT @@global.min_examined_row_limit; +SET @@global.min_examined_row_limit = 4294967294; +SELECT @@global.min_examined_row_limit; + + + +--echo '#--------------------FN_DYNVARS_089_04-------------------------#' +################################################################################### +# Change the value of min_examined_row_limit to a valid value for SESSION Scope # +################################################################################### + +SET @@session.min_examined_row_limit = 0; +SELECT @@session.min_examined_row_limit; +SET @@session.min_examined_row_limit = 1; +SELECT @@session.min_examined_row_limit; +SET @@session.min_examined_row_limit = 50050; +SELECT @@session.min_examined_row_limit; +SET @@session.min_examined_row_limit = 65535; +SELECT @@session.min_examined_row_limit; +SET @@session.min_examined_row_limit = 4294967295; +SELECT @@session.min_examined_row_limit; +SET @@session.min_examined_row_limit = 4294967294; +SELECT @@session.min_examined_row_limit; + + +--echo '#------------------FN_DYNVARS_089_05-----------------------#' +#################################################################### +# Change the value of min_examined_row_limit to an invalid value # +#################################################################### + +SET @@global.min_examined_row_limit = 429496726; +SELECT @@global.min_examined_row_limit; +SET @@global.min_examined_row_limit = -1024; +SELECT @@global.min_examined_row_limit; +SET @@global.min_examined_row_limit = 429496729500; +SELECT @@global.min_examined_row_limit; +--Error ER_PARSE_ERROR +SET @@global.min_examined_row_limit = 65530.34.; +SELECT @@global.min_examined_row_limit; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.min_examined_row_limit = test; +SELECT @@global.min_examined_row_limit; + +SET @@session.min_examined_row_limit = 4294967296; +SELECT @@session.min_examined_row_limit; +SET @@session.min_examined_row_limit = -1; +SELECT @@session.min_examined_row_limit; +--Error ER_PARSE_ERROR +SET @@session.min_examined_row_limit = 65530.34.; +SET @@session.min_examined_row_limit = 4294967295021; +SELECT @@session.min_examined_row_limit; +--echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@session.min_examined_row_limit = test; +SELECT @@session.min_examined_row_limit; + + +--echo '#------------------FN_DYNVARS_089_06-----------------------#' +#################################################################### +# Check if the value in GLOBAL Table matches value in variable # +#################################################################### + + +SELECT @@global.min_examined_row_limit = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='min_examined_row_limit'; + +--echo '#------------------FN_DYNVARS_089_07-----------------------#' +#################################################################### +# Check if the value in SESSION Table matches value in variable # +#################################################################### + +SELECT @@session.min_examined_row_limit = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='min_examined_row_limit'; + + +--echo '#------------------FN_DYNVARS_089_08-----------------------#' +#################################################################### +# Check if TRUE and FALSE values can be used on variable # +#################################################################### + +SET @@global.min_examined_row_limit = TRUE; +SELECT @@global.min_examined_row_limit; +SET @@global.min_examined_row_limit = FALSE; +SELECT @@global.min_examined_row_limit; + + +--echo '#---------------------FN_DYNVARS_089_09----------------------#' +#################################################################################### +# Check if accessing variable with and without GLOBAL point to same variable # +#################################################################################### + +SET @@global.min_examined_row_limit = 10; +SELECT @@min_examined_row_limit = @@global.min_examined_row_limit; + + +--echo '#---------------------FN_DYNVARS_089_10----------------------#' +######################################################################################################## +# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable # +######################################################################################################## + +SET @@min_examined_row_limit = 100; +SELECT @@min_examined_row_limit = @@local.min_examined_row_limit; +SELECT @@local.min_examined_row_limit = @@session.min_examined_row_limit; + + +--echo '#---------------------FN_DYNVARS_089_11----------------------#' +################################################################################### +# Check if min_examined_row_limit can be accessed with and without @@ sign # +################################################################################### + +SET min_examined_row_limit = 1; +SELECT @@min_examined_row_limit; +--Error ER_UNKNOWN_TABLE +SELECT local.min_examined_row_limit; +--Error ER_UNKNOWN_TABLE +SELECT session.min_examined_row_limit; +--Error ER_BAD_FIELD_ERROR +SELECT min_examined_row_limit = @@session.min_examined_row_limit; + + +#################################### +# Restore initial value # +#################################### + +SET @@global.min_examined_row_limit = @start_global_value; +SELECT @@global.min_examined_row_limit; +SET @@session.min_examined_row_limit = @start_session_value; +SELECT @@session.min_examined_row_limit; + + +############################################################# +# END OF min_examined_row_limit TESTS # +############################################################# + diff --git a/mysql-test/include/mix1.inc b/mysql-test/include/mix1.inc index 3eb74dda929..ab3c954d0e2 100644 --- a/mysql-test/include/mix1.inc +++ b/mysql-test/include/mix1.inc @@ -1310,6 +1310,7 @@ SELECT * FROM t1; --echo # Switch to connection con2 connection con2; +--reap SELECT * FROM t1; --echo # Switch to connection con1 diff --git a/mysql-test/include/multi_range_count_basic.inc b/mysql-test/include/multi_range_count_basic.inc new file mode 100644 index 00000000000..47e8352196f --- /dev/null +++ b/mysql-test/include/multi_range_count_basic.inc @@ -0,0 +1,219 @@ +############## mysql-test\t\multi_range_count_basic.test ############### +# # +# Variable Name: multi_range_count # +# Scope: GLOBAL | SESSION # +# Access Type: Dynamic # +# Data Type: numeric # +# Default Value: 256 # +# Range:1-4294967295 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Salman # +# # +# Description: Test Cases of Dynamic System Variable multi_range_count # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + +################################################################# +# START OF multi_range_count TESTS # +################################################################# + + +############################################################# +# Save initial value # +############################################################# + +SET @start_global_value = @@global.multi_range_count; +SELECT @start_global_value; +SET @start_session_value = @@session.multi_range_count; +SELECT @start_session_value; + + +--echo '#--------------------FN_DYNVARS_090_01-------------------------#' +################################################################# +# Display the DEFAULT value of multi_range_count # +################################################################# + +SET @@global.multi_range_count = 100; +SET @@global.multi_range_count = DEFAULT; +SELECT @@global.multi_range_count; + +SET @@session.multi_range_count = 200; +SET @@session.multi_range_count = DEFAULT; +SELECT @@session.multi_range_count; + + +--echo '#--------------------FN_DYNVARS_090_02-------------------------#' +################################################################# +# Check the DEFAULT value of multi_range_count # +################################################################# + +SET @@global.multi_range_count = DEFAULT; +SELECT @@global.multi_range_count = 256; + +SET @@session.multi_range_count = DEFAULT; +SELECT @@session.multi_range_count = 256; + + +--echo '#--------------------FN_DYNVARS_090_03-------------------------#' +########################################################################### +# Change the value of multi_range_count to a valid value for GLOBAL Scope # +########################################################################### + +SET @@global.multi_range_count = 1; +SELECT @@global.multi_range_count; +SET @@global.multi_range_count = 60020; +SELECT @@global.multi_range_count; +SET @@global.multi_range_count = 65535; +SELECT @@global.multi_range_count; +SET @@global.multi_range_count = 4294967295; +SELECT @@global.multi_range_count; +SET @@global.multi_range_count = 4294967294; +SELECT @@global.multi_range_count; + + + +--echo '#--------------------FN_DYNVARS_090_04-------------------------#' +############################################################################ +# Change the value of multi_range_count to a valid value for SESSION Scope # +############################################################################ + +SET @@session.multi_range_count = 1; +SELECT @@session.multi_range_count; +SET @@session.multi_range_count = 50050; +SELECT @@session.multi_range_count; +SET @@session.multi_range_count = 65535; +SELECT @@session.multi_range_count; +SET @@session.multi_range_count = 4294967295; +SELECT @@session.multi_range_count; +SET @@session.multi_range_count = 4294967294; +SELECT @@session.multi_range_count; + + +--echo '#------------------FN_DYNVARS_090_05-----------------------#' +############################################################# +# Change the value of multi_range_count to an invalid value # +############################################################# + +SET @@global.multi_range_count = 0; +SELECT @@global.multi_range_count; +SET @@global.multi_range_count = 4294967296; +SELECT @@global.multi_range_count; +SET @@global.multi_range_count = -1024; +SELECT @@global.multi_range_count; +SET @@global.multi_range_count = 429496729500; +SELECT @@global.multi_range_count; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.multi_range_count = 65530.34; +SELECT @@global.multi_range_count; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.multi_range_count = test; +SELECT @@global.multi_range_count; + +SET @@session.multi_range_count = 0; +SELECT @@session.multi_range_count; +SET @@session.multi_range_count = 4294967296; +SELECT @@session.multi_range_count; +SET @@session.multi_range_count = -1; +SELECT @@session.multi_range_count; +--Error ER_PARSE_ERROR +SET @@session.multi_range_count = 65530.34.; +SET @@session.multi_range_count = 4294967295021; +SELECT @@session.multi_range_count; +--echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@session.multi_range_count = test; +SELECT @@session.multi_range_count; + + +--echo '#------------------FN_DYNVARS_090_06-----------------------#' +#################################################################### +# Check if the value in GLOBAL Table matches value in variable # +#################################################################### + + +SELECT @@global.multi_range_count = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='multi_range_count'; + +--echo '#------------------FN_DYNVARS_090_07-----------------------#' +#################################################################### +# Check if the value in SESSION Table matches value in variable # +#################################################################### + +SELECT @@session.multi_range_count = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='multi_range_count'; + + +--echo '#------------------FN_DYNVARS_090_08-----------------------#' +#################################################################### +# Check if TRUE and FALSE values can be used on variable # +#################################################################### + +SET @@global.multi_range_count = TRUE; +SELECT @@global.multi_range_count; +SET @@global.multi_range_count = FALSE; +SELECT @@global.multi_range_count; + + +--echo '#---------------------FN_DYNVARS_090_09----------------------#' +################################################################################# +# Check if accessing variable with and without GLOBAL point to same variable # +################################################################################# + +SET @@global.multi_range_count = 10; +SELECT @@multi_range_count = @@global.multi_range_count; + + +--echo '#---------------------FN_DYNVARS_090_10----------------------#' +######################################################################################################## +# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable # +######################################################################################################## + +SET @@multi_range_count = 100; +SELECT @@multi_range_count = @@local.multi_range_count; +SELECT @@local.multi_range_count = @@session.multi_range_count; + + +--echo '#---------------------FN_DYNVARS_090_11----------------------#' +############################################################################ +# Check if multi_range_count can be accessed with and without @@ sign # +############################################################################ + +SET multi_range_count = 1; +SELECT @@multi_range_count; +--Error ER_UNKNOWN_TABLE +SELECT local.multi_range_count; +--Error ER_UNKNOWN_TABLE +SELECT session.multi_range_count; +--Error ER_BAD_FIELD_ERROR +SELECT multi_range_count = @@session.multi_range_count; + + +#################################### +# Restore initial value # +#################################### + +SET @@global.multi_range_count = @start_global_value; +SELECT @@global.multi_range_count; +SET @@session.multi_range_count = @start_session_value; +SELECT @@session.multi_range_count; + + +###################################################### +# END OF multi_range_count TESTS # +###################################################### + diff --git a/mysql-test/include/myisam_max_sort_file_size_basic.inc b/mysql-test/include/myisam_max_sort_file_size_basic.inc new file mode 100644 index 00000000000..23f0607b439 --- /dev/null +++ b/mysql-test/include/myisam_max_sort_file_size_basic.inc @@ -0,0 +1,184 @@ + +############## mysql-test\t\myisam_max_sort_file_size_basic.test ################ +# # +# Variable Name: myisam_max_sort_file_size # +# Scope: GLOBAL & SESSION # +# Access Type: Dynamic # +# Data Type: Numeric # +# Default Value: 1 # +# Range: 1 - 65536 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Rizwan Maredia # +# # +# Description: Test Cases of Dynamic System Variable myisam_max_sort_file_size # +# that checks the behavior of this variable in the following ways # +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +################################################################################ + +--source include/load_sysvars.inc + +################################################################### +# START OF myisam_max_sort_file_size TESTS # +################################################################### + + +############################################################# +# Save initial value # +############################################################# + +SET @start_global_value = @@global.myisam_max_sort_file_size; +SELECT @start_global_value; + +--echo '#--------------------FN_DYNVARS_094_01-------------------------#' +################################################################### +# Display the DEFAULT value of myisam_max_sort_file_size # +################################################################### + +SET @@global.myisam_max_sort_file_size = 500000; +SET @@global.myisam_max_sort_file_size = DEFAULT; +SELECT @@global.myisam_max_sort_file_size; + +--echo 'Bug# 34876: This variable has invalid default value as compared to documentation'; + +--echo '#--------------------FN_DYNVARS_094_02-------------------------#' +################################################################### +# Check the DEFAULT value of myisam_max_sort_file_size # +################################################################### + +SET @@global.myisam_max_sort_file_size = DEFAULT; +SELECT @@global.myisam_max_sort_file_size = 2147483648; + +--echo '#--------------------FN_DYNVARS_094_03-------------------------#' +################################################################################## +# Change the value of myisam_max_sort_file_size to a valid value for GLOBAL Scope # +################################################################################## + +SET @@global.myisam_max_sort_file_size = 0; +SELECT @@global.myisam_max_sort_file_size; +SET @@global.myisam_max_sort_file_size = 1024; +SELECT @@global.myisam_max_sort_file_size; +SET @@global.myisam_max_sort_file_size = 123456789; +SELECT @@global.myisam_max_sort_file_size; +SET @@global.myisam_max_sort_file_size = 2147483648*2; +SELECT @@global.myisam_max_sort_file_size; +SET @@global.myisam_max_sort_file_size = 2147483648*1024; +SELECT @@global.myisam_max_sort_file_size; +SELECT @@global.myisam_max_sort_file_size; +SET @@global.myisam_max_sort_file_size = 2147483648*2147483648; + +--echo '#--------------------FN_DYNVARS_094_04-------------------------#' +################################################################################# +# Check if variable can be access with session scope # +################################################################################# + +--Error ER_GLOBAL_VARIABLE +SET @@myisam_max_sort_file_size = 2; + +--Error ER_GLOBAL_VARIABLE +SET @@session.myisam_max_sort_file_size = 3; + +--Error ER_GLOBAL_VARIABLE +SET @@local.myisam_max_sort_file_size = 4; + + + +--echo '#------------------FN_DYNVARS_094_05-----------------------#' +#################################################################### +# Change the value of myisam_max_sort_file_size to an invalid value # +#################################################################### + +SET @@global.myisam_max_sort_file_size = -1; +SELECT @@global.myisam_max_sort_file_size; +SET @@global.myisam_max_sort_file_size = -2147483648; +SELECT @@global.myisam_max_sort_file_size; +SET @@global.myisam_max_sort_file_size = -2147483649; +SELECT @@global.myisam_max_sort_file_size; +--Error ER_PARSE_ERROR +SET @@global.myisam_max_sort_file_size = 65530.34.; +SELECT @@global.myisam_max_sort_file_size; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.myisam_max_sort_file_size = 2147483649.56; +SELECT @@global.myisam_max_sort_file_size; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.myisam_max_sort_file_size = 1G; + +--echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + + +--echo '#------------------FN_DYNVARS_094_06-----------------------#' +#################################################################### +# Check if the value in GLOBAL Table matches value in variable # +#################################################################### + +SET @@global.myisam_max_sort_file_size = 3000; +SELECT @@global.myisam_max_sort_file_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='myisam_max_sort_file_size'; + + +--echo '#------------------FN_DYNVARS_094_07-----------------------#' +########################################################################### +# Check if the value is present in INFORMATION_SCHEMA.SESSION_VARIABLES # +########################################################################### + +SELECT count(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='myisam_max_sort_file_size'; + + +--echo '#------------------FN_DYNVARS_094_08-----------------------#' +#################################################################### +# Check if TRUE and FALSE values can be used on variable # +#################################################################### + +SET @@global.myisam_max_sort_file_size = TRUE; +SELECT @@global.myisam_max_sort_file_size; +SET @@global.myisam_max_sort_file_size = FALSE; +SELECT @@global.myisam_max_sort_file_size; + + +--echo '#---------------------FN_DYNVARS_001_09----------------------#' +################################################################################# +# Check if accessing variable with and without GLOBAL point to same variable # +################################################################################# + + +SET @@global.myisam_max_sort_file_size = 512; +SELECT @@myisam_max_sort_file_size = @@global.myisam_max_sort_file_size; + + +--echo '#---------------------FN_DYNVARS_001_10----------------------#' +################################################################################## +# Check if myisam_max_sort_file_size can be accessed without @@ sign and scope # +################################################################################## + +--Error ER_GLOBAL_VARIABLE +SET myisam_max_sort_file_size = 2048; +--Error ER_BAD_FIELD_ERROR +SELECT myisam_max_sort_file_size; + +SELECT @@myisam_max_sort_file_size; + +#verifying another syntax for setting value# +SET global myisam_max_sort_file_size = 64; + +#################################### +# Restore initial value # +#################################### + +SET @@global.myisam_max_sort_file_size = @start_global_value; +SELECT @@global.myisam_max_sort_file_size; + +######################################################## +# END OF myisam_max_sort_file_size TESTS # +######################################################## + diff --git a/mysql-test/include/myisam_repair_threads_basic.inc b/mysql-test/include/myisam_repair_threads_basic.inc new file mode 100644 index 00000000000..8485e79ff03 --- /dev/null +++ b/mysql-test/include/myisam_repair_threads_basic.inc @@ -0,0 +1,242 @@ +############## mysql-test\t\myisam_repair_threads_basic.test ################## +# # +# Variable Name: myisam_repair_threads # +# Scope: GLOBAL | SESSION # +# Access Type: Dynamic # +# Data Type: numeric # +# Default Value: 1 # +# Range: 1-4294967295 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Sharique Abdullah # +# # +# Description: Test Cases of Dynamic System Variable myisam_repair_threads # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + +###################################################################### +# START OF myisam_repair_threads TESTS # +###################################################################### + + +############################################################# +# Save initial value # +############################################################# + +SET @start_global_value = @@global.myisam_repair_threads; +SELECT @start_global_value; +SET @start_session_value = @@session.myisam_repair_threads; +SELECT @start_session_value; + + +--echo '#--------------------FN_DYNVARS_005_01-------------------------#' +################################################################# +# Display the DEFAULT value of myisam_block_size # +################################################################# + +SET @@global.myisam_repair_threads = 100; +SET @@global.myisam_repair_threads = DEFAULT; +SELECT @@global.myisam_repair_threads ; + +SET @@session.myisam_repair_threads = 200; +SET @@session.myisam_repair_threads = DEFAULT; +SELECT @@session.myisam_repair_threads ; + + +--echo '#--------------------FN_DYNVARS_005_02-------------------------#' +###################################################################### +# Check the DEFAULT value of myisam_repair_threads # +###################################################################### + +SET @@global.myisam_repair_threads = DEFAULT; +SELECT @@global.myisam_repair_threads = 1; + +SET @@session.myisam_repair_threads = DEFAULT; +SELECT @@session.myisam_repair_threads = 1; + + +--echo '#--------------------FN_DYNVARS_005_03-------------------------#' +############################################################################### +# Change the value of myisam_repair_threads to a valid value for GLOBAL Scope# +############################################################################### + +SET @@global.myisam_repair_threads = 1; +SELECT @@global.myisam_repair_threads ; + +SET @@global.myisam_repair_threads = 4294967295; +SELECT @@global.myisam_repair_threads ; + +SET @@global.myisam_repair_threads = 655354; +SELECT @@global.myisam_repair_threads ; + + +--echo '#--------------------FN_DYNVARS_005_04-------------------------#' +############################################################################### +# Change the value of myisam_repair_threads to a valid value for SESSION +# Scope +############################################################################### + +SET @@session.myisam_repair_threads = 1; +SELECT @@session.myisam_repair_threads ; + +SET @@session.myisam_repair_threads = 4294967295; +SELECT @@session.myisam_repair_threads ; + +SET @@session.myisam_repair_threads = 655345; +SELECT @@session.myisam_repair_threads ; + + + + +--echo '#------------------FN_DYNVARS_005_05-----------------------#' +################################################################## +# Change the value of myisam_repair_threads to an invalid value # +################################################################## + +SET @@global.myisam_repair_threads = 0; +SELECT @@global.myisam_repair_threads ; + +SET @@global.myisam_repair_threads = -1024; +SELECT @@global.myisam_repair_threads ; + +SET @@global.myisam_repair_threads = 429496729533; +SELECT @@global.myisam_repair_threads ; + + +--Error ER_PARSE_ERROR +SET @@global.myisam_repair_threads = 65530.34.; +SELECT @@global.myisam_repair_threads ; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.myisam_repair_threads = test; +SELECT @@global.myisam_repair_threads ; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.myisam_repair_threads = "test"; +SELECT @@global.myisam_repair_threads ; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.myisam_repair_threads = 'test'; +SELECT @@global.myisam_repair_threads ; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.myisam_repair_threads = ON; +SELECT @@global.myisam_repair_threads ; + + +SET @@session.myisam_repair_threads = 0; +SELECT @@session.myisam_repair_threads ; + +SET @@session.myisam_repair_threads = -2; +SELECT @@session.myisam_repair_threads ; + +--Error ER_PARSE_ERROR + +SET @@session.myisam_repair_threads = 65530.34.; +SELECT @@session.myisam_repair_threads ; + + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@session.myisam_repair_threads = test; +SELECT @@session.myisam_repair_threads ; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@session.myisam_repair_threads = "test"; +SELECT @@session.myisam_repair_threads ; + + +--echo '#------------------FN_DYNVARS_005_06-----------------------#' +#################################################################### +# Check if the value in GLOBAL Table matches value in variable # +#################################################################### + + +SELECT @@global.myisam_repair_threads = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='myisam_repair_threads '; + +--echo '#------------------FN_DYNVARS_005_07-----------------------#' +#################################################################### +# Check if the value in SESSION Table matches value in variable # +#################################################################### + +SELECT @@session.myisam_repair_threads = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='myisam_repair_threads '; + + +--echo '#------------------FN_DYNVARS_005_08-----------------------#' +#################################################################### +# Check if TRUE and FALSE values can be used on variable # +#################################################################### + +SET @@global.myisam_repair_threads = TRUE; +SELECT @@global.myisam_repair_threads ; +SET @@global.myisam_repair_threads = FALSE; +SELECT @@global.myisam_repair_threads ; + + + +--echo '#---------------------FN_DYNVARS_001_09----------------------#' +############################################################################### +# Check if accessing variable with and without GLOBAL point to same variable # +############################################################################### + +SET @@global.myisam_repair_threads = 10; +SELECT @@myisam_repair_threads = @@global.myisam_repair_threads ; + + +--echo '#---------------------FN_DYNVARS_001_10----------------------#' +######################################################################################################## +# Check if accessing variable with SESSION,LOCAL and without SCOPE points to +# same session variable # +######################################################################################################## + +SET @@myisam_repair_threads = 100; +SELECT @@myisam_repair_threads = @@local.myisam_repair_threads ; +SELECT @@local.myisam_repair_threads = @@session.myisam_repair_threads ; + + +--echo '#---------------------FN_DYNVARS_001_11----------------------#' +################################################################################### +# Check if myisam_repair_threads can be accessed with and without @@ sign # +################################################################################### + +SET myisam_repair_threads = 1; +SELECT @@myisam_repair_threads ; +--Error ER_UNKNOWN_TABLE + +SELECT local.myisam_repair_threads ; + +--Error ER_UNKNOWN_TABLE +SELECT session.myisam_repair_threads ; + +--Error ER_BAD_FIELD_ERROR +SELECT myisam_repair_threads = @@session.myisam_repair_threads ; + + +#################################### +# Restore initial value # +#################################### + +SET @@global.myisam_repair_threads = @start_global_value; +SELECT @@global.myisam_repair_threads ; +SET @@session.myisam_repair_threads = @start_session_value; +SELECT @@session.myisam_repair_threads ; + + +############################################################# +# END OF myisam_repair_threads TESTS # +############################################################# + diff --git a/mysql-test/include/myisam_sort_buffer_size_basic.inc b/mysql-test/include/myisam_sort_buffer_size_basic.inc new file mode 100644 index 00000000000..8e36d8a2c70 --- /dev/null +++ b/mysql-test/include/myisam_sort_buffer_size_basic.inc @@ -0,0 +1,240 @@ +############## mysql-test\t\myisam_sort_buffer_size_basic.test ############### +# # +# Variable Name: myisam_sort_buffer_size # +# Scope: GLOBAL | SESSION # +# Access Type: Dynamic # +# Data Type: numeric # +# Default Value: # +# Range: # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Rizwan # +# # +# Description: Test Cases of Dynamic System Variable myisam_sort_buffer_size # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + +######################################################################## +# START OF myisam_sort_buffer_size TESTS # +######################################################################## + + +############################################################# +# Save initial value # +############################################################# + +SET @start_global_value = @@global.myisam_sort_buffer_size ; +SELECT @start_global_value; +SET @start_session_value = @@session.myisam_sort_buffer_size ; +SELECT @start_session_value; + + +--echo '#--------------------FN_DYNVARS_005_01-------------------------#' +######################################################################## +# Display the DEFAULT value of myisam_block_size # +######################################################################## + +SET @@global.myisam_sort_buffer_size = 100; +SET @@global.myisam_sort_buffer_size = DEFAULT; +SELECT @@global.myisam_sort_buffer_size ; + +SET @@session.myisam_sort_buffer_size = 200; +SET @@session.myisam_sort_buffer_size = DEFAULT; +SELECT @@session.myisam_sort_buffer_size ; + + +--echo '#--------------------FN_DYNVARS_005_02-------------------------#' +######################################################################## +# Check the DEFAULT value of myisam_sort_buffer_size # +######################################################################## + +SET @@global.myisam_sort_buffer_size = DEFAULT; +SELECT @@global.myisam_sort_buffer_size = 8388608; + +SET @@session.myisam_sort_buffer_size = DEFAULT; +SELECT @@session.myisam_sort_buffer_size = 8388608; + + +--echo '#--------------------FN_DYNVARS_005_03-------------------------#' +################################################################################## +# Change the value of myisam_sort_buffer_size to a valid value for GLOBAL Scope # +################################################################################## + +SET @@global.myisam_sort_buffer_size = 4; +SELECT @@global.myisam_sort_buffer_size ; + +SET @@global.myisam_sort_buffer_size = 4294967295; +SELECT @@global.myisam_sort_buffer_size ; + +SET @@global.myisam_sort_buffer_size = 655354; +SELECT @@global.myisam_sort_buffer_size ; + + +--echo '#--------------------FN_DYNVARS_005_04-------------------------#' +################################################################################### +# Change the value of myisam_sort_buffer_size to a valid value for SESSION Scope # +################################################################################### + +SET @@session.myisam_sort_buffer_size = 4; +SELECT @@session.myisam_sort_buffer_size ; + +SET @@session.myisam_sort_buffer_size = 4294967295; +SELECT @@session.myisam_sort_buffer_size ; + +SET @@session.myisam_sort_buffer_size = 655345; +SELECT @@session.myisam_sort_buffer_size ; + + + + +--echo '#------------------FN_DYNVARS_005_05-----------------------#' +#################################################################### +# Change the value of myisam_sort_buffer_size to an invalid value # +#################################################################### + +SET @@global.myisam_sort_buffer_size = 0; +SELECT @@global.myisam_sort_buffer_size ; + +SET @@global.myisam_sort_buffer_size = -1024; +SELECT @@global.myisam_sort_buffer_size ; + +SET @@global.myisam_sort_buffer_size = 429496729533; +SELECT @@global.myisam_sort_buffer_size ; + + +--Error ER_PARSE_ERROR +SET @@global.myisam_sort_buffer_size = 65530.34.; +SELECT @@global.myisam_sort_buffer_size ; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.myisam_sort_buffer_size = test; +SELECT @@global.myisam_sort_buffer_size ; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.myisam_sort_buffer_size = "test"; +SELECT @@global.myisam_sort_buffer_size ; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.myisam_sort_buffer_size = 'test'; +SELECT @@global.myisam_sort_buffer_size ; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.myisam_sort_buffer_size = ON; +SELECT @@global.myisam_sort_buffer_size ; + + +SET @@session.myisam_sort_buffer_size = 0; +SELECT @@session.myisam_sort_buffer_size ; + +SET @@session.myisam_sort_buffer_size = -2; +SELECT @@session.myisam_sort_buffer_size ; + +--Error ER_PARSE_ERROR + +SET @@session.myisam_sort_buffer_size = 65530.34.; +SELECT @@session.myisam_sort_buffer_size ; + + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@session.myisam_sort_buffer_size = test; +SELECT @@session.myisam_sort_buffer_size ; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@session.myisam_sort_buffer_size = "test"; +SELECT @@session.myisam_sort_buffer_size ; + + +--echo '#------------------FN_DYNVARS_005_06-----------------------#' +#################################################################### +# Check if the value in GLOBAL Table matches value in variable # +#################################################################### + + +SELECT @@global.myisam_sort_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='myisam_sort_buffer_size '; + +--echo '#------------------FN_DYNVARS_005_07-----------------------#' +#################################################################### +# Check if the value in SESSION Table matches value in variable # +#################################################################### + +SELECT @@session.myisam_sort_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='myisam_sort_buffer_size '; + + +--echo '#------------------FN_DYNVARS_005_08-----------------------#' +#################################################################### +# Check if TRUE and FALSE values can be used on variable # +#################################################################### + +SET @@global.myisam_sort_buffer_size = TRUE; +SELECT @@global.myisam_sort_buffer_size ; +SET @@global.myisam_sort_buffer_size = FALSE; +SELECT @@global.myisam_sort_buffer_size ; + + + +--echo '#---------------------FN_DYNVARS_001_09----------------------#' +#################################################################################### +# Check if accessing variable with and without GLOBAL point to same variable # +#################################################################################### + +SET @@global.myisam_sort_buffer_size = 10; +SELECT @@myisam_sort_buffer_size = @@global.myisam_sort_buffer_size ; + + +--echo '#---------------------FN_DYNVARS_001_10----------------------#' +######################################################################################################## +# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable # +######################################################################################################## + +SET @@myisam_sort_buffer_size = 100; +SELECT @@myisam_sort_buffer_size = @@local.myisam_sort_buffer_size ; +SELECT @@local.myisam_sort_buffer_size = @@session.myisam_sort_buffer_size ; + + +--echo '#---------------------FN_DYNVARS_001_11----------------------#' +################################################################################### +# Check if myisam_sort_buffer_size can be accessed with and without @@ sign # +################################################################################### + +SET myisam_sort_buffer_size = 1; +SELECT @@myisam_sort_buffer_size ; +--Error ER_UNKNOWN_TABLE + +SELECT local.myisam_sort_buffer_size ; + +--Error ER_UNKNOWN_TABLE +SELECT session.myisam_sort_buffer_size ; + +--Error ER_BAD_FIELD_ERROR +SELECT myisam_sort_buffer_size = @@session.myisam_sort_buffer_size ; + + +#################################### +# Restore initial value # +#################################### + +SET @@global.myisam_sort_buffer_size = @start_global_value; +SELECT @@global.myisam_sort_buffer_size ; +SET @@session.myisam_sort_buffer_size = @start_session_value; +SELECT @@session.myisam_sort_buffer_size ; + + +############################################################# +# END OF myisam_sort_buffer_size TESTS # +############################################################# + diff --git a/mysql-test/include/net_retry_count_basic.inc b/mysql-test/include/net_retry_count_basic.inc new file mode 100644 index 00000000000..537d8eea6c6 --- /dev/null +++ b/mysql-test/include/net_retry_count_basic.inc @@ -0,0 +1,217 @@ +############## mysql-test\t\net_retry_count_basic.test ############### +# # +# Variable Name: net_retry_count # +# Scope: GLOBAL | SESSION # +# Access Type: Dynamic # +# Data Type: numeric # +# Default Value:10 # +# Range: 1-4294967295 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Salman # +# # +# Description: Test Cases of Dynamic System Variable net_retry_count # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + +############################################################### +# START OF net_retry_count TESTS # +############################################################### + + +############################################################# +# Save initial value # +############################################################# + +SET @start_global_value = @@global.net_retry_count; +SELECT @start_global_value; +SET @start_session_value = @@session.net_retry_count; +SELECT @start_session_value; + + +--echo '#--------------------FN_DYNVARS_111_01-------------------------#' +############################################################### +# Display the DEFAULT value of net_retry_count # +############################################################### + +SET @@global.net_retry_count = 100; +SET @@global.net_retry_count = DEFAULT; +SELECT @@global.net_retry_count; + +SET @@session.net_retry_count = 200; +SET @@session.net_retry_count = DEFAULT; +SELECT @@session.net_retry_count; + + +--echo '#--------------------FN_DYNVARS_111_02-------------------------#' +############################################################### +# Check the DEFAULT value of net_retry_count # +############################################################### + +SET @@global.net_retry_count = DEFAULT; +SELECT @@global.net_retry_count = 10; + +SET @@session.net_retry_count = DEFAULT; +SELECT @@session.net_retry_count = 10; + + +--echo '#--------------------FN_DYNVARS_111_03-------------------------#' +######################################################################### +# Change the value of net_retry_count to a valid value for GLOBAL Scope # +######################################################################### + +SET @@global.net_retry_count = 1; +SELECT @@global.net_retry_count; +SET @@global.net_retry_count = 2; +SELECT @@global.net_retry_count; +SET @@global.net_retry_count = 4294967295; +SELECT @@global.net_retry_count; +SET @@global.net_retry_count = 4294967294; +SELECT @@global.net_retry_count; +SET @@global.net_retry_count = 65536; +SELECT @@global.net_retry_count; + +--echo '#--------------------FN_DYNVARS_111_04-------------------------#' +########################################################################## +# Change the value of net_retry_count to a valid value for SESSION Scope # +########################################################################## + +SET @@session.net_retry_count = 1; +SELECT @@session.net_retry_count; +SET @@session.net_retry_count = 2; +SELECT @@session.net_retry_count; +SET @@session.net_retry_count = 65535; +SELECT @@session.net_retry_count; +SET @@session.net_retry_count = 4294967295; +SELECT @@session.net_retry_count; +SET @@session.net_retry_count = 4294967294; +SELECT @@session.net_retry_count; + +--echo '#------------------FN_DYNVARS_111_05-----------------------#' +########################################################### +# Change the value of net_retry_count to an invalid value # +########################################################### + +SET @@global.net_retry_count = 0; +SELECT @@global.net_retry_count; +SET @@global.net_retry_count = -1024; +SELECT @@global.net_retry_count; +SET @@global.net_retry_count = 4294967296; +SELECT @@global.net_retry_count; +SET @@global.net_retry_count = 429496729500; +SELECT @@global.net_retry_count; +--Error ER_PARSE_ERROR +SET @@global.net_retry_count = 65530.34.; +SELECT @@global.net_retry_count; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.net_retry_count = test; +SELECT @@global.net_retry_count; + +SET @@session.net_retry_count = 0; +SELECT @@session.net_retry_count; +SET @@session.net_retry_count = -2; +SELECT @@session.net_retry_count; +--Error ER_PARSE_ERROR +SET @@session.net_retry_count = 65530.34.; +SET @@session.net_retry_count = 6555015425; +SELECT @@session.net_retry_count; +SET @@session.net_retry_count = 4294967296; +SELECT @@session.net_retry_count; + +--echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@session.net_retry_count = test; +SELECT @@session.net_retry_count; + + +--echo '#------------------FN_DYNVARS_111_06-----------------------#' +#################################################################### +# Check if the value in GLOBAL Table matches value in variable # +#################################################################### + + +SELECT @@global.net_retry_count = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='net_retry_count'; + +--echo '#------------------FN_DYNVARS_111_07-----------------------#' +#################################################################### +# Check if the value in SESSION Table matches value in variable # +#################################################################### + +SELECT @@session.net_retry_count = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='net_retry_count'; + + +--echo '#------------------FN_DYNVARS_111_08-----------------------#' +#################################################################### +# Check if TRUE and FALSE values can be used on variable # +#################################################################### + +SET @@global.net_retry_count = TRUE; +SELECT @@global.net_retry_count; +SET @@global.net_retry_count = FALSE; +SELECT @@global.net_retry_count; + + +--echo '#---------------------FN_DYNVARS_111_09----------------------#' +################################################################################# +# Check if accessing variable with and without GLOBAL point to same variable # +################################################################################# + +SET @@global.net_retry_count = 10; +SELECT @@net_retry_count = @@global.net_retry_count; + + +--echo '#---------------------FN_DYNVARS_111_10----------------------#' +######################################################################################################## +# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable # +######################################################################################################## + +SET @@net_retry_count = 100; +SELECT @@net_retry_count = @@local.net_retry_count; +SELECT @@local.net_retry_count = @@session.net_retry_count; + + +--echo '#---------------------FN_DYNVARS_111_11----------------------#' +########################################################################## +# Check if net_retry_count can be accessed with and without @@ sign # +########################################################################## + +SET net_retry_count = 1; +SELECT @@net_retry_count; +--Error ER_UNKNOWN_TABLE +SELECT local.net_retry_count; +--Error ER_UNKNOWN_TABLE +SELECT session.net_retry_count; +--Error ER_BAD_FIELD_ERROR +SELECT net_retry_count = @@session.net_retry_count; + + +#################################### +# Restore initial value # +#################################### + +SET @@global.net_retry_count = @start_global_value; +SELECT @@global.net_retry_count; +SET @@session.net_retry_count = @start_session_value; +SELECT @@session.net_retry_count; + + +#################################################### +# END OF net_retry_count TESTS # +#################################################### + diff --git a/mysql-test/include/query_alloc_block_size_basic.inc b/mysql-test/include/query_alloc_block_size_basic.inc new file mode 100644 index 00000000000..208fe6b3da4 --- /dev/null +++ b/mysql-test/include/query_alloc_block_size_basic.inc @@ -0,0 +1,225 @@ +############## mysql-test\t\query_alloc_block_size_basic.test ############### +# # +# Variable Name: query_alloc_block_size # +# Scope: GLOBAL | SESSION # +# Access Type: Dynamic # +# Data Type: numeric # +# Default Value: 8192 # +# Range: 1024-4294967295 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Salman # +# # +# Description: Test Cases of Dynamic System Variable query_alloc_block_size # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + +################################################################### +# START OF query_alloc_block_size TESTS # +################################################################### + + +############################################################# +# Save initial value # +############################################################# + +SET @start_global_value = @@global.query_alloc_block_size; +SELECT @start_global_value; +SET @start_session_value = @@session.query_alloc_block_size; +SELECT @start_session_value; + + +--echo '#--------------------FN_DYNVARS_130_01-------------------------#' +################################################################### +# Display the DEFAULT value of query_alloc_block_size # +################################################################### + +SET @@global.query_alloc_block_size = 10000; +SET @@global.query_alloc_block_size = DEFAULT; +SELECT @@global.query_alloc_block_size; + +SET @@session.query_alloc_block_size = 20000; +SET @@session.query_alloc_block_size = DEFAULT; +SELECT @@session.query_alloc_block_size; + + +--echo '#--------------------FN_DYNVARS_130_02-------------------------#' +################################################################### +# Check the DEFAULT value of query_alloc_block_size # +################################################################### + +SET @@global.query_alloc_block_size = DEFAULT; +SELECT @@global.query_alloc_block_size = 8192; + +SET @@session.query_alloc_block_size = DEFAULT; +SELECT @@session.query_alloc_block_size = 8192; + + +--echo '#--------------------FN_DYNVARS_130_03-------------------------#' +############################################################################# +# Change the value of query_alloc_block_size to a valid value for GLOBAL Scope # +############################################################################# + +SET @@global.query_alloc_block_size = 1024; +SELECT @@global.query_alloc_block_size; +SET @@global.query_alloc_block_size = 1025; +SELECT @@global.query_alloc_block_size; +SET @@global.query_alloc_block_size = 4294967295; +SELECT @@global.query_alloc_block_size; +SET @@global.query_alloc_block_size = 4294967294; +SELECT @@global.query_alloc_block_size; +SET @@global.query_alloc_block_size = 65536; +SELECT @@global.query_alloc_block_size; + +--echo 'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; + + +--echo '#--------------------FN_DYNVARS_130_04-------------------------#' +################################################################################# +# Change the value of query_alloc_block_size to a valid value for SESSION Scope # +################################################################################# + +SET @@session.query_alloc_block_size = 1024; +SELECT @@session.query_alloc_block_size; +SET @@session.query_alloc_block_size = 1025; +SELECT @@session.query_alloc_block_size; +SET @@session.query_alloc_block_size = 4294967295; +SELECT @@session.query_alloc_block_size; +SET @@session.query_alloc_block_size = 4294967294; +SELECT @@session.query_alloc_block_size; +SET @@session.query_alloc_block_size = 655536; +SELECT @@session.query_alloc_block_size; + +--echo '#------------------FN_DYNVARS_130_05-----------------------#' +################################################################## +# Change the value of query_alloc_block_size to an invalid value # +################################################################## + +SET @@global.query_alloc_block_size = 64; +SELECT @@global.query_alloc_block_size; +SET @@global.query_alloc_block_size = -1; +SELECT @@global.query_alloc_block_size; +SET @@global.query_alloc_block_size = 1023; +SELECT @@global.query_alloc_block_size; +SET @@global.query_alloc_block_size = 4294967296; +SELECT @@global.query_alloc_block_size; +--Error ER_PARSE_ERROR +SET @@global.query_alloc_block_size = 65530.34.; +SELECT @@global.query_alloc_block_size; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.query_alloc_block_size = test; +SELECT @@global.query_alloc_block_size; + +SET @@session.query_alloc_block_size = 64; +SELECT @@session.query_alloc_block_size; +SET @@session.query_alloc_block_size = -2; +SELECT @@session.query_alloc_block_size; +--Error ER_PARSE_ERROR +SET @@session.query_alloc_block_size = 65530.34.; +SET @@session.query_alloc_block_size = 1023; +SELECT @@session.query_alloc_block_size; +SET @@session.query_alloc_block_size = 4294967296; +SELECT @@session.query_alloc_block_size; +--echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@session.query_alloc_block_size = test; +SELECT @@session.query_alloc_block_size; + +--echo '#------------------FN_DYNVARS_130_06-----------------------#' +#################################################################### +# Check if the value in GLOBAL Table matches value in variable # +#################################################################### + +#SET @@global.query_alloc_block_size = 1; +#SET @@session.query_alloc_block_size = 12; +--echo 'Bug# 34877: OutOFMemeory errors are coming if we dont assign these values to variable before comparision statement'; + +SET @@global.query_alloc_block_size = 1; +SET @@session.query_alloc_block_size = 12; + +SELECT @@global.query_alloc_block_size = +VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='query_alloc_block_size'; + + +--echo '#------------------FN_DYNVARS_130_07-----------------------#' +#################################################################### +# Check if the value in SESSION Table matches value in variable # +#################################################################### + +SELECT @@session.query_alloc_block_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='query_alloc_block_size'; + + +--echo '#------------------FN_DYNVARS_130_08-----------------------#' +#################################################################### +# Check if TRUE and FALSE values can be used on variable # +#################################################################### + +SET @@global.query_alloc_block_size = TRUE; +SELECT @@global.query_alloc_block_size; +SET @@global.query_alloc_block_size = FALSE; +SELECT @@global.query_alloc_block_size; + + +--echo '#---------------------FN_DYNVARS_130_09----------------------#' +################################################################################# +# Check if accessing variable with and without GLOBAL point to same variable # +################################################################################# + +SET @@global.query_alloc_block_size = 2048; +SELECT @@query_alloc_block_size = @@global.query_alloc_block_size; + + +--echo '#---------------------FN_DYNVARS_130_10----------------------#' +######################################################################################################## +# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable # +######################################################################################################## + +SET @@query_alloc_block_size = 5000; +SELECT @@query_alloc_block_size = @@local.query_alloc_block_size; +SELECT @@local.query_alloc_block_size = @@session.query_alloc_block_size; + + +--echo '#---------------------FN_DYNVARS_130_11----------------------#' +############################################################################## +# Check if query_alloc_block_size can be accessed with and without @@ sign # +############################################################################## + +SET query_alloc_block_size = 1024; +SELECT @@query_alloc_block_size; +--Error ER_UNKNOWN_TABLE +SELECT local.query_alloc_block_size; +--Error ER_UNKNOWN_TABLE +SELECT session.query_alloc_block_size; +--Error ER_BAD_FIELD_ERROR +SELECT query_alloc_block_size = @@session.query_alloc_block_size; + + +#################################### +# Restore initial value # +#################################### + +SET @@global.query_alloc_block_size = @start_global_value; +SELECT @@global.query_alloc_block_size; +SET @@session.query_alloc_block_size = @start_session_value; +SELECT @@session.query_alloc_block_size; + + +######################################################## +# END OF query_alloc_block_size TESTS # +######################################################## + diff --git a/mysql-test/include/query_cache_limit_basic.inc b/mysql-test/include/query_cache_limit_basic.inc new file mode 100644 index 00000000000..2eb4a597eef --- /dev/null +++ b/mysql-test/include/query_cache_limit_basic.inc @@ -0,0 +1,178 @@ +############## mysql-test\t\query_cache_limit_basic.test ############### +# # +# Variable Name: query_cache_limit # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: numeric # +# Default Value: 1048576 # +# Min value: 0 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Salman # +# # +# Description: Test Cases of Dynamic System Variable query_cache_limit # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/have_query_cache.inc +--source include/load_sysvars.inc + +######################################################################## +# START OF query_cache_limit TESTS # +######################################################################## + + +######################################################################## +# Saving initial value of query_cache_limit in a temporary variable # +######################################################################## + +SET @start_value = @@global.query_cache_limit; +SELECT @start_value; + + +--echo '#--------------------FN_DYNVARS_131_01------------------------#' +######################################################################## +# Display the DEFAULT value of query_cache_limit # +######################################################################## + +SET @@global.query_cache_limit = 99; +SET @@global.query_cache_limit = DEFAULT; +SELECT @@global.query_cache_limit; + + +--echo '#---------------------FN_DYNVARS_131_02-------------------------#' +############################################### +# Verify default value of variable # +############################################### + +SET @@global.query_cache_limit = @start_value; +SELECT @@global.query_cache_limit = 1048576; + + +--echo '#--------------------FN_DYNVARS_131_03------------------------#' +######################################################################## +# Change the value of query_cache_limit to a valid value # +######################################################################## + +SET @@global.query_cache_limit = 0; +SELECT @@global.query_cache_limit; +SET @@global.query_cache_limit = 1; +SELECT @@global.query_cache_limit; +SET @@global.query_cache_limit = 1048576; +SELECT @@global.query_cache_limit; +SET @@global.query_cache_limit = 1048575; +SELECT @@global.query_cache_limit; + + +--echo '#--------------------FN_DYNVARS_131_04-------------------------#' +########################################################################### +# Change the value of query_cache_limit to invalid value # +########################################################################### + +SET @@global.query_cache_limit = -1; +SELECT @@global.query_cache_limit; +SET @@global.query_cache_limit = 4294967296; +SELECT @@global.query_cache_limit; +SET @@global.query_cache_limit = 10240022115; +SELECT @@global.query_cache_limit; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.query_cache_limit = 10000.01; +SELECT @@global.query_cache_limit; +SET @@global.query_cache_limit = -1024; +SELECT @@global.query_cache_limit; +SET @@global.query_cache_limit = 42949672950; +SELECT @@global.query_cache_limit; +--echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.query_cache_limit = ON; +SELECT @@global.query_cache_limit; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.query_cache_limit = 'test'; +SELECT @@global.query_cache_limit; + + +--echo '#-------------------FN_DYNVARS_131_05----------------------------#' +########################################################################### +# Test if accessing session query_cache_limit gives error # +########################################################################### + +--Error ER_GLOBAL_VARIABLE +SET @@session.query_cache_limit = 0; +SELECT @@query_cache_limit; + + +--echo '#----------------------FN_DYNVARS_131_06------------------------#' +############################################################################## +# Check if the value in GLOBAL & SESSION Tables matches values in variable # +############################################################################## + +SELECT @@global.query_cache_limit = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='query_cache_limit'; + +SELECT @@query_cache_limit = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='query_cache_limit'; + + +--echo '#---------------------FN_DYNVARS_131_07----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +SET @@global.query_cache_limit = TRUE; +SELECT @@global.query_cache_limit; +SET @@global.query_cache_limit = FALSE; +SELECT @@global.query_cache_limit; + + +--echo '#---------------------FN_DYNVARS_131_08----------------------#' +######################################################################################################## +# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable # +######################################################################################################## + +SET @@global.query_cache_limit = 1; +SELECT @@query_cache_limit = @@global.query_cache_limit; + + +--echo '#---------------------FN_DYNVARS_131_09----------------------#' +########################################################################## +# Check if query_cache_limit can be accessed with and without @@ sign # +########################################################################## + +--Error ER_GLOBAL_VARIABLE +SET query_cache_limit = 1; +SELECT @@query_cache_limit; +--Error ER_PARSE_ERROR +SET local.query_cache_limit = 1; +--Error ER_UNKNOWN_TABLE +SELECT local.query_cache_limit; +--Error ER_PARSE_ERROR +SET global.query_cache_limit = 1; +--Error ER_UNKNOWN_TABLE +SELECT global.query_cache_limit; +--Error ER_BAD_FIELD_ERROR +SELECT query_cache_limit = @@session.query_cache_limit; + + +############################## +# Restore initial value # +############################## + +SET @@global.query_cache_limit = @start_value; +SELECT @@global.query_cache_limit; + + +######################################################################## +# END OF query_cache_limit TESTS # +######################################################################## diff --git a/mysql-test/include/query_cache_min_res_unit_basic.inc b/mysql-test/include/query_cache_min_res_unit_basic.inc new file mode 100644 index 00000000000..1b65e035b18 --- /dev/null +++ b/mysql-test/include/query_cache_min_res_unit_basic.inc @@ -0,0 +1,187 @@ +############## mysql-test\t\query_cache_min_res_unit_basic.test ############### +# # +# Variable Name: query_cache_min_res_unit # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: numeric # +# Default Value:1024 # +# Min Value:0 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Salman Rawala # +# # +# Description: Test Cases of Dynamic System Variable query_cache_min_res_unit # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/have_query_cache.inc +--source include/load_sysvars.inc + +######################################################################## + + +######################################################################## +# START OF query_cache_min_res_unit TESTS # +######################################################################## + + +############################################################################### +# Saving initial value of query_cache_min_res_unit in a temporary variable # +############################################################################### + +SET @start_value = @@global.query_cache_min_res_unit; +SELECT @start_value; + + +--echo '#--------------------FN_DYNVARS_132_01------------------------#' +############################################################################### +# Display the DEFAULT value of query_cache_min_res_unit # +############################################################################### + +SET @@global.query_cache_min_res_unit = 99; +SET @@global.query_cache_min_res_unit = DEFAULT; +SELECT @@global.query_cache_min_res_unit; + + +--echo '#---------------------FN_DYNVARS_132_02-------------------------#' +############################################### +# Verify default value of variable # +############################################### + +SET @@global.query_cache_min_res_unit = @start_value; +SELECT @@global.query_cache_min_res_unit = 4096; + + +--echo '#--------------------FN_DYNVARS_132_03------------------------#' +################################################################################ +# Change the value of query_cache_min_res_unit to a valid value # +################################################################################ + +SET @@global.query_cache_min_res_unit = 0; +SELECT @@global.query_cache_min_res_unit; +SET @@global.query_cache_min_res_unit = 1; +SELECT @@global.query_cache_min_res_unit; +--echo 'Bug#34842: FN_DYNVARS_132_03 - Minimum value according to documentation is 0, and here it is 512'; +SET @@global.query_cache_min_res_unit = 512; +SELECT @@global.query_cache_min_res_unit; +SET @@global.query_cache_min_res_unit = 513; +SELECT @@global.query_cache_min_res_unit; +--echo 'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +SET @@global.query_cache_min_res_unit = 1048576; +SELECT @@global.query_cache_min_res_unit; +SET @@global.query_cache_min_res_unit = 1048575; +SELECT @@global.query_cache_min_res_unit; + + +--echo '#--------------------FN_DYNVARS_132_04-------------------------#' +################################################################################### +# Change the value of query_cache_min_res_unit to invalid value # +################################################################################### + +SET @@global.query_cache_min_res_unit = -1; +SELECT @@global.query_cache_min_res_unit; +SET @@global.query_cache_min_res_unit = 4294967296; +SELECT @@global.query_cache_min_res_unit; +SET @@global.query_cache_min_res_unit = 511; +SELECT @@global.query_cache_min_res_unit; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.query_cache_min_res_unit = 10000.01; +SELECT @@global.query_cache_min_res_unit; +SET @@global.query_cache_min_res_unit = -1024; +SELECT @@global.query_cache_min_res_unit; +SET @@global.query_cache_min_res_unit = 42949672950; +SELECT @@global.query_cache_min_res_unit; +--echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.query_cache_min_res_unit = ON; +SELECT @@global.query_cache_min_res_unit; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.query_cache_min_res_unit = 'test'; +SELECT @@global.query_cache_min_res_unit; + + +--echo '#-------------------FN_DYNVARS_132_05----------------------------#' +################################################################################### +# Test if accessing session query_cache_min_res_unit gives error # +################################################################################### + +--Error ER_GLOBAL_VARIABLE +SET @@session.query_cache_min_res_unit = 0; +SELECT @@query_cache_min_res_unit; + + +--echo '#----------------------FN_DYNVARS_132_06------------------------#' +############################################################################## +# Check if the value in GLOBAL & SESSION Tables matches values in variable # +############################################################################## + +SELECT @@global.query_cache_min_res_unit = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='query_cache_min_res_unit'; + +SELECT @@query_cache_min_res_unit = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='query_cache_min_res_unit'; + + +--echo '#---------------------FN_DYNVARS_132_07----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +SET @@global.query_cache_min_res_unit = TRUE; +SELECT @@global.query_cache_min_res_unit; +SET @@global.query_cache_min_res_unit = FALSE; +SELECT @@global.query_cache_min_res_unit; + + +--echo '#---------------------FN_DYNVARS_132_08----------------------#' +######################################################################################################## +# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable # +######################################################################################################## + +SET @@global.query_cache_min_res_unit = 1; +SELECT @@query_cache_min_res_unit = @@global.query_cache_min_res_unit; + + +--echo '#---------------------FN_DYNVARS_132_09----------------------#' +################################################################################## +# Check if query_cache_min_res_unit can be accessed with and without @@ sign # +################################################################################## + +--Error ER_GLOBAL_VARIABLE +SET query_cache_min_res_unit = 1; +SELECT @@query_cache_min_res_unit; +--Error ER_PARSE_ERROR +SET local.query_cache_min_res_unit = 1; +--Error ER_UNKNOWN_TABLE +SELECT local.query_cache_min_res_unit; +--Error ER_PARSE_ERROR +SET global.query_cache_min_res_unit = 1; +--Error ER_UNKNOWN_TABLE +SELECT global.query_cache_min_res_unit; +--Error ER_BAD_FIELD_ERROR +SELECT query_cache_min_res_unit = @@session.query_cache_min_res_unit; + + +############################## +# Restore initial value # +############################## + +SET @@global.query_cache_min_res_unit = @start_value; +SELECT @@global.query_cache_min_res_unit; + + +######################################################################## +# END OF query_cache_min_res_unit TESTS # +######################################################################## diff --git a/mysql-test/include/query_cache_size_basic.inc b/mysql-test/include/query_cache_size_basic.inc new file mode 100644 index 00000000000..1a3f9e1efe2 --- /dev/null +++ b/mysql-test/include/query_cache_size_basic.inc @@ -0,0 +1,175 @@ +############## mysql-test\t\query_cache_size_basic.test ############### +# # +# Variable Name: query_cache_size # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: numeric # +# Default Value: 0 # +# Range: - # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Salman # +# # +# Description: Test Cases of Dynamic System Variable query_cache_size # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/have_query_cache.inc +--source include/load_sysvars.inc + +######################################################################## +# START OF query_cache_size TESTS # +######################################################################## + + +############################################################################### +# Saving initial value of query_cache_size in a temporary variable # +############################################################################### + +SET @start_value = @@global.query_cache_size; +SELECT @start_value; + +--echo '#--------------------FN_DYNVARS_133_01------------------------#' +############################################################################### +# Display the DEFAULT value of query_cache_size # +############################################################################### + +SET @@global.query_cache_size = 99; +SET @@global.query_cache_size = DEFAULT; +SELECT @@global.query_cache_size; + +--echo '#---------------------FN_DYNVARS_133_02-------------------------#' +############################################### +# Verify default value of variable # +############################################### + +SET @@global.query_cache_size = @start_value; +SELECT @@global.query_cache_size = 0; + +--echo '#--------------------FN_DYNVARS_133_03------------------------#' +################################################################################ +# Change the value of query_cache_size to a valid value # +################################################################################ + +SET @@global.query_cache_size = 0; +SELECT @@global.query_cache_size; +SET @@global.query_cache_size = 1; +SELECT @@global.query_cache_size; + +SET @@global.query_cache_size = 512; +SELECT @@global.query_cache_size; +SET @@global.query_cache_size = 1024; +SELECT @@global.query_cache_size; +--echo : 'Bug#34880: Warnings are coming on assinging valid values to variable +--echo 'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +SET @@global.query_cache_size = 1048576; +SELECT @@global.query_cache_size; +SET @@global.query_cache_size = 1048575; +SELECT @@global.query_cache_size; + +--echo '#--------------------FN_DYNVARS_133_04-------------------------#' +################################################################################### +# Change the value of query_cache_size to invalid value # +################################################################################### + +SET @@global.query_cache_size = -1; +SELECT @@global.query_cache_size; +SET @@global.query_cache_size = 4294967296; +SELECT @@global.query_cache_size; +SET @@global.query_cache_size = 511; +SELECT @@global.query_cache_size; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.query_cache_size = 10000.01; +SELECT @@global.query_cache_size; +SET @@global.query_cache_size = -1024; +SELECT @@global.query_cache_size; +SET @@global.query_cache_size = 42949672950; +SELECT @@global.query_cache_size; +--echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.query_cache_size = ON; +SELECT @@global.query_cache_size; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.query_cache_size = 'test'; +SELECT @@global.query_cache_size; + +--echo '#-------------------FN_DYNVARS_133_05----------------------------#' +################################################################################### +# Test if accessing session query_cache_size gives error # +################################################################################### + +--Error ER_GLOBAL_VARIABLE +SET @@session.query_cache_size = 0; +SELECT @@query_cache_size; + +--echo '#----------------------FN_DYNVARS_133_06------------------------#' +############################################################################## +# Check if the value in GLOBAL & SESSION Tables matches values in variable # +############################################################################## + +SELECT @@global.query_cache_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='query_cache_size'; + +SELECT @@query_cache_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='query_cache_size'; + +--echo '#---------------------FN_DYNVARS_133_07----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +SET @@global.query_cache_size = TRUE; +SELECT @@global.query_cache_size; +SET @@global.query_cache_size = FALSE; +SELECT @@global.query_cache_size; + +--echo '#---------------------FN_DYNVARS_133_08----------------------#' +######################################################################################################## +# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable # +######################################################################################################## + +SET @@global.query_cache_size = 1; +SELECT @@query_cache_size = @@global.query_cache_size; + +--echo '#---------------------FN_DYNVARS_133_09----------------------#' +################################################################################## +# Check if query_cache_size can be accessed with and without @@ sign # +################################################################################## + +--Error ER_GLOBAL_VARIABLE +SET query_cache_size = 1; +SELECT @@query_cache_size; +--Error ER_PARSE_ERROR +SET local.query_cache_size = 1; +--Error ER_UNKNOWN_TABLE +SELECT local.query_cache_size; +--Error ER_PARSE_ERROR +SET global.query_cache_size = 1; +--Error ER_UNKNOWN_TABLE +SELECT global.query_cache_size; +--Error ER_BAD_FIELD_ERROR +SELECT query_cache_size = @@session.query_cache_size; + +############################## +# Restore initial value # +############################## + +SET @@global.query_cache_size = @start_value; +SELECT @@global.query_cache_size; + +######################################################################## +# END OF query_cache_size TESTS # +######################################################################## + diff --git a/mysql-test/include/query_prealloc_size_basic.inc b/mysql-test/include/query_prealloc_size_basic.inc new file mode 100644 index 00000000000..1793d1874af --- /dev/null +++ b/mysql-test/include/query_prealloc_size_basic.inc @@ -0,0 +1,239 @@ +############## mysql-test\t\query_prealloc_size_basic.test ############### +# # +# Variable Name: query_prealloc_size # +# Scope: GLOBAL | SESSION # +# Access Type: Dynamic # +# Data Type: numeric # +# Default Value: 8192 # +# Range: 8192-4294967295 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Rizwan # +# # +# Description: Test Cases of Dynamic System Variable query_prealloc_size # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + +######################################################################## +# START OF query_prealloc_size TESTS # +######################################################################## + + +############################################################# +# Save initial value # +############################################################# + +SET @start_global_value = @@global.query_prealloc_size ; +SELECT @start_global_value; +SET @start_session_value = @@session.query_prealloc_size ; +SELECT @start_session_value; + + +--echo '#--------------------FN_DYNVARS_005_01-------------------------#' +######################################################################## +# Display the DEFAULT value of myisam_block_size # +######################################################################## + +SET @@global.query_prealloc_size = 100; +SET @@global.query_prealloc_size = DEFAULT; +SELECT @@global.query_prealloc_size ; + +SET @@session.query_prealloc_size = 200; +SET @@session.query_prealloc_size = DEFAULT; +SELECT @@session.query_prealloc_size ; + + +--echo '#--------------------FN_DYNVARS_005_02-------------------------#' +######################################################################## +# Check the DEFAULT value of query_prealloc_size # +######################################################################## + +SET @@global.query_prealloc_size = DEFAULT; +SELECT @@global.query_prealloc_size = 8192; + +SET @@session.query_prealloc_size = DEFAULT; +SELECT @@session.query_prealloc_size = 8192; + + +--echo '#--------------------FN_DYNVARS_005_03-------------------------#' +################################################################################## +# Change the value of query_prealloc_size to a valid value for GLOBAL Scope # +################################################################################## + +SET @@global.query_prealloc_size = 8192; +SELECT @@global.query_prealloc_size ; + +SET @@global.query_prealloc_size = 4294967295; +SELECT @@global.query_prealloc_size ; + +SET @@global.query_prealloc_size = 655354; +SELECT @@global.query_prealloc_size ; + + +--echo '#--------------------FN_DYNVARS_005_04-------------------------#' +################################################################################### +# Change the value of query_prealloc_size to a valid value for SESSION Scope # +################################################################################### + +SET @@session.query_prealloc_size = 8192; +SELECT @@session.query_prealloc_size ; + +SET @@session.query_prealloc_size = 4294967295; +SELECT @@session.query_prealloc_size ; + +SET @@session.query_prealloc_size = 655345; +SELECT @@session.query_prealloc_size ; + + + + +--echo '#------------------FN_DYNVARS_005_05-----------------------#' +#################################################################### +# Change the value of query_prealloc_size to an invalid value # +#################################################################### + +SET @@global.query_prealloc_size = 0; +SELECT @@global.query_prealloc_size ; + +SET @@global.query_prealloc_size = -1024; +SELECT @@global.query_prealloc_size ; + +SET @@global.query_prealloc_size = 429496729533; +SELECT @@global.query_prealloc_size ; + + +--Error ER_PARSE_ERROR +SET @@global.query_prealloc_size = 65530.34.; +SELECT @@global.query_prealloc_size ; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.query_prealloc_size = test; +SELECT @@global.query_prealloc_size ; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.query_prealloc_size = "test"; +SELECT @@global.query_prealloc_size ; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.query_prealloc_size = 'test'; +SELECT @@global.query_prealloc_size ; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.query_prealloc_size = ON; +SELECT @@global.query_prealloc_size ; + + +SET @@session.query_prealloc_size = 0; +SELECT @@session.query_prealloc_size ; + +SET @@session.query_prealloc_size = -2; +SELECT @@session.query_prealloc_size ; + +--Error ER_PARSE_ERROR + +SET @@session.query_prealloc_size = 65530.34.; +SELECT @@session.query_prealloc_size ; + + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@session.query_prealloc_size = test; +SELECT @@session.query_prealloc_size ; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@session.query_prealloc_size = "test"; +SELECT @@session.query_prealloc_size ; + + +--echo '#------------------FN_DYNVARS_005_06-----------------------#' +#################################################################### +# Check if the value in GLOBAL Table matches value in variable # +#################################################################### + + +SELECT @@global.query_prealloc_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='query_prealloc_size '; + +--echo '#------------------FN_DYNVARS_005_07-----------------------#' +#################################################################### +# Check if the value in SESSION Table matches value in variable # +#################################################################### + +SELECT @@session.query_prealloc_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='query_prealloc_size '; + + +--echo '#------------------FN_DYNVARS_005_08-----------------------#' +#################################################################### +# Check if TRUE and FALSE values can be used on variable # +#################################################################### + +SET @@global.query_prealloc_size = TRUE; +SELECT @@global.query_prealloc_size ; +SET @@global.query_prealloc_size = FALSE; +SELECT @@global.query_prealloc_size ; + + + +--echo '#---------------------FN_DYNVARS_001_09----------------------#' +#################################################################################### +# Check if accessing variable with and without GLOBAL point to same variable # +#################################################################################### + +SET @@global.query_prealloc_size = 10; +SELECT @@query_prealloc_size = @@global.query_prealloc_size ; + + +--echo '#---------------------FN_DYNVARS_001_10----------------------#' +######################################################################################################## +# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable # +######################################################################################################## + +SET @@query_prealloc_size = 100; +SELECT @@query_prealloc_size = @@local.query_prealloc_size ; +SELECT @@local.query_prealloc_size = @@session.query_prealloc_size ; + + +--echo '#---------------------FN_DYNVARS_001_11----------------------#' +################################################################################### +# Check if query_prealloc_size can be accessed with and without @@ sign # +################################################################################### + +SET query_prealloc_size = 1; +SELECT @@query_prealloc_size ; +--Error ER_UNKNOWN_TABLE + +SELECT local.query_prealloc_size ; + +--Error ER_UNKNOWN_TABLE +SELECT session.query_prealloc_size ; + +--Error ER_BAD_FIELD_ERROR +SELECT query_prealloc_size = @@session.query_prealloc_size ; + + +#################################### +# Restore initial value # +#################################### + +SET @@global.query_prealloc_size = @start_global_value; +SELECT @@global.query_prealloc_size ; +SET @@session.query_prealloc_size = @start_session_value; +SELECT @@session.query_prealloc_size ; + + +############################################################# +# END OF query_prealloc_size TESTS # +############################################################# diff --git a/mysql-test/include/range_alloc_block_size_basic.inc b/mysql-test/include/range_alloc_block_size_basic.inc new file mode 100644 index 00000000000..37692cc8c35 --- /dev/null +++ b/mysql-test/include/range_alloc_block_size_basic.inc @@ -0,0 +1,208 @@ +############## mysql-test\t\range_alloc_block_size_basic.test ############### +# # +# Variable Name: range_alloc_block_size # +# Scope: GLOBAL | SESSION # +# Access Type: Dynamic # +# Data Type: numeric # +# Default Value:2048 # +# Max value: 4294967295 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Salman # +# # +# Description: Test Cases of Dynamic System Variable range_alloc_block_size # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + +###################################################################### +# START OF range_alloc_block_size TESTS # +###################################################################### + + +############################################################# +# Save initial value # +############################################################# + +SET @start_global_value = @@global.range_alloc_block_size; +SELECT @start_global_value; +SET @start_session_value = @@session.range_alloc_block_size; +SELECT @start_session_value; + + +--echo '#--------------------FN_DYNVARS_137_01-------------------------#' +###################################################################### +# Display the DEFAULT value of range_alloc_block_size # +###################################################################### + +SET @@global.range_alloc_block_size = 100; +SET @@global.range_alloc_block_size = DEFAULT; +SELECT @@global.range_alloc_block_size; + +SET @@session.range_alloc_block_size = 200; +SET @@session.range_alloc_block_size = DEFAULT; +SELECT @@session.range_alloc_block_size; + + +--echo '#--------------------FN_DYNVARS_137_02-------------------------#' +###################################################################### +# Check the DEFAULT value of range_alloc_block_size # +###################################################################### + +SET @@global.range_alloc_block_size = DEFAULT; +SELECT @@global.range_alloc_block_size = 2048; + +SET @@session.range_alloc_block_size = DEFAULT; +SELECT @@session.range_alloc_block_size = 2048; + + +--echo '#--------------------FN_DYNVARS_137_03-------------------------#' +################################################################################ +# Change the value of range_alloc_block_size to a valid value for GLOBAL Scope # +################################################################################ + +SET @@global.range_alloc_block_size = 2048; +SELECT @@global.range_alloc_block_size; +--echo 'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +SET @@global.range_alloc_block_size = 4294967295; +SELECT @@global.range_alloc_block_size; +SET @@global.range_alloc_block_size = 4294967294; +SELECT @@global.range_alloc_block_size; +--echo 'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; + + +--echo '#--------------------FN_DYNVARS_137_04-------------------------#' +################################################################################### +# Change the value of range_alloc_block_size to a valid value for SESSION Scope # +################################################################################### + +SET @@session.range_alloc_block_size = 2048; +SELECT @@session.range_alloc_block_size; +SET @@session.range_alloc_block_size = 4294967295; +SELECT @@session.range_alloc_block_size; +SET @@session.range_alloc_block_size = 4294967294; +SELECT @@session.range_alloc_block_size; + + +--echo '#------------------FN_DYNVARS_137_05-----------------------#' +################################################################## +# Change the value of range_alloc_block_size to an invalid value # +################################################################## + +SET @@global.range_alloc_block_size = 0; +SELECT @@global.range_alloc_block_size; +SET @@global.range_alloc_block_size = -1024; +SELECT @@global.range_alloc_block_size; +SET @@global.range_alloc_block_size = 42949672951; +SELECT @@global.range_alloc_block_size; +--Error ER_PARSE_ERROR +SET @@global.range_alloc_block_size = 65530.34.; +SELECT @@global.range_alloc_block_size; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.range_alloc_block_size = test; +SELECT @@global.range_alloc_block_size; + +SET @@session.range_alloc_block_size = 0; +SELECT @@session.range_alloc_block_size; +SET @@session.range_alloc_block_size = -2; +SELECT @@session.range_alloc_block_size; +--Error ER_PARSE_ERROR +SET @@session.range_alloc_block_size = 65530.34.; +SET @@session.range_alloc_block_size = 4294967296; +SELECT @@session.range_alloc_block_size; +--echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@session.range_alloc_block_size = test; +SELECT @@session.range_alloc_block_size; + + +--echo '#------------------FN_DYNVARS_137_06-----------------------#' +#################################################################### +# Check if the value in GLOBAL Table matches value in variable # +#################################################################### + + +SELECT @@global.range_alloc_block_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='range_alloc_block_size'; + +--echo '#------------------FN_DYNVARS_137_07-----------------------#' +#################################################################### +# Check if the value in SESSION Table matches value in variable # +#################################################################### + +SELECT @@session.range_alloc_block_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='range_alloc_block_size'; + + +--echo '#------------------FN_DYNVARS_137_08-----------------------#' +#################################################################### +# Check if TRUE and FALSE values can be used on variable # +#################################################################### + +SET @@global.range_alloc_block_size = TRUE; +SELECT @@global.range_alloc_block_size; +SET @@global.range_alloc_block_size = FALSE; +SELECT @@global.range_alloc_block_size; + + +--echo '#---------------------FN_DYNVARS_137_09----------------------#' +#################################################################################### +# Check if accessing variable with and without GLOBAL point to same variable # +#################################################################################### + +SET @@global.range_alloc_block_size = 10; +SELECT @@range_alloc_block_size = @@global.range_alloc_block_size; + + +--echo '#---------------------FN_DYNVARS_137_10----------------------#' +######################################################################################################## +# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable # +######################################################################################################## + +SET @@range_alloc_block_size = 100; +SELECT @@range_alloc_block_size = @@local.range_alloc_block_size; +SELECT @@local.range_alloc_block_size = @@session.range_alloc_block_size; + + +--echo '#---------------------FN_DYNVARS_137_11----------------------#' +################################################################################### +# Check if range_alloc_block_size can be accessed with and without @@ sign # +################################################################################### + +SET range_alloc_block_size = 1; +SELECT @@range_alloc_block_size; +--Error ER_UNKNOWN_TABLE +SELECT local.range_alloc_block_size; +--Error ER_UNKNOWN_TABLE +SELECT session.range_alloc_block_size; +--Error ER_BAD_FIELD_ERROR +SELECT range_alloc_block_size = @@session.range_alloc_block_size; + + +#################################### +# Restore initial value # +#################################### + +SET @@global.range_alloc_block_size = @start_global_value; +SELECT @@global.range_alloc_block_size; +SET @@session.range_alloc_block_size = @start_session_value; +SELECT @@session.range_alloc_block_size; + + +############################################################# +# END OF range_alloc_block_size TESTS # +############################################################# + diff --git a/mysql-test/include/rpl_events.inc b/mysql-test/include/rpl_events.inc index b0b2abbc2bb..0effa8c4e5c 100644 --- a/mysql-test/include/rpl_events.inc +++ b/mysql-test/include/rpl_events.inc @@ -41,18 +41,17 @@ let $wait_condition= # check that table t1 contains something --echo "Checking event data on the master" ---enable_info ---replace_column 3 TIMESTAMP -SELECT * FROM t1 ORDER BY id; ---disable_info +let $events_done=`SELECT count(*) FROM t1 id`; +--disable_query_log +eval SELECT $events_done > 0 as ONE; +--enable_query_log sync_slave_with_master; --echo "Checking event data on the slave" ---enable_info ---replace_column 3 TIMESTAMP -SELECT * FROM t1 ORDER BY id; ---disable_info +--disable_query_log +eval SELECT count(*) - $events_done as ZERO FROM t1 id; +--enable_query_log --echo "Checking event is inactive on slave" SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'justonce'; diff --git a/mysql-test/include/rpl_recovery_rank_basic.inc b/mysql-test/include/rpl_recovery_rank_basic.inc new file mode 100644 index 00000000000..f9ae3968b31 --- /dev/null +++ b/mysql-test/include/rpl_recovery_rank_basic.inc @@ -0,0 +1,171 @@ +############## mysql-test\t\rpl_recovery_rank_basic.test ####################### +# # +# Variable Name: rpl_recovery_rank # +# Scope: GLOBAL & SESSION # +# Access Type: Dynamic # +# Data Type: Numeric # +# Default Value: 1 # +# Range: 1 - 65536 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Rizwan Maredia # +# # +# Description: Test Cases of Dynamic System Variable rpl_recovery_rank # +# that checks the behavior of this variable in the following ways # +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +################################################################################ + +--source include/load_sysvars.inc + +################################################################### +# START OF rpl_recovery_rank TESTS # +################################################################### + + +############################################################# +# Save initial value # +############################################################# + +SET @start_global_value = @@global.rpl_recovery_rank; +SELECT @start_global_value; + +--echo '#--------------------FN_DYNVARS_142_01-------------------------#' +################################################################### +# Check the DEFAULT value of rpl_recovery_rank # +################################################################### + +SET @@global.rpl_recovery_rank = 500000; +SET @@global.rpl_recovery_rank = DEFAULT; +SELECT @@global.rpl_recovery_rank; + +--echo '#--------------------FN_DYNVARS_142_02-------------------------#' +################################################################################## +# Change the value of rpl_recovery_rank to a valid value for GLOBAL Scope # +################################################################################## + +SET @@global.rpl_recovery_rank = 0; +SELECT @@global.rpl_recovery_rank; +SET @@global.rpl_recovery_rank = 1024; +SELECT @@global.rpl_recovery_rank; +SET @@global.rpl_recovery_rank = 123456789; +SELECT @@global.rpl_recovery_rank; +SET @@global.rpl_recovery_rank = 2147483648*2; +SELECT @@global.rpl_recovery_rank; +SET @@global.rpl_recovery_rank = 2147483648*1024; +SELECT @@global.rpl_recovery_rank; +SELECT @@global.rpl_recovery_rank; +SET @@global.rpl_recovery_rank = 2147483648*2147483648; +SELECT @@global.rpl_recovery_rank; + + +--echo '#--------------------FN_DYNVARS_142_03-------------------------#' +################################################################################# +# Check if variable can be access with session scope # +################################################################################# + +--Error ER_GLOBAL_VARIABLE +SET @@rpl_recovery_rank = 2; + +--Error ER_GLOBAL_VARIABLE +SET @@session.rpl_recovery_rank = 3; + +--Error ER_GLOBAL_VARIABLE +SET @@local.rpl_recovery_rank = 4; + + + +--echo '#------------------FN_DYNVARS_142_04-----------------------#' +#################################################################### +# Change the value of rpl_recovery_rank to an invalid value # +#################################################################### + +SET @@global.rpl_recovery_rank = -1; +SELECT @@global.rpl_recovery_rank; +SET @@global.rpl_recovery_rank = -2147483648; +SELECT @@global.rpl_recovery_rank; +SET @@global.rpl_recovery_rank = -2147483649; +SELECT @@global.rpl_recovery_rank; +--Error ER_PARSE_ERROR +SET @@global.rpl_recovery_rank = 65530.34.; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.rpl_recovery_rank = 2147483649.56; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.rpl_recovery_rank = 1G; + + +--echo '#------------------FN_DYNVARS_142_05-----------------------#' +#################################################################### +# Check if the value in GLOBAL Table matches value in variable # +#################################################################### + +SET @@global.rpl_recovery_rank = 3000; +SELECT @@global.rpl_recovery_rank = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='rpl_recovery_rank'; + + +--echo '#------------------FN_DYNVARS_142_06-----------------------#' +########################################################################### +# Check if the value is present in INFORMATION_SCHEMA.SESSION_VARIABLES # +########################################################################### + +SELECT count(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='rpl_recovery_rank'; + + +--echo '#------------------FN_DYNVARS_142_07-----------------------#' +#################################################################### +# Check if TRUE and FALSE values can be used on variable # +#################################################################### + +SET @@global.rpl_recovery_rank = TRUE; +SELECT @@global.rpl_recovery_rank; +SET @@global.rpl_recovery_rank = FALSE; +SELECT @@global.rpl_recovery_rank; + + +--echo '#---------------------FN_DYNVARS_001_08----------------------#' +################################################################################# +# Check if accessing variable with and without GLOBAL point to same variable # +################################################################################# + + +SET @@global.rpl_recovery_rank = 512; +SELECT @@rpl_recovery_rank = @@global.rpl_recovery_rank; + + +--echo '#---------------------FN_DYNVARS_001_09----------------------#' +################################################################################## +# Check if rpl_recovery_rank can be accessed without @@ sign and scope # +################################################################################## + +--Error ER_GLOBAL_VARIABLE +SET rpl_recovery_rank = 2048; +--Error ER_BAD_FIELD_ERROR +SELECT rpl_recovery_rank; + +SELECT @@rpl_recovery_rank; + +#verifying another another syntax for setting value +SET global rpl_recovery_rank = 64; + +#################################### +# Restore initial value # +#################################### + +SET @@global.rpl_recovery_rank = @start_global_value; +SELECT @@global.rpl_recovery_rank; + +######################################################## +# END OF rpl_recovery_rank TESTS # +######################################################## + diff --git a/mysql-test/include/server_id_basic.inc b/mysql-test/include/server_id_basic.inc new file mode 100644 index 00000000000..47afadb5016 --- /dev/null +++ b/mysql-test/include/server_id_basic.inc @@ -0,0 +1,190 @@ +############## mysql-test\t\server_id_basic.test ################ +# # +# Variable Name: server_id # +# Scope: GLOBAL & SESSION # +# Access Type: Dynamic # +# Data Type: Numeric # +# Default Value: 1 # +# Range: 1 - 65536 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Rizwan Maredia # +# # +# Description: Test Cases of Dynamic System Variable server_id # +# that checks the behavior of this variable in the following ways # +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +################################################################################ + +--source include/load_sysvars.inc + +################################################################### +# START OF server_id TESTS # +################################################################### + + +############################################################# +# Save initial value # +############################################################# + +let $save_general_log= `SELECT @@global.general_log`; +SET @@global.general_log= 0; +SET @start_global_value = @@global.server_id; +SELECT @start_global_value; + +--echo '#--------------------FN_DYNVARS_144_01-------------------------#' +################################################################### +# Display the DEFAULT value of server_id # +################################################################### + +SET @@global.server_id = 500000; +SET @@global.server_id = DEFAULT; +SELECT @@global.server_id; + +--echo '#--------------------FN_DYNVARS_144_02-------------------------#' +################################################################### +# Check the DEFAULT value of server_id # +################################################################### + +SET @@global.server_id = DEFAULT; +SELECT @@global.server_id = 0; + +--echo '#--------------------FN_DYNVARS_144_03-------------------------#' +################################################################################## +# Change the value of server_id to a valid value for GLOBAL Scope # +################################################################################## + +SET @@global.server_id = 0; +SELECT @@global.server_id; +SET @@global.server_id = 1; +SELECT @@global.server_id; +SET @@global.server_id = 15; +SELECT @@global.server_id; +SET @@global.server_id = 1024; +SELECT @@global.server_id; +SET @@global.server_id = 123456789; +SELECT @@global.server_id; +SET @@global.server_id = 2147483648; +SELECT @@global.server_id; +SET @@global.server_id = 2147483648*2-1; +SELECT @@global.server_id; + + +--echo '#--------------------FN_DYNVARS_144_04-------------------------#' +################################################################################# +# Check if variable can be access with session scope # +################################################################################# + +--Error ER_GLOBAL_VARIABLE +SET @@server_id = 2; + +--Error ER_GLOBAL_VARIABLE +SET @@session.server_id = 3; + +--Error ER_GLOBAL_VARIABLE +SET @@local.server_id = 4; + + + +--echo '#------------------FN_DYNVARS_144_05-----------------------#' +#################################################################### +# Change the value of server_id to an invalid value # +#################################################################### + +SET @@global.server_id = -1; +SELECT @@global.server_id; + +SET @@global.server_id = -2147483648; +SELECT @@global.server_id; + +SET @@global.server_id = 2147483649*2; +SELECT @@global.server_id; + +--Error ER_PARSE_ERROR +SET @@global.server_id = 65530.34.; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.server_id = '125'; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.server_id = 7483649.56; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.server_id = 1G; + +--echo 'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; + + +--echo '#------------------FN_DYNVARS_144_06-----------------------#' +#################################################################### +# Check if the value in GLOBAL Table matches value in variable # +#################################################################### + +SET @@global.server_id = 3000; +SELECT @@global.server_id = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='server_id'; + + +--echo '#------------------FN_DYNVARS_144_07-----------------------#' +########################################################################### +# Check if the value is present in INFORMATION_SCHEMA.SESSION_VARIABLES # +########################################################################### + +SELECT count(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='server_id'; + + +--echo '#------------------FN_DYNVARS_144_08-----------------------#' +#################################################################### +# Check if TRUE and FALSE values can be used on variable # +#################################################################### + +SET @@global.server_id = TRUE; +SELECT @@global.server_id; +SET @@global.server_id = FALSE; +SELECT @@global.server_id; + + +--echo '#---------------------FN_DYNVARS_001_09----------------------#' +################################################################################# +# Check if accessing variable with and without GLOBAL point to same variable # +################################################################################# + + +SET @@global.server_id = 512; +SELECT @@server_id = @@global.server_id; + + +--echo '#---------------------FN_DYNVARS_001_10----------------------#' +################################################################################## +# Check if server_id can be accessed without @@ sign and scope # +################################################################################## + +--Error ER_GLOBAL_VARIABLE +SET server_id = 2048; +--Error ER_BAD_FIELD_ERROR +SELECT server_id; + +SELECT @@server_id; + +#verifying another another syntax for setting value +SET global server_id = 99; + +#################################### +# Restore initial value # +#################################### + +SET @@global.server_id = @start_global_value; +SELECT @@global.server_id; + +eval SET @@global.general_log= $save_general_log; +######################################################## +# END OF server_id TESTS # +######################################################## + diff --git a/mysql-test/include/slave_transaction_retries_basic.inc b/mysql-test/include/slave_transaction_retries_basic.inc new file mode 100644 index 00000000000..6bbed3b1982 --- /dev/null +++ b/mysql-test/include/slave_transaction_retries_basic.inc @@ -0,0 +1,188 @@ +############# mysql-test\t\slave_transaction_retries_basic.test ############### +# # +# Variable Name: slave_transaction_retries # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: numeric # +# Default Value: 10 # +# Range: # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Rizwan # +# # +# Description: Test Cases of Dynamic System Variable slave_transaction_retries# +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + +################################################################### +# START OF slave_transaction_retries TESTS # +################################################################### + + +############################################################# +# Save initial value # +############################################################# + +SET @start_global_value = @@global.slave_transaction_retries; +SELECT @start_global_value; + +--echo '#--------------------FN_DYNVARS_149_01-------------------------#' +################################################################### +# Display the DEFAULT value of slave_transaction_retries # +################################################################### + +SET @@global.slave_transaction_retries = 50; +SET @@global.slave_transaction_retries = DEFAULT; +SELECT @@global.slave_transaction_retries; + +--echo '#--------------------FN_DYNVARS_149_02-------------------------#' +################################################################### +# Check the DEFAULT value of slave_transaction_retries # +################################################################### + +SET @@global.slave_transaction_retries = DEFAULT; +SELECT @@global.slave_transaction_retries = 10; + +--echo '#--------------------FN_DYNVARS_149_03-------------------------#' +################################################################################ +# Change the value of slave_transaction_retries to a valid value for +# GLOBAL Scope +################################################################################ + +SET @@global.slave_transaction_retries = 0; +SELECT @@global.slave_transaction_retries; +SET @@global.slave_transaction_retries = 1; +SELECT @@global.slave_transaction_retries; +SET @@global.slave_transaction_retries = 15; +SELECT @@global.slave_transaction_retries; +SET @@global.slave_transaction_retries = 1024; +SELECT @@global.slave_transaction_retries; +SET @@global.slave_transaction_retries = 2147483648; +SELECT @@global.slave_transaction_retries; +SET @@global.slave_transaction_retries = 2147483648*2-1; +SELECT @@global.slave_transaction_retries; +SET @@global.slave_transaction_retries = 2147483649*2; +SELECT @@global.slave_transaction_retries; +SET @@global.slave_transaction_retries = 4294967295; +SELECT @@global.slave_transaction_retries; + +--echo '#--------------------FN_DYNVARS_149_04-------------------------#' +############################################################################### +# Check if variable can be access with session scope # +############################################################################### + +--Error ER_GLOBAL_VARIABLE +SET @@slave_transaction_retries = 2; + +--Error ER_GLOBAL_VARIABLE +SET @@session.slave_transaction_retries = 3; + +--Error ER_GLOBAL_VARIABLE +SET @@local.slave_transaction_retries = 4; + + + +--echo '#------------------FN_DYNVARS_149_05-----------------------#' +#################################################################### +# Change the value of slave_transaction_retries to an invalid value# +#################################################################### + +SET @@global.slave_transaction_retries = -1; +SELECT @@global.slave_transaction_retries; + +SET @@global.slave_transaction_retries = 2147483649*2147483649; +SELECT @@global.slave_transaction_retries; + +--echo 'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; + +--Error ER_PARSE_ERROR +SET @@global.slave_transaction_retries = 65530.34.; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.slave_transaction_retries = '100'; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.slave_transaction_retries = 7483649.56; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.slave_transaction_retries = ON; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.slave_transaction_retries = OFF; + +--echo '#------------------FN_DYNVARS_149_06-----------------------#' +#################################################################### +# Check if the value in GLOBAL Table matches value in variable # +#################################################################### + +SET @@global.slave_transaction_retries = 3000; +SELECT @@global.slave_transaction_retries = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='slave_transaction_retries'; + + +--echo '#------------------FN_DYNVARS_149_07-----------------------#' +########################################################################### +# Check if the value is present in INFORMATION_SCHEMA.SESSION_VARIABLES # +########################################################################### + +SELECT count(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='slave_transaction_retries'; + + +--echo '#------------------FN_DYNVARS_149_08-----------------------#' +#################################################################### +# Check if TRUE and FALSE values can be used on variable # +#################################################################### + +SET @@global.slave_transaction_retries = TRUE; +SELECT @@global.slave_transaction_retries; +SET @@global.slave_transaction_retries = FALSE; +SELECT @@global.slave_transaction_retries; + + +--echo '#---------------------FN_DYNVARS_149_09----------------------#' +############################################################################### +# Check if accessing variable with and without GLOBAL point to same variable # +############################################################################### + + +SET @@global.slave_transaction_retries = 60*60; +SELECT @@slave_transaction_retries = @@global.slave_transaction_retries; + + +--echo '#---------------------FN_DYNVARS_149_10----------------------#' +############################################################################### +# Check if slave_transaction_retries can be accessed without @@ sign +# and scope +############################################################################### + +--Error ER_GLOBAL_VARIABLE +SET slave_transaction_retries = 2048; +--Error ER_BAD_FIELD_ERROR +SELECT slave_transaction_retries; + +SELECT @@slave_transaction_retries; + +#verifying another another syntax for setting value +SET global slave_transaction_retries = 99; + +#################################### +# Restore initial value # +#################################### + +SET @@global.slave_transaction_retries = @start_global_value; +SELECT @@global.slave_transaction_retries; + +######################################################## +# END OF slave_transaction_retries TESTS # +######################################################## + diff --git a/mysql-test/include/sort_buffer_size_basic.inc b/mysql-test/include/sort_buffer_size_basic.inc new file mode 100644 index 00000000000..4dbae7c8847 --- /dev/null +++ b/mysql-test/include/sort_buffer_size_basic.inc @@ -0,0 +1,213 @@ +############## mysql-test\t\sort_buffer_size_basic.test ####################### +# # +# Variable Name: sort_buffer_size # +# Scope: GLOBAL | SESSION # +# Access Type: Dynamic # +# Data Type: numeric # +# Default Value: 2097144 # +# Range:max value:4294967295 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Salman # +# # +# Description: Test Cases of Dynamic System Variable sort_buffer_size # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + +######################################################################## + + +###################################################################### +# START OF sort_buffer_size TESTS # +###################################################################### + + +############################################################# +# Save initial value # +############################################################# + +# due to difference when running on Windows (bug filed) +--source include/not_windows.inc + +SET @start_global_value = @@global.sort_buffer_size; +SELECT @start_global_value; +SET @start_session_value = @@session.sort_buffer_size; +SELECT @start_session_value; + + +--echo '#--------------------FN_DYNVARS_151_01-------------------------#' +###################################################################### +# Display the DEFAULT value of sort_buffer_size # +###################################################################### + +SET @@global.sort_buffer_size = 1000; +SET @@global.sort_buffer_size = DEFAULT; +SELECT @@global.sort_buffer_size= 2097144 OR @@global.sort_buffer_size= 2097116; + +SET @@session.sort_buffer_size = 2000; +SET @@session.sort_buffer_size = DEFAULT; +SELECT @@session.sort_buffer_size= 2097144 OR @@session.sort_buffer_size= 2097116; + + +--echo '#--------------------FN_DYNVARS_151_02-------------------------#' +###################################################################### +# Check the DEFAULT value of sort_buffer_size # +###################################################################### + +SET @@global.sort_buffer_size = DEFAULT; +SELECT @@global.sort_buffer_size = 2097144 OR @@global.sort_buffer_size= 2097116; + +SET @@session.sort_buffer_size = DEFAULT; +SELECT @@session.sort_buffer_size = 2097144 OR @@session.sort_buffer_size= 2097116; + + +--echo '#--------------------FN_DYNVARS_151_03-------------------------#' +################################################################################ +# Change the value of sort_buffer_size to a valid value for GLOBAL Scope # +################################################################################ + +SET @@global.sort_buffer_size = 32776; +SELECT @@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804; +SET @@global.sort_buffer_size = 32777; +SELECT @@global.sort_buffer_size= 32777 OR @@global.sort_buffer_size= 32804; +SET @@global.sort_buffer_size = 4294967295; +SELECT @@global.sort_buffer_size; +SET @@global.sort_buffer_size = 4294967294; +SELECT @@global.sort_buffer_size; +--echo 'Bug# 34877: Invalid Values are showing in variable on assigning valid values.'; + +--echo '#--------------------FN_DYNVARS_151_04-------------------------#' +################################################################################### +# Change the value of sort_buffer_size to a valid value for SESSION Scope # +################################################################################### + +SET @@session.sort_buffer_size = 32776; +SELECT @@session.sort_buffer_size= 32776 OR @@session.sort_buffer_size= 32804; +SET @@session.sort_buffer_size = 32777; +SELECT @@session.sort_buffer_size= 32777 OR @@session.sort_buffer_size= 32804; +SET @@session.sort_buffer_size = 4294967295; +SELECT @@session.sort_buffer_size; +SET @@session.sort_buffer_size = 4294967294; +SELECT @@session.sort_buffer_size; + + +--echo '#------------------FN_DYNVARS_151_05-----------------------#' +################################################################## +# Change the value of sort_buffer_size to an invalid value # +################################################################## + +SET @@global.sort_buffer_size = 32775; +SELECT @@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804; +SET @@global.sort_buffer_size = -1024; +SELECT @@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804; +SET @@global.sort_buffer_size = 4294967296; +SELECT @@global.sort_buffer_size; +--Error ER_PARSE_ERROR +SET @@global.sort_buffer_size = 65530.34.; +SELECT @@global.sort_buffer_size; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.sort_buffer_size = test; +SELECT @@global.sort_buffer_size; + +SET @@session.sort_buffer_size = 32775; +SELECT @@session.sort_buffer_size= 32776 OR @@session.sort_buffer_size= 32804; +SET @@session.sort_buffer_size = -2; +SELECT @@session.sort_buffer_size= 32776 OR @@session.sort_buffer_size= 32804; +--Error ER_PARSE_ERROR +SET @@session.sort_buffer_size = 65530.34.; +SET @@session.sort_buffer_size = 4294967296; +SELECT @@session.sort_buffer_size; +--echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@session.sort_buffer_size = test; +SELECT @@session.sort_buffer_size; + + +--echo '#------------------FN_DYNVARS_151_06-----------------------#' +#################################################################### +# Check if the value in GLOBAL Table matches value in variable # +#################################################################### + + +SELECT @@global.sort_buffer_size = VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='sort_buffer_size'; + +--echo '#------------------FN_DYNVARS_151_07-----------------------#' +#################################################################### +# Check if the value in SESSION Table matches value in variable # +#################################################################### + +SELECT @@session.sort_buffer_size = VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='sort_buffer_size'; + + +--echo '#------------------FN_DYNVARS_151_08-----------------------#' +#################################################################### +# Check if TRUE and FALSE values can be used on variable # +#################################################################### + +SET @@global.sort_buffer_size = TRUE; +SELECT @@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804; +SET @@global.sort_buffer_size = FALSE; +SELECT @@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804; +echo 'Bug: Errors should be displayed on assigning TRUE/FALSE to variable'; + + +--echo '#---------------------FN_DYNVARS_151_09----------------------#' +#################################################################################### +# Check if accessing variable with and without GLOBAL point to same variable # +#################################################################################### + +SET @@global.sort_buffer_size = 9000; +SELECT @@sort_buffer_size = @@global.sort_buffer_size; + + +--echo '#---------------------FN_DYNVARS_151_10----------------------#' +######################################################################################################## +# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable # +######################################################################################################## + +SET @@sort_buffer_size = 9000; +SELECT @@sort_buffer_size = @@local.sort_buffer_size; +SELECT @@local.sort_buffer_size = @@session.sort_buffer_size; + + +--echo '#---------------------FN_DYNVARS_151_11----------------------#' +################################################################################### +# Check if sort_buffer_size can be accessed with and without @@ sign # +################################################################################### + +SET sort_buffer_size = 9100; +SELECT @sort_buffer_size= 32776 OR @@sort_buffer_size= 32804; +SELECT @@sort_buffer_size; +--Error ER_UNKNOWN_TABLE +SELECT local.sort_buffer_size; +--Error ER_UNKNOWN_TABLE +SELECT session.sort_buffer_size; +--Error ER_BAD_FIELD_ERROR +SELECT sort_buffer_size = @@session.sort_buffer_size; + + +#################################### +# Restore initial value # +#################################### + +SET @@global.sort_buffer_size = @start_global_value; +SELECT @@global.sort_buffer_size; +SET @@session.sort_buffer_size = @start_session_value; +SELECT @@session.sort_buffer_size; + + +############################################################# +# END OF sort_buffer_size TESTS # +############################################################# diff --git a/mysql-test/include/sync_binlog_basic.inc b/mysql-test/include/sync_binlog_basic.inc new file mode 100644 index 00000000000..b66509bbb5e --- /dev/null +++ b/mysql-test/include/sync_binlog_basic.inc @@ -0,0 +1,156 @@ +#################### mysql-test\t\sync_binlog_basic.test ###################### +# # +# Variable Name: sync_binlog # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: numeric # +# Default Value: 0 # +# Range: 0 - 4294967295 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Salman Rawala # +# # +# Description: Test Cases of Dynamic System Variable sync_binlog # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + +################################################################## +# START OF sync_binlog TESTS # +################################################################## + + +################################################################## +# Saving initial value of sync_binlog in a temporary variable # +################################################################## + +SET @start_value = @@global.sync_binlog; +SELECT @start_value; + + +--echo '#--------------------FN_DYNVARS_168_01------------------------#' +################################################################## +# Display the DEFAULT value of sync_binlog # +################################################################## + +SET @@global.sync_binlog = 99; +SET @@global.sync_binlog = DEFAULT; +SELECT @@global.sync_binlog; + + +--echo '#---------------------FN_DYNVARS_168_02-------------------------#' +############################################### +# Verify default value of variable # +############################################### + +SET @@global.sync_binlog = @start_value; +SELECT @@global.sync_binlog = 0; + + +--echo '#--------------------FN_DYNVARS_168_03------------------------#' +################################################################### +# Change the value of sync_binlog to a valid value # +################################################################### + +SET @@global.sync_binlog = 0; +SELECT @@global.sync_binlog; +SET @@global.sync_binlog = 1; +SELECT @@global.sync_binlog; +SET @@global.sync_binlog = 4294967295; +SELECT @@global.sync_binlog; +SET @@global.sync_binlog = 4294967294; +SELECT @@global.sync_binlog; +SET @@global.sync_binlog = 65536; +SELECT @@global.sync_binlog; + + +--echo '#--------------------FN_DYNVARS_168_04-------------------------#' +###################################################################### +# Change the value of sync_binlog to invalid value # +###################################################################### + +SET @@global.sync_binlog = -1; +SELECT @@global.sync_binlog; +SET @@global.sync_binlog = 4294967296; +SELECT @@global.sync_binlog; +SET @@global.sync_binlog = 10240022115; +SELECT @@global.sync_binlog; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.sync_binlog = 10000.01; +SELECT @@global.sync_binlog; +SET @@global.sync_binlog = -1024; +SELECT @@global.sync_binlog; +SET @@global.sync_binlog = 42949672950; +SELECT @@global.sync_binlog; +--echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.sync_binlog = ON; +SELECT @@global.sync_binlog; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.sync_binlog = 'test'; +SELECT @@global.sync_binlog; + + +--echo '#-------------------FN_DYNVARS_168_05----------------------------#' +########################################################################### +# Test if accessing session sync_binlog gives error # +########################################################################### + +--Error ER_GLOBAL_VARIABLE +SET @@session.sync_binlog = 0; +SELECT @@sync_binlog; + + +--echo '#----------------------FN_DYNVARS_168_06------------------------#' +############################################################################## +# Check if the value in GLOBAL & SESSION Tables matches values in variable # +############################################################################## + +SELECT @@global.sync_binlog = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='sync_binlog'; + + + +--echo '#---------------------FN_DYNVARS_168_07----------------------#' +########################################################################## +# Check if sync_binlog can be accessed with and without @@ sign # +########################################################################## + +--Error ER_GLOBAL_VARIABLE +SET sync_binlog = 1; +SELECT @@sync_binlog; +--Error ER_PARSE_ERROR +SET local.sync_binlog = 1; +--Error ER_UNKNOWN_TABLE +SELECT local.sync_binlog; +--Error ER_PARSE_ERROR +SET global.sync_binlog = 1; +--Error ER_UNKNOWN_TABLE +SELECT global.sync_binlog; +--Error ER_BAD_FIELD_ERROR +SELECT sync_binlog = @@session.sync_binlog; + + +############################## +# Restore initial value # +############################## + +SET @@global.sync_binlog = @start_value; +SELECT @@global.sync_binlog; + + +######################################################################## +# END OF sync_binlog TESTS # +######################################################################## diff --git a/mysql-test/include/timestamp_basic.inc b/mysql-test/include/timestamp_basic.inc new file mode 100644 index 00000000000..d7ad620ec26 --- /dev/null +++ b/mysql-test/include/timestamp_basic.inc @@ -0,0 +1,162 @@ +################## mysql-test\t\timestamp_basic.test ########################## +# # +# Variable Name: timestamp # +# Scope: SESSION # +# Access Type: Dynamic # +# Data Type: string # +# Default Value: # +# Range: # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Rizwan # +# # +# Description: Test Cases of Dynamic System Variable timestamp # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + +####################################################################### +# START OF timestamp TESTS # +####################################################################### + + +####################################################################### +# Saving initial value of timestamp in a temporary variable # +####################################################################### + +SET @session_start_value = @@session.timestamp; + +--echo '#--------------------FN_DYNVARS_001_01------------------------#' +######################################################################## +# Display the DEFAULT value of timestamp # +######################################################################## + + +SET @@timestamp = DEFAULT; +#SELECT @@timestamp; + +--echo 'timestamp does not have any DEFAULT value' + +--echo '#---------------------FN_DYNVARS_001_02-------------------------#' +############################################################## +# see if accessable using global scope # +############################################################## + +--Error ER_LOCAL_VARIABLE +SET @@global.timestamp = "1000"; + + +--echo '#--------------------FN_DYNVARS_001_03------------------------#' +######################################################################## +# Change the value of timestamp to a valid value # +######################################################################## + +SET @@timestamp = 0; +#SELECT @@timestamp; + +--echo 'Setting 0 resets timestamp to session default timestamp' + +SET @@timestamp = 123456789123456; +SELECT @@timestamp; +SET @@timestamp = 60*60*60*60*365; +SELECT @@timestamp; +SET @@timestamp = -1000000000; +SELECT @@timestamp; + +SET @temp_ts = @@timestamp - @@timestamp; +SELECT @temp_ts; + +--echo '#--------------------FN_DYNVARS_001_04-------------------------#' +########################################################################### +# Change the value of timestamp to invalid value # +########################################################################### + +# for session scope +--Error ER_WRONG_TYPE_FOR_VAR +SET @@timestamp = "100"; +--echo 'Bug# 34836: Documentation says its a string variable but infact its numeric' + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@timestamp = " "; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@timestamp = 1.1; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@timestamp = 9999999999999999999999; + + + +--echo '#----------------------FN_DYNVARS_001_06------------------------#' +######################################################################### +# Check if the value in SESSION Table matches value in variable # +######################################################################### + +SELECT @@timestamp = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='timestamp'; + +--echo '#---------------------FN_DYNVARS_001_08-------------------------#' +############################################################################# +# Check if ON, OFF, TRUE and FALSE values can be used on variable # +############################################################################# +--Error ER_WRONG_TYPE_FOR_VAR +SET @@timestamp = OFF; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@timestamp = ON; + +SET @@timestamp = TRUE; +SELECT @@timestamp; + +SET @@timestamp = FALSE; +#SELECT @@timestamp; + + + +--echo '#---------------------FN_DYNVARS_001_10----------------------#' +############################################################################# +# Check if accessing variable with SESSION,LOCAL and without SCOPE points +# to same session variable +############################################################################# + +SET @@timestamp = 123456; +SELECT @@timestamp = @@local.timestamp and @@timestamp = @@session.timestamp; +SET @@timestamp = 654321; +SELECT @@timestamp = @@local.timestamp and @@timestamp = @@session.timestamp; + + +--echo '#---------------------FN_DYNVARS_001_11----------------------#' +##################################################################### +# Check if timestamp can be accessed with and without @@ sign # +##################################################################### + +SET timestamp = 1; +SELECT @@timestamp; +--Error ER_UNKNOWN_TABLE +SELECT local.timestamp; +--Error ER_UNKNOWN_TABLE +SELECT session.timestamp; +--Error ER_BAD_FIELD_ERROR +SELECT timestamp = @@session.timestamp; + +############################## +# Restore initial value # +############################## + +SET @@timestamp = @session_start_value; + +####################################################################### +# END OF timestamp TESTS # +####################################################################### + diff --git a/mysql-test/include/tmp_table_size_basic.inc b/mysql-test/include/tmp_table_size_basic.inc new file mode 100644 index 00000000000..7f69bcd1f8c --- /dev/null +++ b/mysql-test/include/tmp_table_size_basic.inc @@ -0,0 +1,233 @@ +############## mysql-test\t\tmp_table_size_basic.test ######################### +# # +# Variable Name: tmp_table_size # +# Scope: GLOBAL | SESSION # +# Access Type: Dynamic # +# Data Type: numeric # +# Default Value: 33554432 # +# Range: 1024-4294967295 # +# # +# # +# Creation Date: 2008-02-13 # +# Author: Salman # +# # +# Description: Test Cases of Dynamic System Variable tmp_table_size # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html#option_mysqld_tmp_table_size # +# # +############################################################################### + +--source include/load_sysvars.inc + +############################################################## +# START OF tmp_table_size TESTS # +############################################################## + + +############################################################# +# Save initial value # +############################################################# + +SET @start_global_value = @@global.tmp_table_size; +SELECT @start_global_value; +SET @start_session_value = @@session.tmp_table_size; +SELECT @start_session_value; + +--echo 'Bug# 34876: This variable has invalid default value as compared to documentation'; + +--echo '#--------------------FN_DYNVARS_005_01-------------------------#' +############################################################## +# Display the DEFAULT value of tmp_table_size # +############################################################## + +SET @@global.tmp_table_size = 100; +SET @@global.tmp_table_size = DEFAULT; +SELECT @@global.tmp_table_size; + +--echo 'Bug# 34876: This variable has invalid default value as compared to documentation'; +SET @@session.tmp_table_size = 200; +SET @@session.tmp_table_size = DEFAULT; +SELECT @@session.tmp_table_size; +--echo 'Bug# 34876: This variable has invalid default value as compared to documentation'; + + +--echo '#--------------------FN_DYNVARS_005_02-------------------------#' +######################################################################## +# Check the DEFAULT value of tmp_table_size # +######################################################################## + +SET @@global.tmp_table_size = DEFAULT; +SELECT @@global.tmp_table_size = 33554432; + +SET @@session.tmp_table_size = DEFAULT; +SELECT @@session.tmp_table_size = 33554432; + +--echo 'Bug# 34876: This variable has invalid default value as compared to documentation'; + +--echo '#--------------------FN_DYNVARS_005_03-------------------------#' +######################################################################## +# Change the value of tmp_table_size to a valid value for GLOBAL Scope # +######################################################################## + +SET @@global.tmp_table_size = 1024; +SELECT @@global.tmp_table_size; +SET @@global.tmp_table_size = 60020; +SELECT @@global.tmp_table_size; +SET @@global.tmp_table_size = 4294967295; +SELECT @@global.tmp_table_size; + + +--echo '#--------------------FN_DYNVARS_005_04-------------------------#' +######################################################################### +# Change the value of tmp_table_size to a valid value for SESSION Scope # +######################################################################### + +SET @@session.tmp_table_size = 1024; +SELECT @@session.tmp_table_size; + +SET @@session.tmp_table_size =4294967295; +SELECT @@session.tmp_table_size; +SET @@session.tmp_table_size = 65535; +SELECT @@session.tmp_table_size; + + +--echo '#------------------FN_DYNVARS_005_05-----------------------#' +########################################################## +# Change the value of tmp_table_size to an invalid value # +########################################################## + +SET @@global.tmp_table_size = 0; +SELECT @@global.tmp_table_size; + +SET @@global.tmp_table_size = -1024; +SELECT @@global.tmp_table_size; + +SET @@global.tmp_table_size = 1000; +SELECT @@global.tmp_table_size; + +--echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + + +-- Error ER_WRONG_TYPE_FOR_VAR +SET @@global.tmp_table_size = ON; + + +-- Error ER_WRONG_TYPE_FOR_VAR +SET @@global.tmp_table_size = OFF; + + +SET @@global.tmp_table_size = True; +SELECT @@global.tmp_table_size; + +SET @@global.tmp_table_size = False; +SELECT @@global.tmp_table_size; +--echo 'Bug:Error should be shown that variable is numeric and can not assigned boolean value'; + + +-- Error ER_WRONG_TYPE_FOR_VAR +SET @@global.tmp_table_size = 65530.34; + +-- Error ER_WRONG_TYPE_FOR_VAR +SET @@global.tmp_table_size ="Test"; + + +-- Error ER_WRONG_TYPE_FOR_VAR +SET @@session.tmp_table_size = ON; + + +-- Error ER_WRONG_TYPE_FOR_VAR +SET @@session.tmp_table_size = OFF; + +SET @@session.tmp_table_size = True; +SELECT @@session.tmp_table_size; + +SET @@session.tmp_table_size = False; +SELECT @@session.tmp_table_size; + +-- Error ER_WRONG_TYPE_FOR_VAR +SET @@session.tmp_table_size = "Test"; + +SET @@session.tmp_table_size = 12345678901; +SELECT @@session.tmp_table_size; + + +--echo '#------------------FN_DYNVARS_005_06-----------------------#' +#################################################################### +# Check if the value in GLOBAL Table matches value in variable # +#################################################################### + + +SELECT @@global.tmp_table_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='tmp_table_size'; + +--echo '#------------------FN_DYNVARS_005_07-----------------------#' +#################################################################### +# Check if the value in SESSION Table matches value in variable # +#################################################################### + +SELECT @@session.tmp_table_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='tmp_table_size'; + + + + +--echo '#---------------------FN_DYNVARS_001_09----------------------#' +######################################################################## +# Check if global and session variables are independent of each other # +######################################################################## + +SET @@global.tmp_table_size = 1024; +SET @@tmp_table_size = 4294967295; +SELECT @@tmp_table_size = @@global.tmp_table_size; + +--echo '#---------------------FN_DYNVARS_001_10----------------------#' +################################################################## +# Check if accessing variable with SESSION,LOCAL and without # +# SCOPE points to same session variable # +################################################################## + +SET @@tmp_table_size = 100; +SELECT @@tmp_table_size = @@local.tmp_table_size; +SELECT @@local.tmp_table_size = @@session.tmp_table_size; + + +--echo '#---------------------FN_DYNVARS_001_11----------------------#' +######################################################################### +# Check if tmp_table_size can be accessed with and without @@ sign # +######################################################################### + +SET tmp_table_size = 1027; +SELECT @@tmp_table_size; + +--Error ER_UNKNOWN_TABLE +SELECT local.tmp_table_size; + +--Error ER_UNKNOWN_TABLE +SELECT global.tmp_table_size; + +--Error ER_BAD_FIELD_ERROR +SELECT tmp_table_size = @@session.tmp_table_size; + + +#################################### +# Restore initial value # +#################################### + +SET @@global.tmp_table_size = @start_global_value; +SELECT @@global.tmp_table_size; +SET @@session.tmp_table_size = @start_session_value; +SELECT @@session.tmp_table_size; + + +################################################### +# END OF tmp_table_size TESTS # +################################################### + diff --git a/mysql-test/include/transaction_alloc_block_size_basic.inc b/mysql-test/include/transaction_alloc_block_size_basic.inc new file mode 100644 index 00000000000..c14383b86c6 --- /dev/null +++ b/mysql-test/include/transaction_alloc_block_size_basic.inc @@ -0,0 +1,240 @@ +############## mysql-test\t\transaction_alloc_block_size_basic.test ########### +# # +# Variable Name: transaction_alloc_block_size # +# Scope: GLOBAL | SESSION # +# Access Type: Dynamic # +# Data Type: numeric # +# Default Value: 8192 # +# Range: 1024-4294967295 # +# # +# # +# Creation Date: 2008-02-14 # +# Author: Salman # +# # +# Description: Test Cases of Dynamic System Variable # +# transaction_alloc_block_size # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + +######################################################################## +# START OF transaction_alloc_block_size TESTS # +######################################################################## + + +############################################################# +# Save initial value # +############################################################# + +SET @start_global_value = @@global.transaction_alloc_block_size; +SELECT @start_global_value; +SET @start_session_value = @@session.transaction_alloc_block_size; +SELECT @start_session_value; + + +--echo '#--------------------FN_DYNVARS_005_01-------------------------#' +######################################################################## +# Display the DEFAULT value of transaction_alloc_block_size # +######################################################################## + +SET @@global.transaction_alloc_block_size = 100; +SET @@global.transaction_alloc_block_size = DEFAULT; +SELECT @@global.transaction_alloc_block_size; + + +SET @@session.transaction_alloc_block_size = 200; +SET @@session.transaction_alloc_block_size = DEFAULT; +SELECT @@session.transaction_alloc_block_size; + + + +--echo '#--------------------FN_DYNVARS_005_02-------------------------#' +######################################################################## +# Check the DEFAULT value of transaction_alloc_block_size # +######################################################################## + +SET @@global.transaction_alloc_block_size = DEFAULT; +SELECT @@global.transaction_alloc_block_size = 8192; + +SET @@session.transaction_alloc_block_size = DEFAULT; +SELECT @@session.transaction_alloc_block_size = 8192; + + +--echo '#--------------------FN_DYNVARS_005_03-------------------------#' +################################################################## +# Change the value of variable to a valid value for GLOBAL Scope # +################################################################## + +SET @@global.transaction_alloc_block_size = 1024; +SELECT @@global.transaction_alloc_block_size; + +SET @@global.transaction_alloc_block_size = 60020; +SELECT @@global.transaction_alloc_block_size; + +SET @@global.transaction_alloc_block_size = 4294967295; +SELECT @@global.transaction_alloc_block_size; +--echo 'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; + +--echo '#--------------------FN_DYNVARS_005_04-------------------------#' +################################################################### +# Change the value of variable to a valid value for SESSION Scope # +################################################################### + +SET @@session.transaction_alloc_block_size = 1024; +SELECT @@session.transaction_alloc_block_size; + +SET @@session.transaction_alloc_block_size =4294967295; +SELECT @@session.transaction_alloc_block_size; + +SET @@session.transaction_alloc_block_size = 65535; +SELECT @@session.transaction_alloc_block_size; +--echo 'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; + + +--echo '#------------------FN_DYNVARS_005_05-----------------------#' +######################################################################## +# Change the value of transaction_alloc_block_size to an invalid value # +######################################################################## + +SET @@global.transaction_alloc_block_size = 0; +SELECT @@global.transaction_alloc_block_size; + +SET @@global.transaction_alloc_block_size = -1024; +SELECT @@global.transaction_alloc_block_size; + + +SET @@global.transaction_alloc_block_size = 123456789201; +SELECT @@global.transaction_alloc_block_size; + +--echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + +-- Error ER_WRONG_TYPE_FOR_VAR +SET @@global.transaction_alloc_block_size = ON; + +-- Error ER_WRONG_TYPE_FOR_VAR +SET @@global.transaction_alloc_block_size = OFF; + + +SET @@global.transaction_alloc_block_size = True; +SELECT @@global.transaction_alloc_block_size; + +SET @@global.transaction_alloc_block_size = False; +SELECT @@global.transaction_alloc_block_size; + + +-- Error ER_WRONG_TYPE_FOR_VAR +SET @@global.transaction_alloc_block_size = 65530.34; + +-- Error ER_WRONG_TYPE_FOR_VAR +SET @@global.transaction_alloc_block_size ="Test"; + +SET @@global.transaction_alloc_block_size = 1000; +SELECT @@global.transaction_alloc_block_size; + +SET @@session.transaction_alloc_block_size = 12345678901; +SELECT @@session.transaction_alloc_block_size; + +--echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + +-- Error ER_WRONG_TYPE_FOR_VAR +SET @@session.transaction_alloc_block_size = ON; + +-- Error ER_WRONG_TYPE_FOR_VAR +SET @@session.transaction_alloc_block_size = OFF; + +SET @@session.transaction_alloc_block_size = True; +SELECT @@session.transaction_alloc_block_size; + +SET @@session.transaction_alloc_block_size = False; +SELECT @@session.transaction_alloc_block_size; + + +-- Error ER_WRONG_TYPE_FOR_VAR +SET @@session.transaction_alloc_block_size = "Test"; + + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@session.transaction_alloc_block_size = 'test'; + +--echo '#------------------FN_DYNVARS_005_06-----------------------#' +#################################################################### +# Check if the value in GLOBAL Table matches value in variable # +#################################################################### + + +SELECT @@global.transaction_alloc_block_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='transaction_alloc_block_size'; + +--echo '#------------------FN_DYNVARS_005_07-----------------------#' +#################################################################### +# Check if the value in SESSION Table matches value in variable # +#################################################################### + +SELECT @@session.transaction_alloc_block_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='transaction_alloc_block_size'; + + +--echo '#---------------------FN_DYNVARS_001_08----------------------#' +########################################################################### +# Check if global and session variable are independent of each other # +########################################################################### + +SET @@transaction_alloc_block_size = 1024; +SET @@global.transaction_alloc_block_size = 4294967295; +SELECT @@transaction_alloc_block_size = @@global.transaction_alloc_block_size; + + +--echo '#---------------------FN_DYNVARS_001_09----------------------#' +######################################################################## +# Check if accessing variable with SESSION,LOCAL and without SCOPE # +# points to same session variable # +######################################################################## + +SET @@transaction_alloc_block_size = 100; +SELECT @@transaction_alloc_block_size = @@local.transaction_alloc_block_size; +SELECT @@local.transaction_alloc_block_size = @@session.transaction_alloc_block_size; + + +--echo '#---------------------FN_DYNVARS_001_10----------------------#' +################################################################ +# Check if variable can be accessed with and without @@ sign # +################################################################ + +SET transaction_alloc_block_size = 1027; +SELECT @@transaction_alloc_block_size; + +--Error ER_UNKNOWN_TABLE +SELECT local.transaction_alloc_block_size; + +--Error ER_UNKNOWN_TABLE +SELECT session.transaction_alloc_block_size; + +--Error ER_BAD_FIELD_ERROR +SELECT transaction_alloc_block_size = @@session.transaction_alloc_block_size; + + +#################################### +# Restore initial value # +#################################### + +SET @@global.transaction_alloc_block_size = @start_global_value; +SELECT @@global.transaction_alloc_block_size; +SET @@session.tmp_table_size = @start_session_value; +SELECT @@session.transaction_alloc_block_size; + + +############################################################# +# END OF transaction_alloc_block_size TESTS # +############################################################# + diff --git a/mysql-test/include/transaction_prealloc_size_basic.inc b/mysql-test/include/transaction_prealloc_size_basic.inc new file mode 100644 index 00000000000..1ca302a19e0 --- /dev/null +++ b/mysql-test/include/transaction_prealloc_size_basic.inc @@ -0,0 +1,229 @@ +############## mysql-test\t\transaction_prealloc_size_basic.test ############## +# # +# Variable Name: transaction_prealloc_size # +# Scope: GLOBAL | SESSION # +# Access Type: Dynamic # +# Data Type: numeric # +# Default Value: 4096 # +# Range: # +# # +# # +# Creation Date: 2008-02-14 # +# Author: Sharique Abdullah # +# # +# Description: Test Cases of Dynamic System Variable transaction_prealloc_size# +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html#option_mysqld_transaction_prealloc_size # +# # +############################################################################### + +--source include/load_sysvars.inc + +######################################################################## +# START OF transaction_prealloc_size TESTS # +######################################################################## + + +############################################################# +# Save initial value # +############################################################# + +SET @start_global_value = @@global.transaction_prealloc_size; +SELECT @start_global_value; +SET @start_session_value = @@session.transaction_prealloc_size; +SELECT @start_session_value; + +--echo 'Bug# 34876: This variable has invalid default value as compared to documentation'; + +--echo '#--------------------FN_DYNVARS_005_01-------------------------#' +######################################################################## +# Display the DEFAULT value of transaction_prealloc_size # +######################################################################## + +SET @@global.transaction_prealloc_size = 100; +SET @@global.transaction_prealloc_size = DEFAULT; +SELECT @@global.transaction_prealloc_size; + + +SET @@session.transaction_prealloc_size = 200; +SET @@session.transaction_prealloc_size = DEFAULT; +SELECT @@session.transaction_prealloc_size; + +--echo '#--------------------FN_DYNVARS_005_02-------------------------#' +######################################################################## +# Check the DEFAULT value of transaction_prealloc_size # +######################################################################## + +SET @@global.transaction_prealloc_size = DEFAULT; +SELECT @@global.transaction_prealloc_size = 4096; + +SET @@session.transaction_prealloc_size = DEFAULT; +SELECT @@session.transaction_prealloc_size = 4096; + +--echo '#--------------------FN_DYNVARS_005_03-------------------------#' +################################################################## +# Change the value of variable to a valid value for GLOBAL Scope # +################################################################## + +SET @@global.transaction_prealloc_size = 1024; +SELECT @@global.transaction_prealloc_size; + +SET @@global.transaction_prealloc_size = 60020; +SELECT @@global.transaction_prealloc_size; + +SET @@global.transaction_prealloc_size = 4294966272; +SELECT @@global.transaction_prealloc_size; + + +--echo '#--------------------FN_DYNVARS_005_04-------------------------#' +################################################################### +# Change the value of variable to a valid value for SESSION Scope # +################################################################### + +SET @@session.transaction_prealloc_size = 1024; +SELECT @@session.transaction_prealloc_size; + +SET @@session.transaction_prealloc_size =4294966272; +SELECT @@session.transaction_prealloc_size; +SET @@session.transaction_prealloc_size = 65535; +SELECT @@session.transaction_prealloc_size; + + +--echo '#------------------FN_DYNVARS_005_05-----------------------#' +##################################################################### +# Change the value of transaction_prealloc_size to an invalid value # +##################################################################### + +SET @@global.transaction_prealloc_size = 0; +SELECT @@global.transaction_prealloc_size; + +SET @@global.transaction_prealloc_size = -1024; +SELECT @@global.transaction_prealloc_size; + +--echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + +-- Error ER_WRONG_TYPE_FOR_VAR +SET @@global.transaction_prealloc_size = ON; + + +-- Error ER_WRONG_TYPE_FOR_VAR +SET @@global.transaction_prealloc_size = OFF; + + +SET @@global.transaction_prealloc_size = True; +SELECT @@global.transaction_prealloc_size; + +SET @@global.transaction_prealloc_size = False; +SELECT @@global.transaction_prealloc_size; + + +-- Error ER_WRONG_TYPE_FOR_VAR +SET @@global.transaction_prealloc_size = 65530.34; + +-- Error ER_WRONG_TYPE_FOR_VAR +SET @@global.transaction_prealloc_size ="Test"; + +SET @@global.transaction_prealloc_size = 1000; +SELECT @@global.transaction_prealloc_size; + +-- Error ER_WRONG_TYPE_FOR_VAR +SET @@session.transaction_prealloc_size = ON; + + +-- Error ER_WRONG_TYPE_FOR_VAR +SET @@session.transaction_prealloc_size = OFF; + +SET @@session.transaction_prealloc_size = True; +SELECT @@session.transaction_prealloc_size; + +SET @@session.transaction_prealloc_size = False; +SELECT @@session.transaction_prealloc_size; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@session.transaction_prealloc_size = "Test"; + +SET @@session.transaction_prealloc_size = 123456789031; +SELECT @@session.transaction_prealloc_size; + + +--echo '#------------------FN_DYNVARS_005_06-----------------------#' +#################################################################### +# Check if the value in GLOBAL Table matches value in variable # +#################################################################### + + +SELECT @@global.transaction_prealloc_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='transaction_prealloc_size'; + +--echo '#------------------FN_DYNVARS_005_07-----------------------#' +#################################################################### +# Check if the value in SESSION Table matches value in variable # +#################################################################### + +SELECT @@session.transaction_prealloc_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='transaction_prealloc_size'; + + + + +--echo '#---------------------FN_DYNVARS_001_09----------------------#' +########################################################################### +# Check if global and session variable are independent of each other # +########################################################################### + +SET @@global.transaction_prealloc_size = 1024; +SET @@global.transaction_prealloc_size = 10; + +SELECT @@transaction_prealloc_size = @@global.transaction_prealloc_size; + + +--echo '#---------------------FN_DYNVARS_001_10----------------------#' +######################################################################## +# Check if accessing variable with SESSION,LOCAL and without SCOPE # +# points to same session variable # +######################################################################## + +SET @@transaction_prealloc_size = 100; +SELECT @@transaction_prealloc_size = @@local.transaction_prealloc_size; +SELECT @@local.transaction_prealloc_size = @@session.transaction_prealloc_size; + + +--echo '#---------------------FN_DYNVARS_001_11----------------------#' +############################################################################### +# Check if transaction_prealloc_size can be accessed with and without @@ sign # +############################################################################### + +SET transaction_prealloc_size = 1027; +SELECT @@transaction_prealloc_size; + +--Error ER_UNKNOWN_TABLE +SELECT local.transaction_prealloc_size; + +--Error ER_UNKNOWN_TABLE +SELECT session.transaction_prealloc_size; + +--Error ER_BAD_FIELD_ERROR +SELECT transaction_prealloc_size = @@session.transaction_prealloc_size; + +#################################### +# Restore initial value # +#################################### + +SET @@global.transaction_prealloc_size = @start_global_value; +SELECT @@global.transaction_prealloc_size; +SET @@session.transaction_prealloc_size = @start_session_value; +SELECT @@session.transaction_prealloc_size; + + +############################################################# +# END OF transaction_prealloc_size TESTS # +############################################################# + diff --git a/mysql-test/include/wait_for_slave_sql_to_start.inc b/mysql-test/include/wait_for_slave_sql_to_start.inc new file mode 100644 index 00000000000..14134725da4 --- /dev/null +++ b/mysql-test/include/wait_for_slave_sql_to_start.inc @@ -0,0 +1,31 @@ +################################################### +#Author: Mats (based on file written by Jeb) +#Date: 2008-05-06 +#Purpose: To wait for slave SQL thread to start +#Details: +# 1) Fill in and setup variables +# 2) loop through looking for both +# io and sql threads to start +# 3) If loops too long die. +#################################################### +connection slave; +let $row_number= 1; +let $run= 1; +let $counter= 300; + +while ($run) +{ + let $sql_result= query_get_value("SHOW SLAVE STATUS", Slave_SQL_Running, $row_number); + if (`SELECT '$sql_result' = 'Yes'`){ + let $run= 0; + } + sleep 0.1; + if (!$counter){ + --echo "Failed while waiting for slave SQL to start" + query_vertical SHOW SLAVE STATUS; + exit; + } + dec $counter; +} + + diff --git a/mysql-test/include/wait_timeout_basic.inc b/mysql-test/include/wait_timeout_basic.inc new file mode 100644 index 00000000000..b6e19e235ba --- /dev/null +++ b/mysql-test/include/wait_timeout_basic.inc @@ -0,0 +1,218 @@ +############## mysql-test\t\wait_timeout_basic.test ########################### +# # +# Variable Name: wait_timeout # +# Scope: GLOBAL | SESSION # +# Access Type: Dynamic # +# Data Type: numeric # +# Default Value: # +# Range: # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Sharique Abdullah # +# # +# Description: Test Cases of Dynamic System Variable wait_timeout # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html#option_mysqld_wait_timeouts # +# # +############################################################################### +# Due to differnces between linux and windows in the results + +--source include/not_windows.inc +--source include/load_sysvars.inc + +############################################################ +# START OF wait_timeout TESTS # +############################################################ + +############################################################# +# Save initial value # +############################################################# + +SET @start_global_value = @@global.wait_timeout; +SET @start_session_value = @@session.wait_timeout; + +--echo '#--------------------FN_DYNVARS_005_01-------------------------#' +############################################################ +# Display the DEFAULT value of wait_timeout # +############################################################ + +SET @@global.wait_timeout = 100; +SET @@global.wait_timeout = DEFAULT; +SELECT @@global.wait_timeout; + +SET @@session.wait_timeout = 200; +SET @@session.wait_timeout = DEFAULT; +SELECT @@session.wait_timeout; + + +--echo '#--------------------FN_DYNVARS_005_02-------------------------#' +############################################################ +# Check the DEFAULT value of wait_timeout # +############################################################ + +SET @@global.wait_timeout = DEFAULT; +SELECT @@global.wait_timeout = @default_wait_timeout; + +SET @@session.wait_timeout = DEFAULT; +SELECT @@session.wait_timeout = @default_wait_timeout; + + + +--echo '#--------------------FN_DYNVARS_005_03-------------------------#' +###################################################################### +# Change the value of wait_timeout to a valid value for GLOBAL Scope # +###################################################################### + +#SET @@global.wait_timeout= @min_wait_timeout; +SET @@global.wait_timeout= 1; +SELECT @@global.wait_timeout; + +SET @@global.wait_timeout = 60020; +SELECT @@global.wait_timeout; + +#SET @@global.wait_timeout = @max_wait_timeout; +SET @@global.wait_timeout = 31536000; +SELECT @@global.wait_timeout = @max_wait_timeout; + + +--echo '#--------------------FN_DYNVARS_005_04-------------------------#' +####################################################################### +# Change the value of wait_timeout to a valid value for SESSION Scope # +####################################################################### +#SET @@session.wait_timeout = @min_wait_timeout; +#SELECT @@session.wait_timeout; + +SET @@session.wait_timeout =6000; +SELECT @@session.wait_timeout; + +#SET @@session.wait_timeout = @max_wait_timeout; +#SELECT @@session.wait_timeout = @max_wait_timeout; + + +--echo '#------------------FN_DYNVARS_005_05-----------------------#' +######################################################## +# Change the value of wait_timeout to an invalid value # +######################################################## + +SET @@global.wait_timeout = 0; +SET @@global.wait_timeout = -1024; + +--echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.wait_timeout = ON; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.wait_timeout = OFF; + +SET @@global.wait_timeout = True; +SELECT @@global.wait_timeout; + +SET @@global.wait_timeout = False; +SELECT @@global.wait_timeout; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.wait_timeout = 65530.34; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.wait_timeout ="Test"; + + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@session.wait_timeout = ON; + + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@session.wait_timeout = OFF; + +SET @@session.wait_timeout = True; +SELECT @@session.wait_timeout; + +SET @@session.wait_timeout = False; +SELECT @@session.wait_timeout; + + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@session.wait_timeout = "Test"; + + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@session.wait_timeout = 'test'; + +SET @@session.wait_timeout = 123456789031; +SELECT @@session.wait_timeout = @max_wait_timeout; + + +--echo '#------------------FN_DYNVARS_005_06-----------------------#' +#################################################################### +# Check if the value in GLOBAL Table matches value in variable # +#################################################################### + +SELECT @@global.wait_timeout = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='wait_timeout'; + +--echo '#------------------FN_DYNVARS_005_07-----------------------#' +#################################################################### +# Check if the value in SESSION Table matches value in variable # +#################################################################### + +SELECT @@session.wait_timeout = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='wait_timeout'; + +--echo '#---------------------FN_DYNVARS_001_09----------------------#' +########################################################################### +# Check if global and session variable are independent of each other # +########################################################################### + +SET @@global.wait_timeout = 30000; +SET @@global.wait_timeout = 40000; +SELECT @@wait_timeout = @@global.wait_timeout; + +--echo '#---------------------FN_DYNVARS_001_10----------------------#' +######################################################################## +# Check if accessing variable with SESSION,LOCAL and without SCOPE # +# points to same session variable # +######################################################################## + +SET @@wait_timeout = 100; +SELECT @@wait_timeout = @@local.wait_timeout; +SELECT @@local.wait_timeout = @@session.wait_timeout; + +--echo '#---------------------FN_DYNVARS_001_11----------------------#' +####################################################################### +# Check if wait_timeout can be accessed with and without @@ sign # +####################################################################### + +SET wait_timeout = 1027; +SELECT @@wait_timeout; + + +--Error ER_UNKNOWN_TABLE +SELECT local.wait_timeout; + +--Error ER_UNKNOWN_TABLE +SELECT session.wait_timeout; + +--Error ER_BAD_FIELD_ERROR +SELECT wait_timeout = @@session.wait_timeout; + + +#################################### +# Restore initial value # +#################################### + +SET @@global.wait_timeout = @start_global_value; +SET @@session.wait_timeout = @start_session_value; + +################################################# +# END OF wait_timeout TESTS # +################################################# diff --git a/mysql-test/include/windows_sys_vars.inc b/mysql-test/include/windows_sys_vars.inc new file mode 100644 index 00000000000..90ff86fefd1 --- /dev/null +++ b/mysql-test/include/windows_sys_vars.inc @@ -0,0 +1,34 @@ +# +# This file contains default,min and max values for sys variables for windows +# + +--disable_query_log + +SET @default_flush_time = 1800; +SET @min_flush_time = 0; +#SET @max_flush_time = 0; + +SET @default_key_buffer_size= 131072; +SET @min_key_buffer_size= 8; + +#SET @default_join_buffer_size = 131072; +#SET @min_join_buffer_size = 8200; +#SET @max_join_buffer_size = 4294967295; + +SET @default_max_join_size = 4294967295; +SET @min_max_join_size = 1; +SET @max_max_join_size = 4294967295; + +SET @default_sql_max_join_size = 4294967295; +SET @min_sql_max_join_size = 1; +SET @max_sql_max_join_size = 4294967295; + +SET @default_sql_select_limit = 4294967295; +SET @min_sql_select_limit = 0; +SET @max_sql_select_limit = 4294967295; + +let $default_wait_timeout = 28800; +let $min_wait_timeout = 1; +let $max_wait_timeout = 2147483; + +--enable_query_log diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl old mode 100755 new mode 100644 diff --git a/mysql-test/r/auto_commit_basic.result b/mysql-test/r/auto_commit_basic.result new file mode 100644 index 00000000000..c3643aaa1db --- /dev/null +++ b/mysql-test/r/auto_commit_basic.result @@ -0,0 +1,117 @@ +SET @start_value = @@autocommit; +SELECT @start_value; +@start_value +1 +'#--------------------FN_DYNVARS_003_01------------------------#' +SET @@autocommit = 0; +SET @@autocommit = DEFAULT; +SELECT @@autocommit; +@@autocommit +0 +'Bug: variable DEFAULT value not working and is not throwing error' +'#---------------------FN_DYNVARS_003_02-------------------------#' +SET @@autocommit = @start_value; +SELECT @@autocommit = 1; +@@autocommit = 1 +1 +'#--------------------FN_DYNVARS_003_03------------------------#' +SET @@autocommit = 0; +SELECT @@autocommit; +@@autocommit +0 +SET @@autocommit = 1; +SELECT @@autocommit; +@@autocommit +1 +'#--------------------FN_DYNVARS_003_04-------------------------#' +SET @@autocommit = 2; +ERROR 42000: Variable 'autocommit' can't be set to the value of '2' +SET @@autocommit = -1; +ERROR 42000: Variable 'autocommit' can't be set to the value of '-1' +SET @@autocommit = TRUEF; +ERROR 42000: Variable 'autocommit' can't be set to the value of 'TRUEF' +SET @@autocommit = TRUE_F; +ERROR 42000: Variable 'autocommit' can't be set to the value of 'TRUE_F' +SET @@autocommit = FALSE0; +ERROR 42000: Variable 'autocommit' can't be set to the value of 'FALSE0' +SET @@autocommit = OON; +ERROR 42000: Variable 'autocommit' can't be set to the value of 'OON' +SET @@autocommit = ONN; +ERROR 42000: Variable 'autocommit' can't be set to the value of 'ONN' +SET @@autocommit = OOFF; +ERROR 42000: Variable 'autocommit' can't be set to the value of 'OOFF' +SET @@autocommit = 0FF; +ERROR 42000: Variable 'autocommit' can't be set to the value of '0FF' +SET @@autocommit = ' '; +ERROR 42000: Variable 'autocommit' can't be set to the value of ' ' +SET @@autocommit = " "; +ERROR 42000: Variable 'autocommit' can't be set to the value of ' ' +SET @@autocommit = ''; +ERROR 42000: Variable 'autocommit' can't be set to the value of '' +'#-------------------FN_DYNVARS_003_05----------------------------#' +SET @@global.autocommit = 0; +ERROR HY000: Variable 'autocommit' is a SESSION variable and can't be used with SET GLOBAL +SELECT @@global.autocommit; +ERROR HY000: Variable 'autocommit' is a SESSION variable +'#----------------------FN_DYNVARS_003_06------------------------#' +SELECT @@session.autocommit = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='autocommit'; +@@session.autocommit = VARIABLE_VALUE +0 +Bug # 34839: Values in variable and information_schema do not match for autocommit +'#----------------------FN_DYNVARS_003_07------------------------#' +SET @@autocommit = 1; +SELECT @@autocommit = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='autocommit'; +@@autocommit = VARIABLE_VALUE +0 +'#---------------------FN_DYNVARS_003_08-------------------------#' +SET @@autocommit = OFF; +SELECT @@autocommit; +@@autocommit +0 +SET @@autocommit = ON; +SELECT @@autocommit; +@@autocommit +1 +'#---------------------FN_DYNVARS_003_09----------------------#' +SET @@autocommit = TRUE; +SELECT @@autocommit; +@@autocommit +1 +SET @@autocommit = FALSE; +SELECT @@autocommit; +@@autocommit +0 +'#---------------------FN_DYNVARS_003_10----------------------#' +SET @@autocommit = 0; +SELECT @@autocommit = @@local.autocommit; +@@autocommit = @@local.autocommit +1 +SELECT @@local.autocommit = @@session.autocommit; +@@local.autocommit = @@session.autocommit +1 +SET @@autocommit = 1; +SELECT @@autocommit = @@local.autocommit; +@@autocommit = @@local.autocommit +1 +SELECT @@session.autocommit = @@autocommit; +@@session.autocommit = @@autocommit +1 +'#---------------------FN_DYNVARS_003_11----------------------#' +SET autocommit = 1; +SELECT @@autocommit; +@@autocommit +1 +SELECT local.autocommit; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.autocommit; +ERROR 42S02: Unknown table 'session' in field list +SELECT autocommit = @@session.autocommit; +ERROR 42S22: Unknown column 'autocommit' in 'field list' +SET @@autocommit = @start_value; +SELECT @@autocommit; +@@autocommit +1 diff --git a/mysql-test/r/auto_increment_increment_basic.result b/mysql-test/r/auto_increment_increment_basic.result new file mode 100644 index 00000000000..c453d2322cf --- /dev/null +++ b/mysql-test/r/auto_increment_increment_basic.result @@ -0,0 +1,165 @@ +SET @start_global_value = @@global.auto_increment_increment; +SELECT @start_global_value; +@start_global_value +1 +SET @start_session_value = @@session.auto_increment_increment; +SELECT @start_session_value; +@start_session_value +1 +'#--------------------FN_DYNVARS_001_01-------------------------#' +SET @@global.auto_increment_increment = 100; +SET @@global.auto_increment_increment = DEFAULT; +SELECT @@global.auto_increment_increment; +@@global.auto_increment_increment +1 +SET @@session.auto_increment_increment = 200; +SET @@session.auto_increment_increment = DEFAULT; +SELECT @@session.auto_increment_increment; +@@session.auto_increment_increment +1 +'#--------------------FN_DYNVARS_001_02-------------------------#' +SET @@global.auto_increment_increment = DEFAULT; +SELECT @@global.auto_increment_increment = 1; +@@global.auto_increment_increment = 1 +1 +SET @@session.auto_increment_increment = DEFAULT; +SELECT @@session.auto_increment_increment = 1; +@@session.auto_increment_increment = 1 +1 +'#--------------------FN_DYNVARS_001_03-------------------------#' +SET @@global.auto_increment_increment = 1; +SELECT @@global.auto_increment_increment; +@@global.auto_increment_increment +1 +SET @@global.auto_increment_increment = 60020; +SELECT @@global.auto_increment_increment; +@@global.auto_increment_increment +60020 +SET @@global.auto_increment_increment = 65535; +SELECT @@global.auto_increment_increment; +@@global.auto_increment_increment +65535 +'#--------------------FN_DYNVARS_001_04-------------------------#' +SET @@session.auto_increment_increment = 1; +SELECT @@session.auto_increment_increment; +@@session.auto_increment_increment +1 +SET @@session.auto_increment_increment = 50050; +SELECT @@session.auto_increment_increment; +@@session.auto_increment_increment +50050 +SET @@session.auto_increment_increment = 65535; +SELECT @@session.auto_increment_increment; +@@session.auto_increment_increment +65535 +'#------------------FN_DYNVARS_001_05-----------------------#' +SET @@global.auto_increment_increment = 0; +Warnings: +Warning 1292 Truncated incorrect auto-increment-increment value: '0' +SELECT @@global.auto_increment_increment; +@@global.auto_increment_increment +1 +SET @@global.auto_increment_increment = -1024; +Warnings: +Warning 1292 Truncated incorrect auto-increment-increment value: '0' +SELECT @@global.auto_increment_increment; +@@global.auto_increment_increment +1 +SET @@global.auto_increment_increment = 65536; +Warnings: +Warning 1292 Truncated incorrect auto_increment_increment value: '65536' +SELECT @@global.auto_increment_increment; +@@global.auto_increment_increment +65535 +SET @@global.auto_increment_increment = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.auto_increment_increment; +@@global.auto_increment_increment +65535 +SET @@global.auto_increment_increment = test; +ERROR 42000: Incorrect argument type to variable 'auto_increment_increment' +SELECT @@global.auto_increment_increment; +@@global.auto_increment_increment +65535 +SET @@session.auto_increment_increment = 0; +Warnings: +Warning 1292 Truncated incorrect auto-increment-increment value: '0' +SELECT @@session.auto_increment_increment; +@@session.auto_increment_increment +1 +SET @@session.auto_increment_increment = -2; +Warnings: +Warning 1292 Truncated incorrect auto-increment-increment value: '0' +SELECT @@session.auto_increment_increment; +@@session.auto_increment_increment +1 +SET @@session.auto_increment_increment = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.auto_increment_increment = 65550; +Warnings: +Warning 1292 Truncated incorrect auto_increment_increment value: '65550' +SELECT @@session.auto_increment_increment; +@@session.auto_increment_increment +65535 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@session.auto_increment_increment = test; +ERROR 42000: Incorrect argument type to variable 'auto_increment_increment' +SELECT @@session.auto_increment_increment; +@@session.auto_increment_increment +65535 +'#------------------FN_DYNVARS_001_06-----------------------#' +SELECT @@global.auto_increment_increment = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='auto_increment_increment'; +@@global.auto_increment_increment = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_001_07-----------------------#' +SELECT @@session.auto_increment_increment = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='auto_increment_increment'; +@@session.auto_increment_increment = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_001_08-----------------------#' +SET @@global.auto_increment_increment = TRUE; +SELECT @@global.auto_increment_increment; +@@global.auto_increment_increment +1 +SET @@global.auto_increment_increment = FALSE; +Warnings: +Warning 1292 Truncated incorrect auto-increment-increment value: '0' +SELECT @@global.auto_increment_increment; +@@global.auto_increment_increment +1 +'#---------------------FN_DYNVARS_001_09----------------------#' +SET @@global.auto_increment_increment = 10; +SET @@session.auto_increment_increment = 11; +SELECT @@auto_increment_increment = @@global.auto_increment_increment; +@@auto_increment_increment = @@global.auto_increment_increment +0 +'#---------------------FN_DYNVARS_001_10----------------------#' +SET @@auto_increment_increment = 100; +SELECT @@auto_increment_increment = @@local.auto_increment_increment; +@@auto_increment_increment = @@local.auto_increment_increment +1 +SELECT @@local.auto_increment_increment = @@session.auto_increment_increment; +@@local.auto_increment_increment = @@session.auto_increment_increment +1 +'#---------------------FN_DYNVARS_001_11----------------------#' +SET auto_increment_increment = 1; +SELECT @@auto_increment_increment; +@@auto_increment_increment +1 +SELECT local.auto_increment_increment; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.auto_increment_increment; +ERROR 42S02: Unknown table 'session' in field list +SELECT auto_increment_increment = @@session.auto_increment_increment; +ERROR 42S22: Unknown column 'auto_increment_increment' in 'field list' +SET @@global.auto_increment_increment = @start_global_value; +SELECT @@global.auto_increment_increment; +@@global.auto_increment_increment +1 +SET @@session.auto_increment_increment = @start_session_value; +SELECT @@session.auto_increment_increment; +@@session.auto_increment_increment +1 diff --git a/mysql-test/r/auto_increment_increment_func.result b/mysql-test/r/auto_increment_increment_func.result new file mode 100644 index 00000000000..f0f1ada6d95 --- /dev/null +++ b/mysql-test/r/auto_increment_increment_func.result @@ -0,0 +1,201 @@ +SET @global_auto_increment_increment = @@global.auto_increment_increment; +SET @session_auto_increment_increment = @@session.auto_increment_increment; +SET @global_auto_increment_offset = @@global.auto_increment_offset; +SET @session_auto_increment_offset = @@session.auto_increment_offset; +drop table if exists t1; +CREATE TABLE t1 +( +id INT NOT NULL auto_increment, +PRIMARY KEY (id), +name VARCHAR(30) +); +'#--------------------FN_DYNVARS_001_01-------------------------#' +## Setting initial value of auto_increment_increment to 5 ## +SET @@auto_increment_increment = 5; +'#--------------------FN_DYNVARS_001_02-------------------------#' +## Inserting first record in table to check behavior of the variable ## +INSERT into t1(name) values('Record_1'); +SELECT * from t1; +id name +1 Record_1 +## Changing value of variable to 10 ## +SET @@global.auto_increment_increment = 10; +## Inserting record and verifying value of column id ## +INSERT into t1(name) values('Record_2'); +SELECT * from t1; +id name +1 Record_1 +6 Record_2 +## Test behavior of variable after assigning some larger value to it ## +SELECT @@auto_increment_increment; +@@auto_increment_increment +5 +SET @@auto_increment_increment = 100; +INSERT into t1(name) values('Record_5'); +SELECT * from t1; +id name +1 Record_1 +6 Record_2 +101 Record_5 +'#--------------------FN_DYNVARS_001_03-------------------------#' +## Creating new connection test_con1 ## +## Value of session & global vairable here should be 10 ## +SELECT @@global.auto_increment_increment = 10; +@@global.auto_increment_increment = 10 +1 +SELECT @@session.auto_increment_increment = 10; +@@session.auto_increment_increment = 10 +1 +## Setting global value of variable and inserting data in table ## +SET @@global.auto_increment_increment = 20; +SELECT @@global.auto_increment_increment; +@@global.auto_increment_increment +20 +INSERT into t1(name) values('Record_6'); +SELECT * from t1; +id name +1 Record_1 +6 Record_2 +101 Record_5 +111 Record_6 +## Setting session value of variable and inserting data in table ## +SET @@session.auto_increment_increment = 2; +SELECT @@session.auto_increment_increment; +@@session.auto_increment_increment +2 +INSERT into t1(name) values('Record_8'); +INSERT into t1(name) values('Record_9'); +SELECT * from t1; +id name +1 Record_1 +6 Record_2 +101 Record_5 +111 Record_6 +113 Record_8 +115 Record_9 +'#--------------------FN_DYNVARS_001_04-------------------------#' +## Creating another new connection test_con2 ## +## Verifying initial values of variable in global & session scope ## +## global & session initial value should be 20 ## +SELECT @@global.auto_increment_increment = 20; +@@global.auto_increment_increment = 20 +1 +SELECT @@session.auto_increment_increment = 20; +@@session.auto_increment_increment = 20 +1 +## Setting value of session variable to 5 and verifying its behavior ## +SET @@session.auto_increment_increment = 5; +INSERT into t1(name) values('Record_10'); +SELECT * from t1; +id name +1 Record_1 +6 Record_2 +101 Record_5 +111 Record_6 +113 Record_8 +115 Record_9 +116 Record_10 +'Bug#35362: Here Record_10 id should be 120 instead of 115 because we' +'have set the value of variable to 5' +SET @@session.auto_increment_increment = 1; +SELECT @@auto_increment_increment; +@@auto_increment_increment +1 +SELECT @@global.auto_increment_increment; +@@global.auto_increment_increment +20 +'#--------------------FN_DYNVARS_001_05-------------------------#' +## Switching to test_con1 ## +## Verifying values of global & session value of variable ## +## global value should be 20 ## +SELECT @@global.auto_increment_increment = 20; +@@global.auto_increment_increment = 20 +1 +## session value should be 2 ## +SELECT @@session.auto_increment_increment = 2; +@@session.auto_increment_increment = 2 +1 +INSERT into t1(name) values('Record_11'); +INSERT into t1(name) values('Record_12'); +SELECT * from t1; +id name +1 Record_1 +6 Record_2 +101 Record_5 +111 Record_6 +113 Record_8 +115 Record_9 +116 Record_10 +117 Record_11 +119 Record_12 +'#--------------------FN_DYNVARS_001_06-------------------------#' +## Changing column's datatype to SmallInt and verifying variable's behavior ## +ALTER table t1 MODIFY id SMALLINT NOT NULL auto_increment; +INSERT into t1(name) values('Record_13'); +INSERT into t1(name) values('Record_14'); +SELECT * from t1; +id name +1 Record_1 +6 Record_2 +101 Record_5 +111 Record_6 +113 Record_8 +115 Record_9 +116 Record_10 +117 Record_11 +119 Record_12 +121 Record_13 +123 Record_14 +## Changing column's datatype to BigInt and verifying variable's behavior ## +ALTER table t1 MODIFY id BIGINT NOT NULL auto_increment; +INSERT into t1(name) values('Record_15'); +INSERT into t1(name) values('Record_16'); +SELECT * from t1; +id name +1 Record_1 +6 Record_2 +101 Record_5 +111 Record_6 +113 Record_8 +115 Record_9 +116 Record_10 +117 Record_11 +119 Record_12 +121 Record_13 +123 Record_14 +125 Record_15 +127 Record_16 +'#--------------------FN_DYNVARS_001_07-------------------------#' +## Verifying behavior of variable with negative value ## +SET @@auto_increment_increment = -10; +Warnings: +Warning 1292 Truncated incorrect auto-increment-increment value: '0' +INSERT into t1(name) values('Record_17'); +INSERT into t1(name) values('Record_18'); +SELECT * from t1; +id name +1 Record_1 +6 Record_2 +101 Record_5 +111 Record_6 +113 Record_8 +115 Record_9 +116 Record_10 +117 Record_11 +119 Record_12 +121 Record_13 +123 Record_14 +125 Record_15 +127 Record_16 +128 Record_17 +129 Record_18 +'Bug#35364: Variable is incrementing some random values on assigning -ve value' +## Disconnecting test_con2 ## +## Dropping table t1 ## +DROP table if exists t1; +## Disconnecting test_con1 ## +## switching to default connection ## +SET @@global.auto_increment_increment = @global_auto_increment_increment; +SET @@session.auto_increment_increment = @session_auto_increment_increment; +SET @@global.auto_increment_offset = @global_auto_increment_offset; +SET @@session.auto_increment_offset = @session_auto_increment_offset; diff --git a/mysql-test/r/auto_increment_offset_basic.result b/mysql-test/r/auto_increment_offset_basic.result new file mode 100644 index 00000000000..b5ccca8ce56 --- /dev/null +++ b/mysql-test/r/auto_increment_offset_basic.result @@ -0,0 +1,178 @@ +SET @start_global_value = @@global.auto_increment_offset; +SELECT @start_global_value; +@start_global_value +1 +SET @start_session_value = @@session.auto_increment_offset; +SELECT @start_session_value; +@start_session_value +1 +'#--------------------FN_DYNVARS_002_01-------------------------#' +SET @@global.auto_increment_offset = 100; +SET @@global.auto_increment_offset = DEFAULT; +SELECT @@global.auto_increment_offset; +@@global.auto_increment_offset +1 +SET @@session.auto_increment_offset = 200; +SET @@session.auto_increment_offset = DEFAULT; +SELECT @@session.auto_increment_offset; +@@session.auto_increment_offset +1 +'#--------------------FN_DYNVARS_002_02-------------------------#' +SET @@global.auto_increment_offset = @start_global_value; +SELECT @@global.auto_increment_offset = 1; +@@global.auto_increment_offset = 1 +1 +SET @@session.auto_increment_offset = @start_session_value; +SELECT @@session.auto_increment_offset = 1; +@@session.auto_increment_offset = 1 +1 +'#--------------------FN_DYNVARS_002_03-------------------------#' +SET @@global.auto_increment_offset = 1; +SELECT @@global.auto_increment_offset; +@@global.auto_increment_offset +1 +SET @@global.auto_increment_offset = 60020; +SELECT @@global.auto_increment_offset; +@@global.auto_increment_offset +60020 +SET @@global.auto_increment_offset = 65535; +SELECT @@global.auto_increment_offset; +@@global.auto_increment_offset +65535 +'#--------------------FN_DYNVARS_002_04-------------------------#' +SET @@session.auto_increment_offset = 1; +SELECT @@session.auto_increment_offset; +@@session.auto_increment_offset +1 +SET @@session.auto_increment_offset = 50050; +SELECT @@session.auto_increment_offset; +@@session.auto_increment_offset +50050 +SET @@session.auto_increment_offset = 65535; +SELECT @@session.auto_increment_offset; +@@session.auto_increment_offset +65535 +'#------------------FN_DYNVARS_002_05-----------------------#' +SET @@global.auto_increment_offset = 0; +Warnings: +Warning 1292 Truncated incorrect auto-increment-offset value: '0' +SELECT @@global.auto_increment_offset; +@@global.auto_increment_offset +1 +SET @@global.auto_increment_offset = -1024; +Warnings: +Warning 1292 Truncated incorrect auto-increment-offset value: '0' +SELECT @@global.auto_increment_offset; +@@global.auto_increment_offset +1 +SET @@global.auto_increment_offset = 65536; +Warnings: +Warning 1292 Truncated incorrect auto_increment_offset value: '65536' +SELECT @@global.auto_increment_offset; +@@global.auto_increment_offset +65535 +SET @@global.auto_increment_offset = ON; +ERROR 42000: Incorrect argument type to variable 'auto_increment_offset' +SELECT @@global.auto_increment_offset; +@@global.auto_increment_offset +65535 +SET @@global.auto_increment_offset = OFF; +ERROR 42000: Incorrect argument type to variable 'auto_increment_offset' +SELECT @@global.auto_increment_offset; +@@global.auto_increment_offset +65535 +SET @@global.auto_increment_offset = test; +ERROR 42000: Incorrect argument type to variable 'auto_increment_offset' +SELECT @@global.auto_increment_offset; +@@global.auto_increment_offset +65535 +SET @@session.auto_increment_offset = 0; +Warnings: +Warning 1292 Truncated incorrect auto-increment-offset value: '0' +SELECT @@session.auto_increment_offset; +@@session.auto_increment_offset +1 +SET @@session.auto_increment_offset = -2; +Warnings: +Warning 1292 Truncated incorrect auto-increment-offset value: '0' +SELECT @@session.auto_increment_offset; +@@session.auto_increment_offset +1 +SET @@session.auto_increment_offset = 65550; +Warnings: +Warning 1292 Truncated incorrect auto_increment_offset value: '65550' +SELECT @@session.auto_increment_offset; +@@session.auto_increment_offset +65535 +'Bug # 34837: Errors are not coming on assigning invalid values to variable' +SET @@session.auto_increment_offset = ON; +ERROR 42000: Incorrect argument type to variable 'auto_increment_offset' +SELECT @@session.auto_increment_offset; +@@session.auto_increment_offset +65535 +SET @@session.auto_increment_offset = OFF; +ERROR 42000: Incorrect argument type to variable 'auto_increment_offset' +SELECT @@session.auto_increment_offset; +@@session.auto_increment_offset +65535 +SET @@session.auto_increment_offset = test; +ERROR 42000: Incorrect argument type to variable 'auto_increment_offset' +SELECT @@session.auto_increment_offset; +@@session.auto_increment_offset +65535 +'#------------------FN_DYNVARS_002_06-----------------------#' +SELECT @@global.auto_increment_offset = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='auto_increment_offset'; +@@global.auto_increment_offset = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_002_07-----------------------#' +SELECT @@session.auto_increment_offset = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='auto_increment_offset'; +@@session.auto_increment_offset = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_002_08-----------------------#' +SET @@global.auto_increment_offset = TRUE; +SELECT @@global.auto_increment_offset; +@@global.auto_increment_offset +1 +SET @@global.auto_increment_offset = FALSE; +Warnings: +Warning 1292 Truncated incorrect auto-increment-offset value: '0' +SELECT @@global.auto_increment_offset; +@@global.auto_increment_offset +1 +'#---------------------FN_DYNVARS_001_09----------------------#' +SET @@global.auto_increment_offset = 10; +SET @@session.auto_increment_offset = 11; +SELECT @@auto_increment_offset = @@global.auto_increment_offset; +@@auto_increment_offset = @@global.auto_increment_offset +0 +'#---------------------FN_DYNVARS_001_10----------------------#' +SET @@auto_increment_offset = 100; +SELECT @@auto_increment_offset = @@local.auto_increment_offset; +@@auto_increment_offset = @@local.auto_increment_offset +1 +SELECT @@local.auto_increment_offset = @@session.auto_increment_offset; +@@local.auto_increment_offset = @@session.auto_increment_offset +1 +'#---------------------FN_DYNVARS_001_11----------------------#' +SET auto_increment_offset = 1; +SELECT @@auto_increment_offset; +@@auto_increment_offset +1 +SELECT local.auto_increment_offset; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.auto_increment_offset; +ERROR 42S02: Unknown table 'session' in field list +SELECT auto_increment_offset = @@session.auto_increment_offset; +ERROR 42S22: Unknown column 'auto_increment_offset' in 'field list' +SET @@global.auto_increment_offset = @start_global_value; +SELECT @@global.auto_increment_offset; +@@global.auto_increment_offset +1 +SET @@session.auto_increment_offset = @start_session_value; +SELECT @@session.auto_increment_offset; +@@session.auto_increment_offset +1 diff --git a/mysql-test/r/auto_increment_offset_func.result b/mysql-test/r/auto_increment_offset_func.result new file mode 100644 index 00000000000..5c953544e73 --- /dev/null +++ b/mysql-test/r/auto_increment_offset_func.result @@ -0,0 +1,257 @@ +SET @global_auto_increment_increment = @@global.auto_increment_increment; +SET @session_auto_increment_increment = @@session.auto_increment_increment; +SET @global_auto_increment_offset = @@global.auto_increment_offset; +SET @session_auto_increment_offset = @@session.auto_increment_offset; +drop table if exists t1; +## Creating New Table ## +CREATE TABLE t1 +( +id INT NOT NULL auto_increment, +PRIMARY KEY (id), +name VARCHAR(30) +); +'#--------------------FN_DYNVARS_002_01-------------------------#' +## Setting initial value of variable to 5 ## +SET @@auto_increment_increment = 10; +SET @@auto_increment_offset = 5; +'#--------------------FN_DYNVARS_002_02-------------------------#' +## Inserting records in table and verifying variable's behavior ## +INSERT into t1(name) values('Record_1'); +SELECT * from t1; +id name +5 Record_1 +INSERT into t1(name) values('Record_2'); +SELECT * from t1; +id name +5 Record_1 +15 Record_2 +## Test behavior of variable after updating value of variable ## +SET @@auto_increment_offset = 24; +SELECT @@auto_increment_offset; +@@auto_increment_offset +24 +INSERT into t1(name) values('Record_3'); +SELECT * from t1; +id name +5 Record_1 +15 Record_2 +24 Record_3 +INSERT into t1(name) values('Record_4'); +SELECT * from t1; +id name +5 Record_1 +15 Record_2 +24 Record_3 +34 Record_4 +'#--------------------FN_DYNVARS_002_03-------------------------#' +## Changing value of global scope before opening new connection ## +SET @@global.auto_increment_increment = 15; +SET @@global.auto_increment_offset = 36; +## New connection test_con1 ## +## Value of session & global vairable here should be 10 ## +SELECT @@global.auto_increment_offset = 36; +@@global.auto_increment_offset = 36 +1 +SELECT @@session.auto_increment_offset = 36; +@@session.auto_increment_offset = 36 +1 +## Verify global value effect of variable by inserting new rows in table ## +INSERT into t1(name) values('Record_5'); +INSERT into t1(name) values('Record_6'); +SELECT * from t1; +id name +5 Record_1 +15 Record_2 +24 Record_3 +34 Record_4 +36 Record_5 +51 Record_6 +## Setting session value of variable and inserting data in table ## +SET @@session.auto_increment_offset = 54; +INSERT into t1(name) values('Record_7'); +INSERT into t1(name) values('Record_8'); +SELECT * from t1; +id name +5 Record_1 +15 Record_2 +24 Record_3 +34 Record_4 +36 Record_5 +51 Record_6 +54 Record_7 +69 Record_8 +'#--------------------FN_DYNVARS_002_04-------------------------#' +## Setting value of variable less than last insert id ## +SET @@session.auto_increment_offset = 5; +INSERT into t1(name) values('Record_9'); +'Bug#35367: Random value of id is increasing on assigning value to'; +'variable that is less than current offset'; +INSERT into t1(name) values('Record_10'); +INSERT into t1(name) values('Record_11'); +INSERT into t1(name) values('Record_12'); +SELECT * from t1; +id name +5 Record_1 +15 Record_2 +24 Record_3 +34 Record_4 +36 Record_5 +51 Record_6 +54 Record_7 +69 Record_8 +80 Record_9 +95 Record_10 +110 Record_11 +125 Record_12 +'#--------------------FN_DYNVARS_002_05-------------------------#' +## Assigning value to variable greater than auto_increment_incrent value ## +SET @@auto_increment_offset = 140; +SET @@auto_increment_increment = 10; +INSERT into t1(name) values('Record_13'); +INSERT into t1(name) values('Record_14'); +SELECT * from t1; +id name +5 Record_1 +15 Record_2 +24 Record_3 +34 Record_4 +36 Record_5 +51 Record_6 +54 Record_7 +69 Record_8 +80 Record_9 +95 Record_10 +110 Record_11 +125 Record_12 +134 Record_13 +140 Record_14 +'Bug#35369: Some invalid value of id is increasing on assigning value to'; +'variable that is greater than auto_increment_increment'; +'#--------------------FN_DYNVARS_002_06-------------------------#' +## Changing datatype of column id with primary key to SmallInt ## +ALTER table t1 modify id SMALLINT NOT NULL auto_increment; +INSERT into t1(name) values('Record_15'); +INSERT into t1(name) values('Record_16'); +SELECT * from t1; +id name +5 Record_1 +15 Record_2 +24 Record_3 +34 Record_4 +36 Record_5 +51 Record_6 +54 Record_7 +69 Record_8 +80 Record_9 +95 Record_10 +110 Record_11 +125 Record_12 +134 Record_13 +140 Record_14 +150 Record_15 +160 Record_16 +## Changing datatype of column id with primary key to BigInt ## +ALTER table t1 modify id BIGINT NOT NULL auto_increment; +INSERT into t1(name) values('Record_17'); +INSERT into t1(name) values('Record_18'); +SELECT * from t1; +id name +5 Record_1 +15 Record_2 +24 Record_3 +34 Record_4 +36 Record_5 +51 Record_6 +54 Record_7 +69 Record_8 +80 Record_9 +95 Record_10 +110 Record_11 +125 Record_12 +134 Record_13 +140 Record_14 +150 Record_15 +160 Record_16 +170 Record_17 +180 Record_18 +'#--------------------FN_DYNVARS_002_07-------------------------#' +## Assigning -ve value to variable ## +SET @@auto_increment_offset = -10; +Warnings: +Warning 1292 Truncated incorrect auto-increment-offset value: '0' +SELECT @@auto_increment_offset = -10; +@@auto_increment_offset = -10 +0 +INSERT into t1(name) values('Record_17'); +INSERT into t1(name) values('Record_18'); +SELECT * from t1; +id name +5 Record_1 +15 Record_2 +24 Record_3 +34 Record_4 +36 Record_5 +51 Record_6 +54 Record_7 +69 Record_8 +80 Record_9 +95 Record_10 +110 Record_11 +125 Record_12 +134 Record_13 +140 Record_14 +150 Record_15 +160 Record_16 +170 Record_17 +180 Record_18 +181 Record_17 +191 Record_18 +'Bug#35370: Some invalid value of id is increasing on assigning negative'; +' value in variable'; +## Assigning value that is out of range of variable ## +SET @@auto_increment_offset = 65536; +Warnings: +Warning 1292 Truncated incorrect auto_increment_offset value: '65536' +SELECT @@auto_increment_offset; +@@auto_increment_offset +65535 +INSERT into t1(name) values('Record_17'); +INSERT into t1(name) values('Record_18'); +INSERT into t1(name) values('Record_19'); +INSERT into t1(name) values('Record_20'); +SELECT * from t1; +id name +5 Record_1 +15 Record_2 +24 Record_3 +34 Record_4 +36 Record_5 +51 Record_6 +54 Record_7 +69 Record_8 +80 Record_9 +95 Record_10 +110 Record_11 +125 Record_12 +134 Record_13 +140 Record_14 +150 Record_15 +160 Record_16 +170 Record_17 +180 Record_18 +181 Record_17 +191 Record_18 +199 Record_17 +209 Record_18 +219 Record_19 +229 Record_20 +## No effect of auto_increment_offset since value of this variable is greater ## +## than auto_increment_increment ## +## Dropping table ## +DROP table if exists t1; +## Disconnecting connection ## +## switching to default connection ## +SET @@global.auto_increment_increment = @global_auto_increment_increment; +SET @@session.auto_increment_increment = @session_auto_increment_increment; +SET @@global.auto_increment_offset = @global_auto_increment_offset; +SET @@session.auto_increment_offset = @session_auto_increment_offset; diff --git a/mysql-test/r/autocommit_func.result b/mysql-test/r/autocommit_func.result new file mode 100644 index 00000000000..47c2c921022 --- /dev/null +++ b/mysql-test/r/autocommit_func.result @@ -0,0 +1,109 @@ +drop table if exists t1; +## Creating new table ## +CREATE TABLE t1 +( +id INT NOT NULL auto_increment, +PRIMARY KEY (id), +name varchar(30) +) ENGINE = INNODB; +'#--------------------FN_DYNVARS_003_01-------------------------#' +## Setting variable's value to 0 i.e false ## +SET @@autocommit = 0; +'#--------------------FN_DYNVARS_003_02-------------------------#' +## Creating new connection ## +## Checking value of variable after opening new connection ## +SELECT @@autocommit; +@@autocommit +1 +## Setting value of variable to zero and inserting some rows ## +SET @@autocommit = 0; +INSERT into t1(name) values('Record_1'); +INSERT into t1(name) values('Record_2'); +SELECT * from t1; +id name +1 Record_1 +2 Record_2 +## Creating another connection and verifying records in table ## +## New Connection test_con2 ## +SELECT * from t1; +id name +'#--------------------FN_DYNVARS_003_03-------------------------#' +## Verifying behavior of variable by commiting rows in test_con1 ## +## Connecting with connection # 01 ## +SELECT * from t1; +id name +1 Record_1 +2 Record_2 +COMMIT; +## New Connection test_con2 ## +## Now verifying records in table from connection # 02 ## +SELECT * from t1; +id name +1 Record_1 +2 Record_2 +'#--------------------FN_DYNVARS_003_04-------------------------#' +## Connecting to connection # 01 ## +SELECT * from t1; +id name +1 Record_1 +2 Record_2 +## Updating value of first row ## +UPDATE t1 set name = 'Record_12' where name = 'Record_1'; +SELECT * from t1; +id name +1 Record_12 +2 Record_2 +## Connecting to connecting # 02 and verifying effect of update query ## +SELECT * from t1; +id name +1 Record_1 +2 Record_2 +## Now connecting with connection # 01 and using ROLLBACK after it ## +ROLLBACK; +SELECT * from t1; +id name +1 Record_1 +2 Record_2 +'#--------------------FN_DYNVARS_003_05-------------------------#' +## Connecting with connection # 01 ## +INSERT into t1(name) values('Record_3'); +## Connection test_con2 ## +## Now verifying records in table from connection # 02 and changing value ## +## of autocommit to true ## +SELECT * from t1; +id name +1 Record_1 +2 Record_2 +SET @@autocommit = 1; +INSERT into t1(name) values('Record_4'); +INSERT into t1(name) values('Record_5'); +SELECT * from t1; +id name +1 Record_1 +2 Record_2 +4 Record_4 +5 Record_5 +## Connecting with connection # 01 and inserting few records ## +SELECT * from t1; +id name +1 Record_1 +2 Record_2 +3 Record_3 +'Bug#35373: Records donot get committed in transaction on switching connections' +INSERT into t1(name) values('Record_6'); +SELECT * from t1; +id name +1 Record_1 +2 Record_2 +3 Record_3 +6 Record_6 +## Now verifying the effect of these new records in second connection ## +SELECT * from t1; +id name +1 Record_1 +2 Record_2 +4 Record_4 +5 Record_5 +## Dropping table t1 ## +DROP table t1; +## Disconnecting both connections ## diff --git a/mysql-test/r/automatic_sp_privileges_basic.result b/mysql-test/r/automatic_sp_privileges_basic.result new file mode 100644 index 00000000000..b9cf9b5ee80 --- /dev/null +++ b/mysql-test/r/automatic_sp_privileges_basic.result @@ -0,0 +1,101 @@ +SET @start_value = @@global.automatic_sp_privileges; +SELECT @start_value; +@start_value +1 +'#--------------------FN_DYNVARS_004_01------------------------#' +SET @@global.automatic_sp_privileges = 0; +SET @@global.automatic_sp_privileges = DEFAULT; +SELECT @@global.automatic_sp_privileges; +@@global.automatic_sp_privileges +1 +'#---------------------FN_DYNVARS_004_02-------------------------#' +SET @@global.automatic_sp_privileges = @start_value; +SELECT @@global.automatic_sp_privileges = TRUE; +@@global.automatic_sp_privileges = TRUE +1 +'#--------------------FN_DYNVARS_004_03------------------------#' +SET @@global.automatic_sp_privileges = 0; +SELECT @@global.automatic_sp_privileges; +@@global.automatic_sp_privileges +0 +SET @@global.automatic_sp_privileges = 1; +SELECT @@global.automatic_sp_privileges; +@@global.automatic_sp_privileges +1 +'#--------------------FN_DYNVARS_004_04-------------------------#' +SET @@global.automatic_sp_privileges = 2; +ERROR 42000: Variable 'automatic_sp_privileges' can't be set to the value of '2' +SET @@global.automatic_sp_privileges = -1; +ERROR 42000: Variable 'automatic_sp_privileges' can't be set to the value of '-1' +SET @@global.automatic_sp_privileges = TRUEF; +ERROR 42000: Variable 'automatic_sp_privileges' can't be set to the value of 'TRUEF' +SET @@global.automatic_sp_privileges = TRUE_F; +ERROR 42000: Variable 'automatic_sp_privileges' can't be set to the value of 'TRUE_F' +SET @@global.automatic_sp_privileges = FALSE0; +ERROR 42000: Variable 'automatic_sp_privileges' can't be set to the value of 'FALSE0' +SET @@global.automatic_sp_privileges = OON; +ERROR 42000: Variable 'automatic_sp_privileges' can't be set to the value of 'OON' +SET @@global.automatic_sp_privileges = ONN; +ERROR 42000: Variable 'automatic_sp_privileges' can't be set to the value of 'ONN' +SET @@global.automatic_sp_privileges = OOFF; +ERROR 42000: Variable 'automatic_sp_privileges' can't be set to the value of 'OOFF' +SET @@global.automatic_sp_privileges = 0FF; +ERROR 42000: Variable 'automatic_sp_privileges' can't be set to the value of '0FF' +SET @@global.automatic_sp_privileges = ' '; +ERROR 42000: Variable 'automatic_sp_privileges' can't be set to the value of ' ' +SET @@global.automatic_sp_privileges = " "; +ERROR 42000: Variable 'automatic_sp_privileges' can't be set to the value of ' ' +SET @@global.automatic_sp_privileges = ''; +ERROR 42000: Variable 'automatic_sp_privileges' can't be set to the value of '' +'#-------------------FN_DYNVARS_004_05----------------------------#' +SET @@session.automatic_sp_privileges = 1; +ERROR HY000: Variable 'automatic_sp_privileges' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@session.automatic_sp_privileges; +ERROR HY000: Variable 'automatic_sp_privileges' is a GLOBAL variable +'#----------------------FN_DYNVARS_004_06------------------------#' +SELECT @@global.automatic_sp_privileges = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='automatic_sp_privileges'; +@@global.automatic_sp_privileges = VARIABLE_VALUE +0 +'Bug# 34839: Values in variable and information_schema donot match' +'#---------------------FN_DYNVARS_004_07----------------------#' +SET @@global.automatic_sp_privileges = OFF; +SELECT @@global.automatic_sp_privileges; +@@global.automatic_sp_privileges +0 +SET @@global.automatic_sp_privileges = ON; +SELECT @@global.automatic_sp_privileges; +@@global.automatic_sp_privileges +1 +'#---------------------FN_DYNVARS_004_08----------------------#' +SET @@global.automatic_sp_privileges = TRUE; +SELECT @@global.automatic_sp_privileges; +@@global.automatic_sp_privileges +1 +SET @@global.automatic_sp_privileges = FALSE; +SELECT @@global.automatic_sp_privileges; +@@global.automatic_sp_privileges +0 +'#---------------------FN_DYNVARS_004_09----------------------#' +SET @@global.automatic_sp_privileges = 1; +SELECT @@automatic_sp_privileges = @@global.automatic_sp_privileges; +@@automatic_sp_privileges = @@global.automatic_sp_privileges +1 +'#---------------------FN_DYNVARS_004_10----------------------#' +SET automatic_sp_privileges = 1; +ERROR HY000: Variable 'automatic_sp_privileges' is a GLOBAL variable and should be set with SET GLOBAL +SET local.automatic_sp_privileges = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'automatic_sp_privileges = 1' at line 1 +SELECT local.automatic_sp_privileges; +ERROR 42S02: Unknown table 'local' in field list +SET global.automatic_sp_privileges = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'automatic_sp_privileges = 1' at line 1 +SELECT global.automatic_sp_privileges; +ERROR 42S02: Unknown table 'global' in field list +SELECT automatic_sp_privileges = @@session.automatic_sp_privileges; +ERROR 42S22: Unknown column 'automatic_sp_privileges' in 'field list' +SET @@global.automatic_sp_privileges = @start_value; +SELECT @@global.automatic_sp_privileges; +@@global.automatic_sp_privileges +1 diff --git a/mysql-test/r/automatic_sp_privileges_func.result b/mysql-test/r/automatic_sp_privileges_func.result new file mode 100644 index 00000000000..dac956fb091 --- /dev/null +++ b/mysql-test/r/automatic_sp_privileges_func.result @@ -0,0 +1,59 @@ +** Setup ** +SET @global_automatic_sp_privileges = @@GLOBAL.automatic_sp_privileges; +CREATE TABLE t1 (a varchar(200)); +INSERT INTO t1 VALUES('Procedure Executed.'); +CREATE USER 'userTest'@'localhost'; +CREATE USER 'userTest1'@'localhost'; +** Connection default ** +SET GLOBAL automatic_sp_privileges = TRUE; +** Connecting using userTest ** +** Connection conUser ** +CREATE PROCEDURE testProc () +BEGIN +SELECT * FROM t1; +END;| +CALL testProc(); +a +Procedure Executed. +Expecting SELECT executed +** Connection default** +SET GLOBAL automatic_sp_privileges = FALSE; +** Connecting using userTest1 ** +** Connection conUser1 ** +CREATE PROCEDURE testProc1 () +BEGIN +SELECT * FROM t1; +END;| + +Expected error access denied +CALL testProc1(); +ERROR 42000: execute command denied to user 'userTest1'@'localhost' for routine 'test.testProc1' + +Expected error access denied +ALTER PROCEDURE testProc1 COMMENT 'My Comment'; +ERROR 42000: alter routine command denied to user 'userTest1'@'localhost' for routine 'test.testProc1' + +Expected error access denied +DROP PROCEDURE testProc1; +ERROR 42000: alter routine command denied to user 'userTest1'@'localhost' for routine 'test.testProc1' +** Connection default ** +GRANT EXECUTE, ALTER ROUTINE ON PROCEDURE testProc1 TO 'userTest1'@'localhost'; +** Connection conUser1 ** +CALL testProc1(); +a +Procedure Executed. +Expecting seelect executed +ALTER PROCEDURE testProc1 COMMENT 'My Comment'; + +** Cleanup ** +** Connection default ** +disconnecting connections +SET GLOBAL automatic_sp_privileges = @global_automatic_sp_privileges; +REVOKE EXECUTE, ALTER ROUTINE ON PROCEDURE testProc FROM 'userTest'@'localhost'; +REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'userTest'@'localhost'; +REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'userTest1'@'localhost'; +DROP PROCEDURE testProc; +DROP PROCEDURE testProc1; +DROP USER 'userTest'@'localhost'; +DROP USER 'userTest1'@'localhost'; +DROP TABLE t1; diff --git a/mysql-test/r/basedir_basic.result b/mysql-test/r/basedir_basic.result new file mode 100644 index 00000000000..9b18f08305c --- /dev/null +++ b/mysql-test/r/basedir_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_001_01----------------------#' +SELECT COUNT(@@GLOBAL.basedir); +COUNT(@@GLOBAL.basedir) +1 +1 Expected +'#---------------------BS_STVARS_001_02----------------------#' +SET @@GLOBAL.basedir=1; +ERROR HY000: Variable 'basedir' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.basedir); +COUNT(@@GLOBAL.basedir) +1 +1 Expected +'#---------------------BS_STVARS_001_03----------------------#' +SELECT @@GLOBAL.basedir = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='basedir'; +@@GLOBAL.basedir = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.basedir); +COUNT(@@GLOBAL.basedir) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='basedir'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_001_04----------------------#' +SELECT @@basedir = @@GLOBAL.basedir; +@@basedir = @@GLOBAL.basedir +1 +1 Expected +'#---------------------BS_STVARS_001_05----------------------#' +SELECT COUNT(@@basedir); +COUNT(@@basedir) +1 +1 Expected +SELECT COUNT(@@local.basedir); +ERROR HY000: Variable 'basedir' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.basedir); +ERROR HY000: Variable 'basedir' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.basedir); +COUNT(@@GLOBAL.basedir) +1 +1 Expected +SELECT basedir = @@SESSION.basedir; +ERROR 42S22: Unknown column 'basedir' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/big_tables_basic.result b/mysql-test/r/big_tables_basic.result new file mode 100644 index 00000000000..937576a76d3 --- /dev/null +++ b/mysql-test/r/big_tables_basic.result @@ -0,0 +1,103 @@ +SET @start_value = @@big_tables; +SELECT @start_value; +@start_value +0 +'#--------------------FN_DYNVARS_005_01------------------------#' +SET @@big_tables = 1; +SET @@big_tables = DEFAULT; +SELECT @@big_tables; +@@big_tables +1 +'Bug# 34829: No default value for variable and setting default does not raise error'; +'#--------------------FN_DYNVARS_005_02------------------------#' +SET @@big_tables = 0; +SELECT @@big_tables; +@@big_tables +0 +SET @@big_tables = 1; +SELECT @@big_tables; +@@big_tables +1 +'#--------------------FN_DYNVARS_005_03-------------------------#' +SET @@big_tables = 2; +ERROR 42000: Variable 'big_tables' can't be set to the value of '2' +SET @@big_tables = -1; +ERROR 42000: Variable 'big_tables' can't be set to the value of '-1' +SET @@big_tables = TRUEF; +ERROR 42000: Variable 'big_tables' can't be set to the value of 'TRUEF' +SET @@big_tables = TRUE_F; +ERROR 42000: Variable 'big_tables' can't be set to the value of 'TRUE_F' +SET @@big_tables = FALSE0; +ERROR 42000: Variable 'big_tables' can't be set to the value of 'FALSE0' +SET @@big_tables = OON; +ERROR 42000: Variable 'big_tables' can't be set to the value of 'OON' +SET @@big_tables = ONN; +ERROR 42000: Variable 'big_tables' can't be set to the value of 'ONN' +SET @@big_tables = OOFF; +ERROR 42000: Variable 'big_tables' can't be set to the value of 'OOFF' +SET @@big_tables = 0FF; +ERROR 42000: Variable 'big_tables' can't be set to the value of '0FF' +SET @@big_tables = ' '; +ERROR 42000: Variable 'big_tables' can't be set to the value of ' ' +SET @@big_tables = " "; +ERROR 42000: Variable 'big_tables' can't be set to the value of ' ' +SET @@big_tables = ''; +ERROR 42000: Variable 'big_tables' can't be set to the value of '' +'#-------------------FN_DYNVARS_005_04----------------------------#' +SET @@global.big_tables = 0; +ERROR HY000: Variable 'big_tables' is a SESSION variable and can't be used with SET GLOBAL +SELECT @@global.big_tables; +ERROR HY000: Variable 'big_tables' is a SESSION variable +'#----------------------FN_DYNVARS_005_05------------------------#' +SELECT @@big_tables = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='big_tables'; +@@big_tables = VARIABLE_VALUE +0 +Bug # 34839: Values in variable and information_schema do not match for autocommit +'#---------------------FN_DYNVARS_005_06----------------------#' +SET @@big_tables = OFF; +SELECT @@big_tables; +@@big_tables +0 +SET @@big_tables = ON; +SELECT @@big_tables; +@@big_tables +1 +'#---------------------FN_DYNVARS_005_07----------------------#' +SET @@big_tables = TRUE; +SELECT @@big_tables; +@@big_tables +1 +SET @@big_tables = FALSE; +SELECT @@big_tables; +@@big_tables +0 +'#---------------------FN_DYNVARS_005_08----------------------#' +SET @@big_tables = 0; +SELECT @@big_tables = @@session.big_tables; +@@big_tables = @@session.big_tables +1 +SET @@big_tables = 1; +SELECT @@big_tables = @@local.big_tables and @@local.big_tables = @@session.big_tables; +@@big_tables = @@local.big_tables and @@local.big_tables = @@session.big_tables +1 +'#---------------------FN_DYNVARS_005_09----------------------#' +SET big_tables = 1; +SELECT @@big_tables; +@@big_tables +1 +SET local.big_tables = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'big_tables = 1' at line 1 +SELECT local.big_tables; +ERROR 42S02: Unknown table 'local' in field list +SET session.big_tables = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'big_tables = 1' at line 1 +SELECT session.big_tables; +ERROR 42S02: Unknown table 'session' in field list +select big_tables; +ERROR 42S22: Unknown column 'big_tables' in 'field list' +SET @@big_tables = @start_value; +SELECT @@big_tables; +@@big_tables +0 diff --git a/mysql-test/r/binlog_cache_size_basic_32.result b/mysql-test/r/binlog_cache_size_basic_32.result new file mode 100644 index 00000000000..6267c5493da --- /dev/null +++ b/mysql-test/r/binlog_cache_size_basic_32.result @@ -0,0 +1,102 @@ +SET @start_value = @@global.binlog_cache_size; +SELECT @start_value; +@start_value +32768 +'#--------------------FN_DYNVARS_006_01------------------------#' +SET @@global.binlog_cache_size = 100; +Warnings: +Warning 1292 Truncated incorrect binlog_cache_size value: '100' +SET @@global.binlog_cache_size = DEFAULT; +SELECT @@global.binlog_cache_size; +@@global.binlog_cache_size +32768 +'#---------------------FN_DYNVARS_006_02-------------------------#' +SET @@global.binlog_cache_size = @start_value; +SELECT @@global.binlog_cache_size = 32768; +@@global.binlog_cache_size = 32768 +1 +'#--------------------FN_DYNVARS_006_03------------------------#' +SET @@global.binlog_cache_size = 4096; +SELECT @@global.binlog_cache_size; +@@global.binlog_cache_size +4096 +SET @@global.binlog_cache_size = 4294967295; +SELECT @@global.binlog_cache_size; +@@global.binlog_cache_size +4294963200 +SET @@global.binlog_cache_size = 10000; +SELECT @@global.binlog_cache_size; +@@global.binlog_cache_size +8192 +SET @@global.binlog_cache_size = 21221204; +SELECT @@global.binlog_cache_size; +@@global.binlog_cache_size +21217280 +'Bug: Invalid values are coming in variable on assigning valid values' +'#--------------------FN_DYNVARS_006_04-------------------------#' +SET @@global.binlog_cache_size = 1024; +Warnings: +Warning 1292 Truncated incorrect binlog_cache_size value: '1024' +SELECT @@global.binlog_cache_size; +@@global.binlog_cache_size +4096 +SET @@global.binlog_cache_size = 10000.01; +ERROR 42000: Incorrect argument type to variable 'binlog_cache_size' +SET @@global.binlog_cache_size = -1024; +Warnings: +Warning 1292 Truncated incorrect binlog_cache_size value: '0' +SELECT @@global.binlog_cache_size; +@@global.binlog_cache_size +4096 +SET @@global.binlog_cache_size = 42949672950; +Warnings: +Warning 1292 Truncated incorrect binlog_cache_size value: '42949672950' +SELECT @@global.binlog_cache_size; +@@global.binlog_cache_size +4294963200 +'Bug: Errors are not coming on assigning invalid values to variable' +SET @@global.binlog_cache_size = ON; +ERROR 42000: Incorrect argument type to variable 'binlog_cache_size' +SET @@global.binlog_cache_size = 'test'; +ERROR 42000: Incorrect argument type to variable 'binlog_cache_size' +'#-------------------FN_DYNVARS_006_05----------------------------#' +SET @@session.binlog_cache_size = 0; +ERROR HY000: Variable 'binlog_cache_size' is a GLOBAL variable and should be set with SET GLOBAL +'#----------------------FN_DYNVARS_006_06------------------------#' +SELECT @@global.binlog_cache_size = VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='binlog_cache_size'; +@@global.binlog_cache_size = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_006_07----------------------#' +SET @@global.binlog_cache_size = TRUE; +Warnings: +Warning 1292 Truncated incorrect binlog_cache_size value: '1' +SELECT @@global.binlog_cache_size; +@@global.binlog_cache_size +4096 +SET @@global.binlog_cache_size = FALSE; +Warnings: +Warning 1292 Truncated incorrect binlog_cache_size value: '0' +SELECT @@global.binlog_cache_size; +@@global.binlog_cache_size +4096 +'Bug: Errors are not coming on assigning TRUE/FALSE to variable' +'#---------------------FN_DYNVARS_006_08----------------------#' +SET @@global.binlog_cache_size = 1; +Warnings: +Warning 1292 Truncated incorrect binlog_cache_size value: '1' +SELECT @@binlog_cache_size = @@global.binlog_cache_size; +@@binlog_cache_size = @@global.binlog_cache_size +1 +'#---------------------FN_DYNVARS_006_09----------------------#' +SET binlog_cache_size = 1; +ERROR HY000: Variable 'binlog_cache_size' is a GLOBAL variable and should be set with SET GLOBAL +SET global.binlog_cache_size = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'binlog_cache_size = 1' at line 1 +SELECT global.binlog_cache_size; +ERROR 42S02: Unknown table 'global' in field list +SELECT binlog_cache_size = @@session.binlog_cache_size; +ERROR 42S22: Unknown column 'binlog_cache_size' in 'field list' +SET @@global.binlog_cache_size = @start_value; +SELECT @@global.binlog_cache_size; +@@global.binlog_cache_size +32768 diff --git a/mysql-test/r/binlog_cache_size_basic_64.result b/mysql-test/r/binlog_cache_size_basic_64.result new file mode 100644 index 00000000000..45ed43589a3 --- /dev/null +++ b/mysql-test/r/binlog_cache_size_basic_64.result @@ -0,0 +1,100 @@ +SET @start_value = @@global.binlog_cache_size; +SELECT @start_value; +@start_value +32768 +'#--------------------FN_DYNVARS_006_01------------------------#' +SET @@global.binlog_cache_size = 100; +Warnings: +Warning 1292 Truncated incorrect binlog_cache_size value: '100' +SET @@global.binlog_cache_size = DEFAULT; +SELECT @@global.binlog_cache_size; +@@global.binlog_cache_size +32768 +'#---------------------FN_DYNVARS_006_02-------------------------#' +SET @@global.binlog_cache_size = @start_value; +SELECT @@global.binlog_cache_size = 32768; +@@global.binlog_cache_size = 32768 +1 +'#--------------------FN_DYNVARS_006_03------------------------#' +SET @@global.binlog_cache_size = 4096; +SELECT @@global.binlog_cache_size; +@@global.binlog_cache_size +4096 +SET @@global.binlog_cache_size = 4294967295; +SELECT @@global.binlog_cache_size; +@@global.binlog_cache_size +4294963200 +SET @@global.binlog_cache_size = 10000; +SELECT @@global.binlog_cache_size; +@@global.binlog_cache_size +8192 +SET @@global.binlog_cache_size = 21221204; +SELECT @@global.binlog_cache_size; +@@global.binlog_cache_size +21217280 +'Bug: Invalid values are coming in variable on assigning valid values' +'#--------------------FN_DYNVARS_006_04-------------------------#' +SET @@global.binlog_cache_size = 1024; +Warnings: +Warning 1292 Truncated incorrect binlog_cache_size value: '1024' +SELECT @@global.binlog_cache_size; +@@global.binlog_cache_size +4096 +SET @@global.binlog_cache_size = 10000.01; +ERROR 42000: Incorrect argument type to variable 'binlog_cache_size' +SET @@global.binlog_cache_size = -1024; +Warnings: +Warning 1292 Truncated incorrect binlog_cache_size value: '0' +SELECT @@global.binlog_cache_size; +@@global.binlog_cache_size +4096 +SET @@global.binlog_cache_size = 42949672950; +SELECT @@global.binlog_cache_size; +@@global.binlog_cache_size +42949668864 +'Bug: Errors are not coming on assigning invalid values to variable' +SET @@global.binlog_cache_size = ON; +ERROR 42000: Incorrect argument type to variable 'binlog_cache_size' +SET @@global.binlog_cache_size = 'test'; +ERROR 42000: Incorrect argument type to variable 'binlog_cache_size' +'#-------------------FN_DYNVARS_006_05----------------------------#' +SET @@session.binlog_cache_size = 0; +ERROR HY000: Variable 'binlog_cache_size' is a GLOBAL variable and should be set with SET GLOBAL +'#----------------------FN_DYNVARS_006_06------------------------#' +SELECT @@global.binlog_cache_size = VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='binlog_cache_size'; +@@global.binlog_cache_size = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_006_07----------------------#' +SET @@global.binlog_cache_size = TRUE; +Warnings: +Warning 1292 Truncated incorrect binlog_cache_size value: '1' +SELECT @@global.binlog_cache_size; +@@global.binlog_cache_size +4096 +SET @@global.binlog_cache_size = FALSE; +Warnings: +Warning 1292 Truncated incorrect binlog_cache_size value: '0' +SELECT @@global.binlog_cache_size; +@@global.binlog_cache_size +4096 +'Bug: Errors are not coming on assigning TRUE/FALSE to variable' +'#---------------------FN_DYNVARS_006_08----------------------#' +SET @@global.binlog_cache_size = 1; +Warnings: +Warning 1292 Truncated incorrect binlog_cache_size value: '1' +SELECT @@binlog_cache_size = @@global.binlog_cache_size; +@@binlog_cache_size = @@global.binlog_cache_size +1 +'#---------------------FN_DYNVARS_006_09----------------------#' +SET binlog_cache_size = 1; +ERROR HY000: Variable 'binlog_cache_size' is a GLOBAL variable and should be set with SET GLOBAL +SET global.binlog_cache_size = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'binlog_cache_size = 1' at line 1 +SELECT global.binlog_cache_size; +ERROR 42S02: Unknown table 'global' in field list +SELECT binlog_cache_size = @@session.binlog_cache_size; +ERROR 42S22: Unknown column 'binlog_cache_size' in 'field list' +SET @@global.binlog_cache_size = @start_value; +SELECT @@global.binlog_cache_size; +@@global.binlog_cache_size +32768 diff --git a/mysql-test/r/binlog_format_basic.result b/mysql-test/r/binlog_format_basic.result new file mode 100644 index 00000000000..3fee9bade7e --- /dev/null +++ b/mysql-test/r/binlog_format_basic.result @@ -0,0 +1,75 @@ +'#---------------------BS_STVARS_002_01----------------------#' +SELECT COUNT(@@GLOBAL.binlog_format); +COUNT(@@GLOBAL.binlog_format) +1 +1 Expected +SELECT COUNT(@@SESSION.binlog_format); +COUNT(@@SESSION.binlog_format) +1 +1 Expected +'#---------------------BS_STVARS_002_02----------------------#' +SET @@GLOBAL.binlog_format=1; +Expected error 'Read only variable' +Bug: Writeable static variable +SELECT COUNT(@@GLOBAL.binlog_format); +COUNT(@@GLOBAL.binlog_format) +1 +1 Expected +SET @@SESSION.binlog_format=1; +Expected error 'Read only variable' +Bug: Writeable static variable +SELECT COUNT(@@SESSION.binlog_format); +COUNT(@@SESSION.binlog_format) +1 +1 Expected +'#---------------------BS_STVARS_002_03----------------------#' +SELECT @@GLOBAL.binlog_format = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='binlog_format'; +@@GLOBAL.binlog_format = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.binlog_format); +COUNT(@@GLOBAL.binlog_format) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='binlog_format'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_002_04----------------------#' +SELECT @@SESSION.binlog_format = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='binlog_format'; +@@SESSION.binlog_format = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@SESSION.binlog_format); +COUNT(@@SESSION.binlog_format) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='binlog_format'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_002_05----------------------#' +SELECT COUNT(@@binlog_format); +COUNT(@@binlog_format) +1 +1 Expected +SELECT COUNT(@@local.binlog_format); +COUNT(@@local.binlog_format) +1 +1 Expected +SELECT COUNT(@@SESSION.binlog_format); +COUNT(@@SESSION.binlog_format) +1 +1 Expected +SELECT COUNT(@@GLOBAL.binlog_format); +COUNT(@@GLOBAL.binlog_format) +1 +1 Expected diff --git a/mysql-test/r/bulk_insert_buffer_size_basic_32.result b/mysql-test/r/bulk_insert_buffer_size_basic_32.result new file mode 100644 index 00000000000..1194a0e7ce7 --- /dev/null +++ b/mysql-test/r/bulk_insert_buffer_size_basic_32.result @@ -0,0 +1,154 @@ +SET @start_global_value = @@global.bulk_insert_buffer_size; +SELECT @start_global_value; +@start_global_value +8388608 +SET @start_session_value = @@session.bulk_insert_buffer_size; +SELECT @start_session_value; +@start_session_value +8388608 +'#--------------------FN_DYNVARS_007_01-------------------------#' +SET @@global.bulk_insert_buffer_size = 100; +SET @@global.bulk_insert_buffer_size = DEFAULT; +SELECT @@global.bulk_insert_buffer_size; +@@global.bulk_insert_buffer_size +8388608 +SET @@session.bulk_insert_buffer_size = 200; +SET @@session.bulk_insert_buffer_size = DEFAULT; +SELECT @@session.bulk_insert_buffer_size; +@@session.bulk_insert_buffer_size +8388608 +'#--------------------FN_DYNVARS_007_02-------------------------#' +SET @@global.bulk_insert_buffer_size = @start_global_value; +SELECT @@global.bulk_insert_buffer_size = 8388608; +@@global.bulk_insert_buffer_size = 8388608 +1 +SET @@session.bulk_insert_buffer_size = @start_session_value; +SELECT @@session.bulk_insert_buffer_size = 8388608; +@@session.bulk_insert_buffer_size = 8388608 +1 +'#--------------------FN_DYNVARS_007_03-------------------------#' +SET @@global.bulk_insert_buffer_size = 0; +SELECT @@global.bulk_insert_buffer_size; +@@global.bulk_insert_buffer_size +0 +SET @@global.bulk_insert_buffer_size = 1; +SELECT @@global.bulk_insert_buffer_size; +@@global.bulk_insert_buffer_size +1 +SET @@global.bulk_insert_buffer_size = 4294967295; +SELECT @@global.bulk_insert_buffer_size; +@@global.bulk_insert_buffer_size +4294967295 +SET @@global.bulk_insert_buffer_size = 429496; +SELECT @@global.bulk_insert_buffer_size; +@@global.bulk_insert_buffer_size +429496 +'#--------------------FN_DYNVARS_007_04-------------------------#' +SET @@session.bulk_insert_buffer_size = 0; +SELECT @@session.bulk_insert_buffer_size; +@@session.bulk_insert_buffer_size +0 +SET @@session.bulk_insert_buffer_size = 1; +SELECT @@session.bulk_insert_buffer_size; +@@session.bulk_insert_buffer_size +1 +SET @@session.bulk_insert_buffer_size = 4294967295; +SELECT @@session.bulk_insert_buffer_size; +@@session.bulk_insert_buffer_size +4294967295 +SET @@session.bulk_insert_buffer_size = 429496; +SELECT @@session.bulk_insert_buffer_size; +@@session.bulk_insert_buffer_size +429496 +'#------------------FN_DYNVARS_007_05-----------------------#' +SET @@global.bulk_insert_buffer_size = 42949672950; +Warnings: +Warning 1292 Truncated incorrect bulk_insert_buffer_size value: '42949672950' +SELECT @@global.bulk_insert_buffer_size; +@@global.bulk_insert_buffer_size +4294967295 +SET @@global.bulk_insert_buffer_size = -1024; +SELECT @@global.bulk_insert_buffer_size; +@@global.bulk_insert_buffer_size +0 +SET @@global.bulk_insert_buffer_size = test; +ERROR 42000: Incorrect argument type to variable 'bulk_insert_buffer_size' +SET @@global.bulk_insert_buffer_size = ON; +ERROR 42000: Incorrect argument type to variable 'bulk_insert_buffer_size' +SET @@global.bulk_insert_buffer_size = 429496.10; +ERROR 42000: Incorrect argument type to variable 'bulk_insert_buffer_size' +SET @@session.bulk_insert_buffer_size = 42949672950; +Warnings: +Warning 1292 Truncated incorrect bulk_insert_buffer_size value: '42949672950' +SELECT @@session.bulk_insert_buffer_size; +@@session.bulk_insert_buffer_size +4294967295 +SET @@session.bulk_insert_buffer_size = -2; +SELECT @@session.bulk_insert_buffer_size; +@@session.bulk_insert_buffer_size +0 +'Bug # 34837: Errors are not coming on assigning invalid values to variable' +SET @@session.bulk_insert_buffer_size = test; +ERROR 42000: Incorrect argument type to variable 'bulk_insert_buffer_size' +SET @@session.bulk_insert_buffer_size = 429496.10; +ERROR 42000: Incorrect argument type to variable 'bulk_insert_buffer_size' +'#------------------FN_DYNVARS_007_06-----------------------#' +SELECT @@global.bulk_insert_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='bulk_insert_buffer_size'; +@@global.bulk_insert_buffer_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_007_07-----------------------#' +SELECT @@session.bulk_insert_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='bulk_insert_buffer_size'; +@@session.bulk_insert_buffer_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_007_08-----------------------#' +SET @@global.bulk_insert_buffer_size = TRUE; +SELECT @@global.bulk_insert_buffer_size; +@@global.bulk_insert_buffer_size +1 +SET @@global.bulk_insert_buffer_size = FALSE; +SELECT @@global.bulk_insert_buffer_size; +@@global.bulk_insert_buffer_size +0 +SET @@session.bulk_insert_buffer_size = TRUE; +SELECT @@session.bulk_insert_buffer_size; +@@session.bulk_insert_buffer_size +1 +SET @@session.bulk_insert_buffer_size = FALSE; +SELECT @@session.bulk_insert_buffer_size; +@@session.bulk_insert_buffer_size +0 +'#---------------------FN_DYNVARS_007_09----------------------#' +SET @@bulk_insert_buffer_size = 100; +SELECT @@bulk_insert_buffer_size = @@local.bulk_insert_buffer_size; +@@bulk_insert_buffer_size = @@local.bulk_insert_buffer_size +1 +SELECT @@local.bulk_insert_buffer_size = @@session.bulk_insert_buffer_size; +@@local.bulk_insert_buffer_size = @@session.bulk_insert_buffer_size +1 +'#---------------------FN_DYNVARS_007_10----------------------#' +SET bulk_insert_buffer_size = 1; +SELECT @@bulk_insert_buffer_size; +@@bulk_insert_buffer_size +1 +SET local.bulk_insert_buffer_size = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'bulk_insert_buffer_size = 1' at line 1 +SELECT local.bulk_insert_buffer_size; +ERROR 42S02: Unknown table 'local' in field list +SET session.bulk_insert_buffer_size = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'bulk_insert_buffer_size = 1' at line 1 +SELECT session.bulk_insert_buffer_size; +ERROR 42S02: Unknown table 'session' in field list +SELECT bulk_insert_buffer_size = @@session.bulk_insert_buffer_size; +ERROR 42S22: Unknown column 'bulk_insert_buffer_size' in 'field list' +SET @@global.bulk_insert_buffer_size = @start_global_value; +SELECT @@global.bulk_insert_buffer_size; +@@global.bulk_insert_buffer_size +8388608 +SET @@session.bulk_insert_buffer_size = @start_session_value; +SELECT @@session.bulk_insert_buffer_size; +@@session.bulk_insert_buffer_size +8388608 diff --git a/mysql-test/r/bulk_insert_buffer_size_basic_64.result b/mysql-test/r/bulk_insert_buffer_size_basic_64.result new file mode 100644 index 00000000000..9e0e8e07470 --- /dev/null +++ b/mysql-test/r/bulk_insert_buffer_size_basic_64.result @@ -0,0 +1,150 @@ +SET @start_global_value = @@global.bulk_insert_buffer_size; +SELECT @start_global_value; +@start_global_value +8388608 +SET @start_session_value = @@session.bulk_insert_buffer_size; +SELECT @start_session_value; +@start_session_value +8388608 +'#--------------------FN_DYNVARS_007_01-------------------------#' +SET @@global.bulk_insert_buffer_size = 100; +SET @@global.bulk_insert_buffer_size = DEFAULT; +SELECT @@global.bulk_insert_buffer_size; +@@global.bulk_insert_buffer_size +8388608 +SET @@session.bulk_insert_buffer_size = 200; +SET @@session.bulk_insert_buffer_size = DEFAULT; +SELECT @@session.bulk_insert_buffer_size; +@@session.bulk_insert_buffer_size +8388608 +'#--------------------FN_DYNVARS_007_02-------------------------#' +SET @@global.bulk_insert_buffer_size = @start_global_value; +SELECT @@global.bulk_insert_buffer_size = 8388608; +@@global.bulk_insert_buffer_size = 8388608 +1 +SET @@session.bulk_insert_buffer_size = @start_session_value; +SELECT @@session.bulk_insert_buffer_size = 8388608; +@@session.bulk_insert_buffer_size = 8388608 +1 +'#--------------------FN_DYNVARS_007_03-------------------------#' +SET @@global.bulk_insert_buffer_size = 0; +SELECT @@global.bulk_insert_buffer_size; +@@global.bulk_insert_buffer_size +0 +SET @@global.bulk_insert_buffer_size = 1; +SELECT @@global.bulk_insert_buffer_size; +@@global.bulk_insert_buffer_size +1 +SET @@global.bulk_insert_buffer_size = 4294967295; +SELECT @@global.bulk_insert_buffer_size; +@@global.bulk_insert_buffer_size +4294967295 +SET @@global.bulk_insert_buffer_size = 429496; +SELECT @@global.bulk_insert_buffer_size; +@@global.bulk_insert_buffer_size +429496 +'#--------------------FN_DYNVARS_007_04-------------------------#' +SET @@session.bulk_insert_buffer_size = 0; +SELECT @@session.bulk_insert_buffer_size; +@@session.bulk_insert_buffer_size +0 +SET @@session.bulk_insert_buffer_size = 1; +SELECT @@session.bulk_insert_buffer_size; +@@session.bulk_insert_buffer_size +1 +SET @@session.bulk_insert_buffer_size = 4294967295; +SELECT @@session.bulk_insert_buffer_size; +@@session.bulk_insert_buffer_size +4294967295 +SET @@session.bulk_insert_buffer_size = 429496; +SELECT @@session.bulk_insert_buffer_size; +@@session.bulk_insert_buffer_size +429496 +'#------------------FN_DYNVARS_007_05-----------------------#' +SET @@global.bulk_insert_buffer_size = 42949672950; +SELECT @@global.bulk_insert_buffer_size; +@@global.bulk_insert_buffer_size +42949672950 +SET @@global.bulk_insert_buffer_size = -1024; +SELECT @@global.bulk_insert_buffer_size; +@@global.bulk_insert_buffer_size +0 +SET @@global.bulk_insert_buffer_size = test; +ERROR 42000: Incorrect argument type to variable 'bulk_insert_buffer_size' +SET @@global.bulk_insert_buffer_size = ON; +ERROR 42000: Incorrect argument type to variable 'bulk_insert_buffer_size' +SET @@global.bulk_insert_buffer_size = 429496.10; +ERROR 42000: Incorrect argument type to variable 'bulk_insert_buffer_size' +SET @@session.bulk_insert_buffer_size = 42949672950; +SELECT @@session.bulk_insert_buffer_size; +@@session.bulk_insert_buffer_size +42949672950 +SET @@session.bulk_insert_buffer_size = -2; +SELECT @@session.bulk_insert_buffer_size; +@@session.bulk_insert_buffer_size +0 +'Bug # 34837: Errors are not coming on assigning invalid values to variable' +SET @@session.bulk_insert_buffer_size = test; +ERROR 42000: Incorrect argument type to variable 'bulk_insert_buffer_size' +SET @@session.bulk_insert_buffer_size = 429496.10; +ERROR 42000: Incorrect argument type to variable 'bulk_insert_buffer_size' +'#------------------FN_DYNVARS_007_06-----------------------#' +SELECT @@global.bulk_insert_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='bulk_insert_buffer_size'; +@@global.bulk_insert_buffer_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_007_07-----------------------#' +SELECT @@session.bulk_insert_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='bulk_insert_buffer_size'; +@@session.bulk_insert_buffer_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_007_08-----------------------#' +SET @@global.bulk_insert_buffer_size = TRUE; +SELECT @@global.bulk_insert_buffer_size; +@@global.bulk_insert_buffer_size +1 +SET @@global.bulk_insert_buffer_size = FALSE; +SELECT @@global.bulk_insert_buffer_size; +@@global.bulk_insert_buffer_size +0 +SET @@session.bulk_insert_buffer_size = TRUE; +SELECT @@session.bulk_insert_buffer_size; +@@session.bulk_insert_buffer_size +1 +SET @@session.bulk_insert_buffer_size = FALSE; +SELECT @@session.bulk_insert_buffer_size; +@@session.bulk_insert_buffer_size +0 +'#---------------------FN_DYNVARS_007_09----------------------#' +SET @@bulk_insert_buffer_size = 100; +SELECT @@bulk_insert_buffer_size = @@local.bulk_insert_buffer_size; +@@bulk_insert_buffer_size = @@local.bulk_insert_buffer_size +1 +SELECT @@local.bulk_insert_buffer_size = @@session.bulk_insert_buffer_size; +@@local.bulk_insert_buffer_size = @@session.bulk_insert_buffer_size +1 +'#---------------------FN_DYNVARS_007_10----------------------#' +SET bulk_insert_buffer_size = 1; +SELECT @@bulk_insert_buffer_size; +@@bulk_insert_buffer_size +1 +SET local.bulk_insert_buffer_size = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'bulk_insert_buffer_size = 1' at line 1 +SELECT local.bulk_insert_buffer_size; +ERROR 42S02: Unknown table 'local' in field list +SET session.bulk_insert_buffer_size = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'bulk_insert_buffer_size = 1' at line 1 +SELECT session.bulk_insert_buffer_size; +ERROR 42S02: Unknown table 'session' in field list +SELECT bulk_insert_buffer_size = @@session.bulk_insert_buffer_size; +ERROR 42S22: Unknown column 'bulk_insert_buffer_size' in 'field list' +SET @@global.bulk_insert_buffer_size = @start_global_value; +SELECT @@global.bulk_insert_buffer_size; +@@global.bulk_insert_buffer_size +8388608 +SET @@session.bulk_insert_buffer_size = @start_session_value; +SELECT @@session.bulk_insert_buffer_size; +@@session.bulk_insert_buffer_size +8388608 diff --git a/mysql-test/r/character_set_client_basic.result b/mysql-test/r/character_set_client_basic.result new file mode 100644 index 00000000000..c946d5109a8 --- /dev/null +++ b/mysql-test/r/character_set_client_basic.result @@ -0,0 +1,509 @@ +SET @global_start_value = @@global.character_set_client; +SELECT @global_start_value; +@global_start_value +latin1 +SET @session_start_value = @@character_set_client; +SELECT @session_start_value; +@session_start_value +latin1 +SET @session_start_value = @@local.character_set_client; +SELECT @session_start_value; +@session_start_value +latin1 +SET @session_start_value = @@session.character_set_client; +SELECT @session_start_value; +@session_start_value +latin1 +'#--------------------FN_DYNVARS_010_01------------------#' +SELECT character_set_client; +ERROR 42S22: Unknown column 'character_set_client' in 'field list' +SET character_set_client=utf8; +SELECT @@session.character_set_client; +@@session.character_set_client +utf8 +SET global.character_set_client=utf8; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'character_set_client=utf8' at line 1 +SET session character_set_client=utf8; +SELECT session character_set_client; +ERROR 42S22: Unknown column 'session' in 'field list' +SET global character_set_client=utf8; +SELECT global character_set_client; +ERROR 42S22: Unknown column 'global' in 'field list' +'#--------------------FN_DYNVARS_010_02-------------------------#' +SET @@character_set_client = latin5; +SET @@character_set_client = DEFAULT; +SELECT @@character_set_client AS DEFAULT_VALUE; +DEFAULT_VALUE +utf8 +SET @@global.character_set_client = latin5; +SET @@global.character_set_client = DEFAULT; +SELECT @@global.character_set_client; +@@global.character_set_client +latin1 +'#--------------------FN_DYNVARS_010_03-------------------------#' +SET @@session.character_set_client = utf8; +SELECT @@session.character_set_client; +@@session.character_set_client +utf8 +SET @@global.character_set_client = latin2; +SELECT @@global.character_set_client; +@@global.character_set_client +latin2 +SELECT @@session.character_set_client AS res_is_utf8; +res_is_utf8 +utf8 +SET @@session.character_set_client = latin5; +SELECT @@session.character_set_client; +@@session.character_set_client +latin5 +SELECT @@global.character_set_client AS res_is_latin2; +res_is_latin2 +latin2 +SELECT @@global.character_set_client=@@session.character_set_client +AS res_is_false; +res_is_false +0 +'#--------------------FN_DYNVARS_010_04-------------------------#' +SELECT @@character_set_client = @@session.character_set_client AS res; +res +1 +SELECT @@character_set_client = @@local.character_set_client AS res; +res +1 +'#--------------------FN_DYNVARS_010_05-------------------------#' +SET @@character_set_client = utf8 + latin2; +ERROR 42S22: Unknown column 'utf8' in 'field list' +'#--------------------FN_DYNVARS_010_06-------------------------#' +SET @@character_set_client = big5; +SELECT @@character_set_client; +@@character_set_client +big5 +SET @@character_set_client = dec8; +SELECT @@character_set_client; +@@character_set_client +dec8 +SET @@character_set_client = cp850; +SELECT @@character_set_client; +@@character_set_client +cp850 +SET @@character_set_client = hp8; +SELECT @@character_set_client; +@@character_set_client +hp8 +SET @@character_set_client = koi8r; +SELECT @@character_set_client; +@@character_set_client +koi8r +SET @@character_set_client = latin1; +SELECT @@character_set_client; +@@character_set_client +latin1 +SET @@character_set_client = latin2; +SELECT @@character_set_client; +@@character_set_client +latin2 +SET @@character_set_client = swe7; +SELECT @@character_set_client; +ÉÉcharacter_set_client +swe7 +SET @@character_set_client = ascii; +SELECT @@character_set_client; +@@character_set_client +ascii +SET @@character_set_client = ujis; +SELECT @@character_set_client; +@@character_set_client +ujis +SET @@character_set_client = sjis; +SELECT @@character_set_client; +@@character_set_client +sjis +SET @@character_set_client = hebrew; +SELECT @@character_set_client; +@@character_set_client +hebrew +SET @@character_set_client = tis620; +SELECT @@character_set_client; +@@character_set_client +tis620 +SET @@character_set_client = euckr; +SELECT @@character_set_client; +@@character_set_client +euckr +SET @@character_set_client = koi8u; +SELECT @@character_set_client; +@@character_set_client +koi8u +SET @@character_set_client = gb2312; +SELECT @@character_set_client; +@@character_set_client +gb2312 +SET @@character_set_client = greek; +SELECT @@character_set_client; +@@character_set_client +greek +SET @@character_set_client = cp1250; +SELECT @@character_set_client; +@@character_set_client +cp1250 +SET @@character_set_client = gbk; +SELECT @@character_set_client; +@@character_set_client +gbk +SET @@character_set_client = latin5; +SELECT @@character_set_client; +@@character_set_client +latin5 +SET @@character_set_client = armscii8; +SELECT @@character_set_client; +@@character_set_client +armscii8 +SET @@character_set_client = utf8; +SELECT @@character_set_client; +@@character_set_client +utf8 +'Bug: Assignment of ucs2 to session character-set does not raise error'; +'but selecting variable after setting it does.'; +'Even catching this does not allow any further character-set to be set.'; +'Offending querry seems to be:'; +'SET @@character_set_client = ucs2;' +SET @@character_set_client = cp866; +SELECT @@character_set_client; +@@character_set_client +cp866 +SET @@character_set_client = keybcs2; +SELECT @@character_set_client; +@@character_set_client +keybcs2 +SET @@character_set_client = macce; +SELECT @@character_set_client; +@@character_set_client +macce +SET @@character_set_client = macroman; +SELECT @@character_set_client; +@@character_set_client +macroman +SET @@character_set_client = cp852; +SELECT @@character_set_client; +@@character_set_client +cp852 +SET @@character_set_client = latin7; +SELECT @@character_set_client; +@@character_set_client +latin7 +SET @@character_set_client = cp1251; +SELECT @@character_set_client; +@@character_set_client +cp1251 +SET @@character_set_client = cp1256; +SELECT @@character_set_client; +@@character_set_client +cp1256 +SET @@character_set_client = cp1257; +SELECT @@character_set_client; +@@character_set_client +cp1257 +SET @@character_set_client = binary; +SELECT @@character_set_client; +@@character_set_client +binary +SET @@character_set_client = geostd8; +SELECT @@character_set_client; +@@character_set_client +geostd8 +SET @@character_set_client = cp932; +SELECT @@character_set_client; +@@character_set_client +cp932 +SET @@character_set_client = eucjpms; +SELECT @@character_set_client; +@@character_set_client +eucjpms +'#--------------------FN_DYNVARS_010_07-------------------------#' +SET @@global.character_set_client = big5; +SELECT @@global.character_set_client; +@@global.character_set_client +big5 +SET @@global.character_set_client = dec8; +SELECT @@global.character_set_client; +@@global.character_set_client +dec8 +SET @@global.character_set_client = cp850; +SELECT @@global.character_set_client; +@@global.character_set_client +cp850 +SET @@global.character_set_client = hp8; +SELECT @@global.character_set_client; +@@global.character_set_client +hp8 +SET @@global.character_set_client = koi8r; +SELECT @@global.character_set_client; +@@global.character_set_client +koi8r +SET @@global.character_set_client = latin1; +SELECT @@global.character_set_client; +@@global.character_set_client +latin1 +SET @@global.character_set_client = latin2; +SELECT @@global.character_set_client; +@@global.character_set_client +latin2 +SET @@global.character_set_client = swe7; +SELECT @@global.character_set_client; +@@global.character_set_client +swe7 +SET @@global.character_set_client = ascii; +SELECT @@global.character_set_client; +@@global.character_set_client +ascii +SET @@global.character_set_client = ujis; +SELECT @@global.character_set_client; +@@global.character_set_client +ujis +SET @@global.character_set_client = sjis; +SELECT @@global.character_set_client; +@@global.character_set_client +sjis +SET @@global.character_set_client = hebrew; +SELECT @@global.character_set_client; +@@global.character_set_client +hebrew +SET @@global.character_set_client = tis620; +SELECT @@global.character_set_client; +@@global.character_set_client +tis620 +SET @@global.character_set_client = euckr; +SELECT @@global.character_set_client; +@@global.character_set_client +euckr +SET @@global.character_set_client = koi8u; +SELECT @@global.character_set_client; +@@global.character_set_client +koi8u +SET @@global.character_set_client = gb2312; +SELECT @@global.character_set_client; +@@global.character_set_client +gb2312 +SET @@global.character_set_client = greek; +SELECT @@global.character_set_client; +@@global.character_set_client +greek +SET @@global.character_set_client = cp1250; +SELECT @@global.character_set_client; +@@global.character_set_client +cp1250 +SET @@global.character_set_client = gbk; +SELECT @@global.character_set_client; +@@global.character_set_client +gbk +SET @@global.character_set_client = latin5; +SELECT @@global.character_set_client; +@@global.character_set_client +latin5 +SET @@global.character_set_client = armscii8; +SELECT @@global.character_set_client; +@@global.character_set_client +armscii8 +SET @@global.character_set_client = utf8; +SELECT @@global.character_set_client; +@@global.character_set_client +utf8 +SET @@global.character_set_client = ucs2; +SELECT @@global.character_set_client; +@@global.character_set_client +utf8 +SET @@global.character_set_client = cp866; +SELECT @@global.character_set_client; +@@global.character_set_client +cp866 +SET @@global.character_set_client = keybcs2; +SELECT @@global.character_set_client; +@@global.character_set_client +keybcs2 +SET @@global.character_set_client = macce; +SELECT @@global.character_set_client; +@@global.character_set_client +macce +SET @@global.character_set_client = macroman; +SELECT @@global.character_set_client; +@@global.character_set_client +macroman +SET @@global.character_set_client = cp852; +SELECT @@global.character_set_client; +@@global.character_set_client +cp852 +SET @@global.character_set_client = latin7; +SELECT @@global.character_set_client; +@@global.character_set_client +latin7 +SET @@global.character_set_client = cp1251; +SELECT @@global.character_set_client; +@@global.character_set_client +cp1251 +SET @@global.character_set_client = cp1256; +SELECT @@global.character_set_client; +@@global.character_set_client +cp1256 +SET @@global.character_set_client = cp1257; +SELECT @@global.character_set_client; +@@global.character_set_client +cp1257 +SET @@global.character_set_client = binary; +SELECT @@global.character_set_client; +@@global.character_set_client +binary +SET @@global.character_set_client = geostd8; +SELECT @@global.character_set_client; +@@global.character_set_client +geostd8 +SET @@global.character_set_client = cp932; +SELECT @@global.character_set_client; +@@global.character_set_client +cp932 +SET @@global.character_set_client = eucjpms; +SELECT @@global.character_set_client; +@@global.character_set_client +eucjpms +'#--------------------FN_DYNVARS_010_08-------------------------#' +SET @@character_set_client = UTF8; +SELECT @@character_set_client; +@@character_set_client +utf8 +SET @@character_set_client = utf8; +SELECT @@character_set_client; +@@character_set_client +utf8 +SET @@global.character_set_client = uTf8; +SELECT @@global.character_set_client; +@@global.character_set_client +utf8 +'#--------------------FN_DYNVARS_010_09-------------------------#' +SET @@character_set_client = 1; +SELECT @@character_set_client; +@@character_set_client +big5 +SET @@character_set_client = 2; +SELECT @@character_set_client; +@@character_set_client +latin2 +SET @@character_set_client = 3; +SELECT @@character_set_client; +@@character_set_client +dec8 +SET @@character_set_client = 36; +SELECT @@character_set_client; +@@character_set_client +cp866 +SET @@character_set_client = 99; +SELECT @@character_set_client; +@@character_set_client +cp1250 +SET @@character_set_client = 100; +ERROR 42000: Unknown character set: '100' +SET @@global.character_set_client = 1; +SELECT @@global.character_set_client; +@@global.character_set_client +big5 +SET @@global.character_set_client = 2; +SELECT @@global.character_set_client; +@@global.character_set_client +latin2 +SET @@global.character_set_client = 3; +SELECT @@global.character_set_client; +@@global.character_set_client +dec8 +SET @@global.character_set_client = 36; +SELECT @@global.character_set_client; +@@global.character_set_client +cp866 +SET @@global.character_set_client = 99; +SELECT @@global.character_set_client; +@@global.character_set_client +cp1250 +SET @@global.character_set_client = 100; +ERROR 42000: Unknown character set: '100' +SET @total_charset = (SELECT count(*) FROM INFORMATION_SCHEMA.CHARACTER_SETS); +SELECT @total_charset; +@total_charset +36 +'Bug # 34843: character sets are mapped in such a way that 100 and following'; +'numbers gives error, and before 100 the 36 mapped wraps arround'; +'several times.'; +'#--------------------FN_DYNVARS_010_10-------------------------#' +SET @@character_set_client = abc; +ERROR 42000: Unknown character set: 'abc' +SET @@character_set_client = 1utf8; +ERROR 42000: Unknown character set: '1utf8' +SET @@character_set_client = 0; +ERROR 42000: Unknown character set: '0' +SET @@character_set_client = 1.1; +ERROR 42000: Incorrect argument type to variable 'character_set_client' +SET @@character_set_client = -1; +ERROR 42000: Unknown character set: '-1' +SET @@character_set_client = ''; +ERROR 42000: Unknown character set: '' +SET @@character_set_client = 'utf'; +ERROR 42000: Unknown character set: 'utf' +SET @@character_set_client = true; +SELECT @@character_set_client AS res_with_true; +res_with_true +big5 +SET @@character_set_client = ON; +ERROR 42000: Unknown character set: 'ON' +'#--------------------FN_DYNVARS_010_11-------------------------#' +SET @@global.character_set_client = abc; +ERROR 42000: Unknown character set: 'abc' +SET @@global.character_set_client = 1utf8; +ERROR 42000: Unknown character set: '1utf8' +SET @@global.character_set_client = 0; +ERROR 42000: Unknown character set: '0' +SET @@global.character_set_client = 1.1; +ERROR 42000: Incorrect argument type to variable 'character_set_client' +SET @@global.character_set_client = -1; +ERROR 42000: Unknown character set: '-1' +SET @@global.character_set_client = ''; +ERROR 42000: Unknown character set: '' +SET @@global.character_set_client = 'utf'; +ERROR 42000: Unknown character set: 'utf' +SET @@global.character_set_client = true; +SET @@global.character_set_client = ON; +ERROR 42000: Unknown character set: 'ON' +'#--------------------FN_DYNVARS_010_12-------------------------#' +SELECT @@global.character_set_client = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='character_set_client') AS res; +res +1 +SET @@global.character_set_client = 1; +SELECT @@global.character_set_client; +@@global.character_set_client +big5 +SELECT @@global.character_set_client = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='character_set_client') AS res; +res +1 +'#--------------------FN_DYNVARS_010_13-------------------------#' +SELECT @@character_set_client = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='character_set_client') AS res; +res +1 +SELECT @@local.character_set_client = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='character_set_client') AS res; +res +1 +SELECT @@session.character_set_client = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='character_set_client') AS res; +res +1 +SET @@global.character_set_client = @global_start_value; +SELECT @@global.character_set_client; +@@global.character_set_client +latin1 +SET @@session.character_set_client = @session_start_value; +SELECT @@session.character_set_client; +@@session.character_set_client +latin1 diff --git a/mysql-test/r/character_set_client_func.result b/mysql-test/r/character_set_client_func.result new file mode 100644 index 00000000000..087db21639b --- /dev/null +++ b/mysql-test/r/character_set_client_func.result @@ -0,0 +1,38 @@ +'#--------------------FN_DYNVARS_010_01-------------------------#' +SET @global_character_set_client = @@global.character_set_client; +SET @session_character_set_client = @@session.character_set_client; +SET @@global.character_set_client = utf8; +'connect (con1,localhost,root,,,,)' +'connection con1' +SELECT @@global.character_set_client; +@@global.character_set_client +utf8 +SELECT @@session.character_set_client; +@@session.character_set_client +latin1 +'Bug# 35372: session character_set_client is not effected by global character_set_client' +'#--------------------FN_DYNVARS_010_02-------------------------#' +'connection default' +SHOW VARIABLES like 'character_set_client'; +Variable_name Value +character_set_client latin1 +DROP TABLE IF EXISTS t1; +CREATE TABLE t1(a CHAR(3) character set utf8); +'---verifying character_set_client with a utf8 character----' +'For latin1 characterset'; +SET @@session.character_set_client = latin1; +INSERT INTO t1 values('è'); +SELECT a,CHAR_LENGTH(a) FROM t1; +a CHAR_LENGTH(a) +è 2 +DELETE FROM t1; +'For utf8 characterset'; +SET @@session.character_set_client = utf8; +INSERT INTO t1 values('è'); +SELECT a,CHAR_LENGTH(a) FROM t1; +a CHAR_LENGTH(a) + 1 +DELETE FROM t1; +DROP TABLE IF EXISTS t1; +SET @@global.character_set_client = @global_character_set_client; +SET @@session.character_set_client = @session_character_set_client; diff --git a/mysql-test/r/character_set_connection_basic.result b/mysql-test/r/character_set_connection_basic.result new file mode 100644 index 00000000000..18697a20fb9 --- /dev/null +++ b/mysql-test/r/character_set_connection_basic.result @@ -0,0 +1,508 @@ +SET @global_start_value = @@global.character_set_connection; +SELECT @global_start_value; +@global_start_value +latin1 +SET @session_start_value = @@character_set_connection; +SELECT @session_start_value; +@session_start_value +latin1 +SET @session_start_value = @@local.character_set_connection; +SELECT @session_start_value; +@session_start_value +latin1 +SET @session_start_value = @@session.character_set_connection; +SELECT @session_start_value; +@session_start_value +latin1 +'#--------------------FN_DYNVARS_011_01------------------#' +SELECT character_set_connection; +ERROR 42S22: Unknown column 'character_set_connection' in 'field list' +SET character_set_connection=utf8; +SELECT @@session.character_set_connection; +@@session.character_set_connection +utf8 +SET global.character_set_connection=utf8; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'character_set_connection=utf8' at line 1 +SET session character_set_connection=utf8; +SELECT session character_set_connection; +ERROR 42S22: Unknown column 'session' in 'field list' +SET global character_set_connection=utf8; +SELECT global character_set_connection; +ERROR 42S22: Unknown column 'global' in 'field list' +'#--------------------FN_DYNVARS_011_02-------------------------#' +SET @@character_set_connection = latin5; +SET @@character_set_connection = DEFAULT; +SELECT @@character_set_connection AS DEFAULT_VALUE; +DEFAULT_VALUE +utf8 +SET @@global.character_set_connection = latin5; +SET @@global.character_set_connection = DEFAULT; +SELECT @@global.character_set_connection; +@@global.character_set_connection +latin1 +'#--------------------FN_DYNVARS_011_03-------------------------#' +SET @@session.character_set_connection = utf8; +SELECT @@session.character_set_connection; +@@session.character_set_connection +utf8 +SET @@global.character_set_connection = latin2; +SELECT @@global.character_set_connection; +@@global.character_set_connection +latin2 +SELECT @@session.character_set_connection AS res_is_utf8; +res_is_utf8 +utf8 +SET @@session.character_set_connection = latin5; +SELECT @@session.character_set_connection; +@@session.character_set_connection +latin5 +SELECT @@global.character_set_connection AS res_is_latin2; +res_is_latin2 +latin2 +SELECT @@global.character_set_connection=@@session.character_set_connection +AS res_is_false; +res_is_false +0 +'#--------------------FN_DYNVARS_011_04-------------------------#' +SELECT @@character_set_connection = @@session.character_set_connection AS res; +res +1 +SELECT @@character_set_connection = @@local.character_set_connection AS res; +res +1 +'#--------------------FN_DYNVARS_011_05-------------------------#' +SET @@character_set_connection = utf8 + latin2; +ERROR 42S22: Unknown column 'utf8' in 'field list' +'#--------------------FN_DYNVARS_011_06-------------------------#' +SET @@session.character_set_connection = big5; +SELECT @@session.character_set_connection; +@@session.character_set_connection +big5 +SET @@session.character_set_connection = dec8; +SELECT @@session.character_set_connection; +@@session.character_set_connection +dec8 +SET @@session.character_set_connection = cp850; +SELECT @@session.character_set_connection; +@@session.character_set_connection +cp850 +SET @@session.character_set_connection = hp8; +SELECT @@session.character_set_connection; +@@session.character_set_connection +hp8 +SET @@session.character_set_connection = koi8r; +SELECT @@session.character_set_connection; +@@session.character_set_connection +koi8r +SET @@session.character_set_connection = latin1; +SELECT @@session.character_set_connection; +@@session.character_set_connection +latin1 +SET @@session.character_set_connection = latin2; +SELECT @@session.character_set_connection; +@@session.character_set_connection +latin2 +SET @@session.character_set_connection = swe7; +SELECT @@session.character_set_connection; +@@session.character_set_connection +swe7 +SET @@session.character_set_connection = ascii; +SELECT @@session.character_set_connection; +@@session.character_set_connection +ascii +SET @@session.character_set_connection = ujis; +SELECT @@session.character_set_connection; +@@session.character_set_connection +ujis +SET @@session.character_set_connection = sjis; +SELECT @@session.character_set_connection; +@@session.character_set_connection +sjis +SET @@session.character_set_connection = hebrew; +SELECT @@session.character_set_connection; +@@session.character_set_connection +hebrew +SET @@session.character_set_connection = tis620; +SELECT @@session.character_set_connection; +@@session.character_set_connection +tis620 +SET @@session.character_set_connection = euckr; +SELECT @@session.character_set_connection; +@@session.character_set_connection +euckr +SET @@session.character_set_connection = koi8u; +SELECT @@session.character_set_connection; +@@session.character_set_connection +koi8u +SET @@session.character_set_connection = gb2312; +SELECT @@session.character_set_connection; +@@session.character_set_connection +gb2312 +SET @@session.character_set_connection = greek; +SELECT @@session.character_set_connection; +@@session.character_set_connection +greek +SET @@session.character_set_connection = cp1250; +SELECT @@session.character_set_connection; +@@session.character_set_connection +cp1250 +SET @@session.character_set_connection = gbk; +SELECT @@session.character_set_connection; +@@session.character_set_connection +gbk +SET @@session.character_set_connection = latin5; +SELECT @@session.character_set_connection; +@@session.character_set_connection +latin5 +SET @@session.character_set_connection = armscii8; +SELECT @@session.character_set_connection; +@@session.character_set_connection +armscii8 +SET @@session.character_set_connection = utf8; +SELECT @@session.character_set_connection; +@@session.character_set_connection +utf8 +SET @@session.character_set_connection = ucs2; +SELECT @@session.character_set_connection; +@@session.character_set_connection +ucs2 +SET @@session.character_set_connection = cp866; +SELECT @@session.character_set_connection; +@@session.character_set_connection +cp866 +SET @@session.character_set_connection = keybcs2; +SELECT @@session.character_set_connection; +@@session.character_set_connection +keybcs2 +SET @@session.character_set_connection = macce; +SELECT @@session.character_set_connection; +@@session.character_set_connection +macce +SET @@session.character_set_connection = macroman; +SELECT @@session.character_set_connection; +@@session.character_set_connection +macroman +SET @@session.character_set_connection = cp852; +SELECT @@session.character_set_connection; +@@session.character_set_connection +cp852 +SET @@session.character_set_connection = latin7; +SELECT @@session.character_set_connection; +@@session.character_set_connection +latin7 +SET @@session.character_set_connection = cp1251; +SELECT @@session.character_set_connection; +@@session.character_set_connection +cp1251 +SET @@session.character_set_connection = cp1256; +SELECT @@session.character_set_connection; +@@session.character_set_connection +cp1256 +SET @@session.character_set_connection = cp1257; +SELECT @@session.character_set_connection; +@@session.character_set_connection +cp1257 +SET @@session.character_set_connection = binary; +SELECT @@session.character_set_connection; +@@session.character_set_connection +binary +SET @@session.character_set_connection = geostd8; +SELECT @@session.character_set_connection; +@@session.character_set_connection +geostd8 +SET @@session.character_set_connection = cp932; +SELECT @@session.character_set_connection; +@@session.character_set_connection +cp932 +SET @@session.character_set_connection = eucjpms; +SELECT @@session.character_set_connection; +@@session.character_set_connection +eucjpms +'#--------------------FN_DYNVARS_011_07-------------------------#' +SET @@global.character_set_connection = big5; +SELECT @@global.character_set_connection; +@@global.character_set_connection +big5 +SET @@global.character_set_connection = dec8; +SELECT @@global.character_set_connection; +@@global.character_set_connection +dec8 +SET @@global.character_set_connection = cp850; +SELECT @@global.character_set_connection; +@@global.character_set_connection +cp850 +SET @@global.character_set_connection = hp8; +SELECT @@global.character_set_connection; +@@global.character_set_connection +hp8 +SET @@global.character_set_connection = koi8r; +SELECT @@global.character_set_connection; +@@global.character_set_connection +koi8r +SET @@global.character_set_connection = latin1; +SELECT @@global.character_set_connection; +@@global.character_set_connection +latin1 +SET @@global.character_set_connection = latin2; +SELECT @@global.character_set_connection; +@@global.character_set_connection +latin2 +SET @@global.character_set_connection = swe7; +SELECT @@global.character_set_connection; +@@global.character_set_connection +swe7 +SET @@global.character_set_connection = ascii; +SELECT @@global.character_set_connection; +@@global.character_set_connection +ascii +SET @@global.character_set_connection = ujis; +SELECT @@global.character_set_connection; +@@global.character_set_connection +ujis +SET @@global.character_set_connection = sjis; +SELECT @@global.character_set_connection; +@@global.character_set_connection +sjis +SET @@global.character_set_connection = hebrew; +SELECT @@global.character_set_connection; +@@global.character_set_connection +hebrew +SET @@global.character_set_connection = tis620; +SELECT @@global.character_set_connection; +@@global.character_set_connection +tis620 +SET @@global.character_set_connection = euckr; +SELECT @@global.character_set_connection; +@@global.character_set_connection +euckr +SET @@global.character_set_connection = koi8u; +SELECT @@global.character_set_connection; +@@global.character_set_connection +koi8u +SET @@global.character_set_connection = gb2312; +SELECT @@global.character_set_connection; +@@global.character_set_connection +gb2312 +SET @@global.character_set_connection = greek; +SELECT @@global.character_set_connection; +@@global.character_set_connection +greek +SET @@global.character_set_connection = cp1250; +SELECT @@global.character_set_connection; +@@global.character_set_connection +cp1250 +SET @@global.character_set_connection = gbk; +SELECT @@global.character_set_connection; +@@global.character_set_connection +gbk +SET @@global.character_set_connection = latin5; +SELECT @@global.character_set_connection; +@@global.character_set_connection +latin5 +SET @@global.character_set_connection = armscii8; +SELECT @@global.character_set_connection; +@@global.character_set_connection +armscii8 +SET @@global.character_set_connection = utf8; +SELECT @@global.character_set_connection; +@@global.character_set_connection +utf8 +SET @@global.character_set_connection = ucs2; +SELECT @@global.character_set_connection; +@@global.character_set_connection +ucs2 +SET @@global.character_set_connection = cp866; +SELECT @@global.character_set_connection; +@@global.character_set_connection +cp866 +SET @@global.character_set_connection = keybcs2; +SELECT @@global.character_set_connection; +@@global.character_set_connection +keybcs2 +SET @@global.character_set_connection = macce; +SELECT @@global.character_set_connection; +@@global.character_set_connection +macce +SET @@global.character_set_connection = macroman; +SELECT @@global.character_set_connection; +@@global.character_set_connection +macroman +SET @@global.character_set_connection = cp852; +SELECT @@global.character_set_connection; +@@global.character_set_connection +cp852 +SET @@global.character_set_connection = latin7; +SELECT @@global.character_set_connection; +@@global.character_set_connection +latin7 +SET @@global.character_set_connection = cp1251; +SELECT @@global.character_set_connection; +@@global.character_set_connection +cp1251 +SET @@global.character_set_connection = cp1256; +SELECT @@global.character_set_connection; +@@global.character_set_connection +cp1256 +SET @@global.character_set_connection = cp1257; +SELECT @@global.character_set_connection; +@@global.character_set_connection +cp1257 +SET @@global.character_set_connection = binary; +SELECT @@global.character_set_connection; +@@global.character_set_connection +binary +SET @@global.character_set_connection = geostd8; +SELECT @@global.character_set_connection; +@@global.character_set_connection +geostd8 +SET @@global.character_set_connection = cp932; +SELECT @@global.character_set_connection; +@@global.character_set_connection +cp932 +SET @@global.character_set_connection = eucjpms; +SELECT @@global.character_set_connection; +@@global.character_set_connection +eucjpms +'#--------------------FN_DYNVARS_011_08-------------------------#' +SET @@character_set_connection = UTF8; +SELECT @@character_set_connection; +@@character_set_connection +utf8 +SET @@character_set_connection = utf8; +SELECT @@character_set_connection; +@@character_set_connection +utf8 +SET @@global.character_set_connection = uTf8; +SELECT @@global.character_set_connection; +@@global.character_set_connection +utf8 +'#--------------------FN_DYNVARS_011_09-------------------------#' +SET @@character_set_connection = 1; +SELECT @@character_set_connection; +@@character_set_connection +big5 +SET @@character_set_connection = 2; +SELECT @@character_set_connection; +@@character_set_connection +latin2 +SET @@character_set_connection = 3; +SELECT @@character_set_connection; +@@character_set_connection +dec8 +SET @@character_set_connection = 36; +SELECT @@character_set_connection; +@@character_set_connection +cp866 +SET @@character_set_connection = 99; +SELECT @@character_set_connection; +@@character_set_connection +cp1250 +SET @@character_set_connection = 100; +ERROR 42000: Unknown character set: '100' +SET @@global.character_set_connection = 1; +SELECT @@global.character_set_connection; +@@global.character_set_connection +big5 +SET @@global.character_set_connection = 2; +SELECT @@global.character_set_connection; +@@global.character_set_connection +latin2 +SET @@global.character_set_connection = 3; +SELECT @@global.character_set_connection; +@@global.character_set_connection +dec8 +SET @@global.character_set_connection = 36; +SELECT @@global.character_set_connection; +@@global.character_set_connection +cp866 +SET @@global.character_set_connection = 99; +SELECT @@global.character_set_connection; +@@global.character_set_connection +cp1250 +SET @@global.character_set_connection = 100; +ERROR 42000: Unknown character set: '100' +SET @total_charset = (SELECT count(*) FROM INFORMATION_SCHEMA.CHARACTER_SETS); +SELECT @total_charset; +@total_charset +36 +'Bug # 34843: character sets are mapped in such a way that 100 and following '; +'numbers gives error, and before 100 the 36 mapped wraps arround'; +'several times.'; +'#--------------------FN_DYNVARS_011_10-------------------------#' +SET @@character_set_connection = abc; +ERROR 42000: Unknown character set: 'abc' +SET @@character_set_connection = 1utf8; +ERROR 42000: Unknown character set: '1utf8' +SET @@character_set_connection = 0; +ERROR 42000: Unknown character set: '0' +SET @@character_set_connection = 1.1; +ERROR 42000: Incorrect argument type to variable 'character_set_connection' +SET @@character_set_connection = -1; +ERROR 42000: Unknown character set: '-1' +SET @@character_set_connection = 'utf8 '; +ERROR 42000: Unknown character set: 'utf8 ' +SET @@character_set_connection = 'lätin2'; +ERROR 42000: Unknown character set: 'lätin2' +SET @@character_set_connection = true; +SELECT @@character_set_connection AS res_with_true; +res_with_true +big5 +SET @@character_set_connection = ON; +ERROR 42000: Unknown character set: 'ON' +'#--------------------FN_DYNVARS_011_11-------------------------#' +SET @@global.character_set_connection = abc; +ERROR 42000: Unknown character set: 'abc' +SET @@global.character_set_connection = 1utf8; +ERROR 42000: Unknown character set: '1utf8' +SET @@global.character_set_connection = 0; +ERROR 42000: Unknown character set: '0' +SET @@global.character_set_connection = 1.1; +ERROR 42000: Incorrect argument type to variable 'character_set_connection' +SET @@global.character_set_connection = -1; +ERROR 42000: Unknown character set: '-1' +SET @@global.character_set_connection = ''; +ERROR 42000: Unknown character set: '' +SET @@global.character_set_connection = 'utf'; +ERROR 42000: Unknown character set: 'utf' +SET @@global.character_set_connection = true; +SET @@global.character_set_connection = ON; +ERROR 42000: Unknown character set: 'ON' +'#--------------------FN_DYNVARS_011_12-------------------------#' +SELECT @@global.character_set_connection = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='character_set_connection') AS res; +res +1 +SET @@global.character_set_connection = 1; +SELECT @@global.character_set_connection; +@@global.character_set_connection +big5 +SELECT @@global.character_set_connection = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='character_set_connection') AS res; +res +1 +'#--------------------FN_DYNVARS_011_13-------------------------#' +SELECT @@character_set_connection = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='character_set_connection') AS res; +res +1 +SELECT @@local.character_set_connection = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='character_set_connection') AS res; +res +1 +SELECT @@session.character_set_connection = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='character_set_connection') AS res; +res +1 +SET @@global.character_set_connection = @global_start_value; +SELECT @@global.character_set_connection; +@@global.character_set_connection +latin1 +SET @@session.character_set_connection = @session_start_value; +SELECT @@session.character_set_connection; +@@session.character_set_connection +latin1 diff --git a/mysql-test/r/character_set_connection_func.result b/mysql-test/r/character_set_connection_func.result new file mode 100644 index 00000000000..2f5d28ec8af --- /dev/null +++ b/mysql-test/r/character_set_connection_func.result @@ -0,0 +1,55 @@ +'#--------------------FN_DYNVARS_011_01-------------------------#' +SET @global_character_set_connection = @@global.character_set_connection; +SET @session_character_set_connection = @@session.character_set_connection; +SET @session_character_set_client = @@session.character_set_client; +SET @session_character_set_results = @@session.character_set_results; +SET @@global.character_set_connection = utf8; +'connect (con1,localhost,root,,,,)' +'connection con1' +SELECT @@global.character_set_connection; +@@global.character_set_connection +utf8 +SELECT @@session.character_set_connection; +@@session.character_set_connection +utf8 +'#--------------------FN_DYNVARS_011_02-------------------------#' +'connection default' +DROP TABLE IF EXISTS t1; +CREATE TABLE t1(b CHAR(40) character set utf8); +'--verify that character_set_connection converts character_set_client--' +SET @@session.character_set_client = utf8; +SET @@session.character_set_results = utf8; +SET @@session.character_set_connection = latin1; +SELECT 'ÐЂЃЄ' AS utf_text; +utf_text +???? +SET @@session.character_set_connection = utf8; +SELECT 'ÐЂЃЄ' AS utf_text; +utf_text +ÐЂЃЄ +'---now inserting utf8 string with different character_set_connection--' +SET @@session.character_set_connection = ascii; +INSERT INTO t1 VALUES('ÐЂЃЄ'); +SELECT * FROM t1; +b +???? +TRUNCATE TABLE t1; +'--now client & results charset in latin1 & connection charset in ascii-' +SET @@session.character_set_connection = ascii; +SET @@session.character_set_client = latin1; +SET @@session.character_set_results = latin1; +INSERT INTO t1 VALUES('ÐЂЃЄ'); +SELECT * FROM t1; +b +???????? +TRUNCATE TABLE t1; +SET NAMES utf8; +INSERT INTO t1 VALUES('ÐЂЃЄ'); +SELECT * FROM t1; +b +ÐЂЃЄ +TRUNCATE TABLE t1; +SET @@global.character_set_connection = @global_character_set_connection; +SET @@session.character_set_connection = @session_character_set_connection; +SET @@session.character_set_client = @session_character_set_client; +SET @@session.character_set_results = @session_character_set_results; diff --git a/mysql-test/r/character_set_database_basic.result b/mysql-test/r/character_set_database_basic.result new file mode 100644 index 00000000000..4380fea4c81 --- /dev/null +++ b/mysql-test/r/character_set_database_basic.result @@ -0,0 +1,507 @@ +SET @global_start_value = @@global.character_set_database; +SELECT @global_start_value; +@global_start_value +latin1 +SET @session_start_value = @@character_set_database; +SELECT @session_start_value; +@session_start_value +latin1 +SET @session_start_value = @@local.character_set_database; +SELECT @session_start_value; +@session_start_value +latin1 +SET @session_start_value = @@session.character_set_database; +SELECT @session_start_value; +@session_start_value +latin1 +'#--------------------FN_DYNVARS_012_01------------------#' +SELECT character_set_database; +ERROR 42S22: Unknown column 'character_set_database' in 'field list' +SET character_set_database=utf8; +SELECT @@session.character_set_database; +@@session.character_set_database +utf8 +SET global.character_set_database=utf8; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'character_set_database=utf8' at line 1 +SET session character_set_database=utf8; +SELECT session character_set_database; +ERROR 42S22: Unknown column 'session' in 'field list' +SET global character_set_database=utf8; +SELECT global character_set_database; +ERROR 42S22: Unknown column 'global' in 'field list' +'#--------------------FN_DYNVARS_012_02-------------------------#' +SET @@character_set_database = latin5; +SET @@character_set_database = DEFAULT; +SELECT @@character_set_database AS DEFAULT_VALUE; +DEFAULT_VALUE +latin1 +SET @@global.character_set_database = latin5; +SET @@global.character_set_database = DEFAULT; +SELECT @@global.character_set_database; +@@global.character_set_database +latin1 +'#--------------------FN_DYNVARS_012_03-------------------------#' +SET @@session.character_set_database = utf8; +SELECT @@session.character_set_database; +@@session.character_set_database +utf8 +SET @@global.character_set_database = latin2; +SELECT @@global.character_set_database; +@@global.character_set_database +latin2 +SELECT @@session.character_set_database AS res_is_utf8; +res_is_utf8 +utf8 +SET @@session.character_set_database = latin5; +SELECT @@session.character_set_database; +@@session.character_set_database +latin5 +SELECT @@global.character_set_database AS res_is_latin2; +res_is_latin2 +latin2 +SELECT @@global.character_set_database=@@session.character_set_database +AS res_is_false; +res_is_false +0 +'#--------------------FN_DYNVARS_012_04-------------------------#' +SELECT @@character_set_database = @@session.character_set_database AS res; +res +1 +SELECT @@character_set_database = @@local.character_set_database AS res; +res +1 +'#--------------------FN_DYNVARS_012_05-------------------------#' +SET @@character_set_database = utf8 + latin2; +ERROR 42S22: Unknown column 'utf8' in 'field list' +'#--------------------FN_DYNVARS_012_06-------------------------#' +SET @@session.character_set_database = big5; +SELECT @@session.character_set_database; +@@session.character_set_database +big5 +SET @@session.character_set_database = dec8; +SELECT @@session.character_set_database; +@@session.character_set_database +dec8 +SET @@session.character_set_database = cp850; +SELECT @@session.character_set_database; +@@session.character_set_database +cp850 +SET @@session.character_set_database = hp8; +SELECT @@session.character_set_database; +@@session.character_set_database +hp8 +SET @@session.character_set_database = koi8r; +SELECT @@session.character_set_database; +@@session.character_set_database +koi8r +SET @@session.character_set_database = latin1; +SELECT @@session.character_set_database; +@@session.character_set_database +latin1 +SET @@session.character_set_database = latin2; +SELECT @@session.character_set_database; +@@session.character_set_database +latin2 +SET @@session.character_set_database = swe7; +SELECT @@session.character_set_database; +@@session.character_set_database +swe7 +SET @@session.character_set_database = ascii; +SELECT @@session.character_set_database; +@@session.character_set_database +ascii +SET @@session.character_set_database = ujis; +SELECT @@session.character_set_database; +@@session.character_set_database +ujis +SET @@session.character_set_database = sjis; +SELECT @@session.character_set_database; +@@session.character_set_database +sjis +SET @@session.character_set_database = hebrew; +SELECT @@session.character_set_database; +@@session.character_set_database +hebrew +SET @@session.character_set_database = tis620; +SELECT @@session.character_set_database; +@@session.character_set_database +tis620 +SET @@session.character_set_database = euckr; +SELECT @@session.character_set_database; +@@session.character_set_database +euckr +SET @@session.character_set_database = koi8u; +SELECT @@session.character_set_database; +@@session.character_set_database +koi8u +SET @@session.character_set_database = gb2312; +SELECT @@session.character_set_database; +@@session.character_set_database +gb2312 +SET @@session.character_set_database = greek; +SELECT @@session.character_set_database; +@@session.character_set_database +greek +SET @@session.character_set_database = cp1250; +SELECT @@session.character_set_database; +@@session.character_set_database +cp1250 +SET @@session.character_set_database = gbk; +SELECT @@session.character_set_database; +@@session.character_set_database +gbk +SET @@session.character_set_database = latin5; +SELECT @@session.character_set_database; +@@session.character_set_database +latin5 +SET @@session.character_set_database = armscii8; +SELECT @@session.character_set_database; +@@session.character_set_database +armscii8 +SET @@session.character_set_database = utf8; +SELECT @@session.character_set_database; +@@session.character_set_database +utf8 +SET @@session.character_set_database = ucs2; +SELECT @@session.character_set_database; +@@session.character_set_database +ucs2 +SET @@session.character_set_database = cp866; +SELECT @@session.character_set_database; +@@session.character_set_database +cp866 +SET @@session.character_set_database = keybcs2; +SELECT @@session.character_set_database; +@@session.character_set_database +keybcs2 +SET @@session.character_set_database = macce; +SELECT @@session.character_set_database; +@@session.character_set_database +macce +SET @@session.character_set_database = macroman; +SELECT @@session.character_set_database; +@@session.character_set_database +macroman +SET @@session.character_set_database = cp852; +SELECT @@session.character_set_database; +@@session.character_set_database +cp852 +SET @@session.character_set_database = latin7; +SELECT @@session.character_set_database; +@@session.character_set_database +latin7 +SET @@session.character_set_database = cp1251; +SELECT @@session.character_set_database; +@@session.character_set_database +cp1251 +SET @@session.character_set_database = cp1256; +SELECT @@session.character_set_database; +@@session.character_set_database +cp1256 +SET @@session.character_set_database = cp1257; +SELECT @@session.character_set_database; +@@session.character_set_database +cp1257 +SET @@session.character_set_database = binary; +SELECT @@session.character_set_database; +@@session.character_set_database +binary +SET @@session.character_set_database = geostd8; +SELECT @@session.character_set_database; +@@session.character_set_database +geostd8 +SET @@session.character_set_database = cp932; +SELECT @@session.character_set_database; +@@session.character_set_database +cp932 +SET @@session.character_set_database = eucjpms; +SELECT @@session.character_set_database; +@@session.character_set_database +eucjpms +'#--------------------FN_DYNVARS_012_07-------------------------#' +SET @@global.character_set_database = big5; +SELECT @@global.character_set_database; +@@global.character_set_database +big5 +SET @@global.character_set_database = dec8; +SELECT @@global.character_set_database; +@@global.character_set_database +dec8 +SET @@global.character_set_database = cp850; +SELECT @@global.character_set_database; +@@global.character_set_database +cp850 +SET @@global.character_set_database = hp8; +SELECT @@global.character_set_database; +@@global.character_set_database +hp8 +SET @@global.character_set_database = koi8r; +SELECT @@global.character_set_database; +@@global.character_set_database +koi8r +SET @@global.character_set_database = latin1; +SELECT @@global.character_set_database; +@@global.character_set_database +latin1 +SET @@global.character_set_database = latin2; +SELECT @@global.character_set_database; +@@global.character_set_database +latin2 +SET @@global.character_set_database = swe7; +SELECT @@global.character_set_database; +@@global.character_set_database +swe7 +SET @@global.character_set_database = ascii; +SELECT @@global.character_set_database; +@@global.character_set_database +ascii +SET @@global.character_set_database = ujis; +SELECT @@global.character_set_database; +@@global.character_set_database +ujis +SET @@global.character_set_database = sjis; +SELECT @@global.character_set_database; +@@global.character_set_database +sjis +SET @@global.character_set_database = hebrew; +SELECT @@global.character_set_database; +@@global.character_set_database +hebrew +SET @@global.character_set_database = tis620; +SELECT @@global.character_set_database; +@@global.character_set_database +tis620 +SET @@global.character_set_database = euckr; +SELECT @@global.character_set_database; +@@global.character_set_database +euckr +SET @@global.character_set_database = koi8u; +SELECT @@global.character_set_database; +@@global.character_set_database +koi8u +SET @@global.character_set_database = gb2312; +SELECT @@global.character_set_database; +@@global.character_set_database +gb2312 +SET @@global.character_set_database = greek; +SELECT @@global.character_set_database; +@@global.character_set_database +greek +SET @@global.character_set_database = cp1250; +SELECT @@global.character_set_database; +@@global.character_set_database +cp1250 +SET @@global.character_set_database = gbk; +SELECT @@global.character_set_database; +@@global.character_set_database +gbk +SET @@global.character_set_database = latin5; +SELECT @@global.character_set_database; +@@global.character_set_database +latin5 +SET @@global.character_set_database = armscii8; +SELECT @@global.character_set_database; +@@global.character_set_database +armscii8 +SET @@global.character_set_database = utf8; +SELECT @@global.character_set_database; +@@global.character_set_database +utf8 +SET @@global.character_set_database = ucs2; +SELECT @@global.character_set_database; +@@global.character_set_database +ucs2 +SET @@global.character_set_database = cp866; +SELECT @@global.character_set_database; +@@global.character_set_database +cp866 +SET @@global.character_set_database = keybcs2; +SELECT @@global.character_set_database; +@@global.character_set_database +keybcs2 +SET @@global.character_set_database = macce; +SELECT @@global.character_set_database; +@@global.character_set_database +macce +SET @@global.character_set_database = macroman; +SELECT @@global.character_set_database; +@@global.character_set_database +macroman +SET @@global.character_set_database = cp852; +SELECT @@global.character_set_database; +@@global.character_set_database +cp852 +SET @@global.character_set_database = latin7; +SELECT @@global.character_set_database; +@@global.character_set_database +latin7 +SET @@global.character_set_database = cp1251; +SELECT @@global.character_set_database; +@@global.character_set_database +cp1251 +SET @@global.character_set_database = cp1256; +SELECT @@global.character_set_database; +@@global.character_set_database +cp1256 +SET @@global.character_set_database = cp1257; +SELECT @@global.character_set_database; +@@global.character_set_database +cp1257 +SET @@global.character_set_database = binary; +SELECT @@global.character_set_database; +@@global.character_set_database +binary +SET @@global.character_set_database = geostd8; +SELECT @@global.character_set_database; +@@global.character_set_database +geostd8 +SET @@global.character_set_database = cp932; +SELECT @@global.character_set_database; +@@global.character_set_database +cp932 +SET @@global.character_set_database = eucjpms; +SELECT @@global.character_set_database; +@@global.character_set_database +eucjpms +'#--------------------FN_DYNVARS_012_08-------------------------#' +SET @@character_set_database = UTF8; +SELECT @@character_set_database; +@@character_set_database +utf8 +SET @@character_set_database = utf8; +SELECT @@character_set_database; +@@character_set_database +utf8 +SET @@global.character_set_database = uTf8; +SELECT @@global.character_set_database; +@@global.character_set_database +utf8 +'#--------------------FN_DYNVARS_012_09-------------------------#' +SET @@character_set_database = 1; +SELECT @@character_set_database; +@@character_set_database +big5 +SET @@character_set_database = 2; +SELECT @@character_set_database; +@@character_set_database +latin2 +SET @@character_set_database = 3; +SELECT @@character_set_database; +@@character_set_database +dec8 +SET @@character_set_database = 36; +SELECT @@character_set_database; +@@character_set_database +cp866 +SET @@character_set_database = 99; +SELECT @@character_set_database; +@@character_set_database +cp1250 +SET @@character_set_database = 100; +ERROR 42000: Unknown character set: '100' +SET @@global.character_set_database = 1; +SELECT @@global.character_set_database; +@@global.character_set_database +big5 +SET @@global.character_set_database = 2; +SELECT @@global.character_set_database; +@@global.character_set_database +latin2 +SET @@global.character_set_database = 3; +SELECT @@global.character_set_database; +@@global.character_set_database +dec8 +SET @@global.character_set_database = 36; +SELECT @@global.character_set_database; +@@global.character_set_database +cp866 +SET @@global.character_set_database = 99; +SELECT @@global.character_set_database; +@@global.character_set_database +cp1250 +SET @@global.character_set_database = 100; +ERROR 42000: Unknown character set: '100' +SET @total_charset = (SELECT count(*) FROM INFORMATION_SCHEMA.CHARACTER_SETS); +SELECT @total_charset; +@total_charset +36 +'Bug # 34843: character sets are mapped in such a way that 100 and following'; +'numbers gives error, and before 100 the 36 mapped wraps arround several times.'; +'#--------------------FN_DYNVARS_012_10-------------------------#' +SET @@character_set_database = "grek"; +ERROR 42000: Unknown character set: 'grek' +SET @@character_set_database = utf 8; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '8' at line 1 +SET @@character_set_database = 0; +ERROR 42000: Unknown character set: '0' +SET @@character_set_database = 1.1; +ERROR 42000: Incorrect argument type to variable 'character_set_database' +SET @@character_set_database = -1; +ERROR 42000: Unknown character set: '-1' +SET @@character_set_database = ''; +ERROR 42000: Unknown character set: '' +SET @@character_set_database = 'latin 2'; +ERROR 42000: Unknown character set: 'latin 2' +SET @@character_set_database = true; +SELECT @@character_set_database AS res_with_true; +res_with_true +big5 +SET @@character_set_database = ON; +ERROR 42000: Unknown character set: 'ON' +'#--------------------FN_DYNVARS_012_11-------------------------#' +SET @@global.character_set_database = abc; +ERROR 42000: Unknown character set: 'abc' +SET @@global.character_set_database = 1utf8; +ERROR 42000: Unknown character set: '1utf8' +SET @@global.character_set_database = 0; +ERROR 42000: Unknown character set: '0' +SET @@global.character_set_database = 1.1; +ERROR 42000: Incorrect argument type to variable 'character_set_database' +SET @@global.character_set_database = -1; +ERROR 42000: Unknown character set: '-1' +SET @@global.character_set_database = ''; +ERROR 42000: Unknown character set: '' +SET @@global.character_set_database = 'utf'; +ERROR 42000: Unknown character set: 'utf' +SET @@global.character_set_database = true; +SET @@global.character_set_database = ON; +ERROR 42000: Unknown character set: 'ON' +'#--------------------FN_DYNVARS_012_12-------------------------#' +SELECT @@global.character_set_database = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='character_set_database') AS res; +res +1 +SET @@global.character_set_database = 1; +SELECT @@global.character_set_database; +@@global.character_set_database +big5 +SELECT @@global.character_set_database = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='character_set_database') AS res; +res +1 +'#--------------------FN_DYNVARS_012_13-------------------------#' +SELECT @@character_set_database = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='character_set_database') AS res; +res +1 +SELECT @@local.character_set_database = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='character_set_database') AS res; +res +1 +SELECT @@session.character_set_database = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='character_set_database') AS res; +res +1 +SET @@global.character_set_database = @global_start_value; +SELECT @@global.character_set_database; +@@global.character_set_database +latin1 +SET @@session.character_set_database = @session_start_value; +SELECT @@session.character_set_database; +@@session.character_set_database +latin1 diff --git a/mysql-test/r/character_set_database_func.result b/mysql-test/r/character_set_database_func.result new file mode 100644 index 00000000000..bc512c73855 --- /dev/null +++ b/mysql-test/r/character_set_database_func.result @@ -0,0 +1,76 @@ +'#--------------------FN_DYNVARS_008_01-------------------------#' +SET @global_character_set_database = @@global.character_set_database; +SET @session_character_set_database = @@session.character_set_database; +SET @session_character_set_server = @@session.character_set_server; +SET @@global.character_set_database = utf8; +'connect (con1,localhost,root,,,,)' +'connection con1' +SELECT @@global.character_set_database; +@@global.character_set_database +utf8 +SELECT @@session.character_set_database; +@@session.character_set_database +latin1 +'Bug#35356: session character_set_database differ from global character_set_database' +'#--------------------FN_DYNVARS_008_02-------------------------#' +'connection default' +DROP TABLE IF EXISTS t1; +'--check if setting session character_set_database effects new databases' +SET @@session.character_set_server = utf8; +SELECT @@session.character_set_database; +@@session.character_set_database +latin1 +SET @@session.character_set_database = latin5; +SELECT @@session.character_set_database; +@@session.character_set_database +latin5 +CREATE DATABASE db1; +USE db1; +SHOW CREATE DATABASE db1; +Database Create Database +db1 CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET utf8 */ +CREATE TABLE t1(a INT, b VARCHAR(40)); +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(40) DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=utf8 +DROP TABLE t1; +DROP DATABASE db1; +'Bug#35357: character_set_database does not effects CREATE DATABASE without characater set' +'--ascii character set specified--' +CREATE DATABASE db1 CHARACTER SET ascii; +USE db1; +SHOW CREATE DATABASE db1; +Database Create Database +db1 CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET ascii */ +CREATE TABLE t1(a INT, b VARCHAR(40)); +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(40) DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=ascii +DROP TABLE t1; +DROP DATABASE db1; +'------Check if load data uses character_set_database----------' +USE test; +CREATE TABLE t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=MyISAM CHARACTER SET utf8; +'Verify with latin'; +SET @@session.character_set_database = latin1; +LOAD DATA INFILE 'MYSQLTEST_VARDIR/std_data/charset_utf8.txt' INTO TABLE t1; +SELECT count(*) FROM t1 WHERE CHAR_LENGTH(a)>1; +count(*) +2433 +TRUNCATE TABLE t1; +'Verify with utf8'; +SET @@session.character_set_database = utf8; +LOAD DATA INFILE 'MYSQLTEST_VARDIR/std_data/charset_utf8.txt' INTO TABLE t1; +SELECT count(*) FROM t1 WHERE CHAR_LENGTH(a)>1; +count(*) +1 +DROP TABLE IF EXISTS t1; +SET @@global.character_set_database = @global_character_set_database; +SET @@session.character_set_database = @session_character_set_database; +SET @@session.character_set_server = @session_character_set_server; diff --git a/mysql-test/r/character_set_filesystem_basic.result b/mysql-test/r/character_set_filesystem_basic.result new file mode 100644 index 00000000000..11f85528593 --- /dev/null +++ b/mysql-test/r/character_set_filesystem_basic.result @@ -0,0 +1,485 @@ +SET @global_start_value = @@global.character_set_filesystem; +SELECT @global_start_value; +@global_start_value +binary +SET @session_start_value = @@character_set_filesystem; +SELECT @session_start_value; +@session_start_value +binary +SET @session_start_value = @@local.character_set_filesystem; +SELECT @session_start_value; +@session_start_value +binary +SET @session_start_value = @@session.character_set_filesystem; +SELECT @session_start_value; +@session_start_value +binary +'#--------------------FN_DYNVARS_008_01------------------#' +SELECT character_set_filesystem; +ERROR 42S22: Unknown column 'character_set_filesystem' in 'field list' +SET character_set_filesystem=utf8; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +utf8 +SET global.character_set_filesystem=utf8; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'character_set_filesystem=utf8' at line 1 +SET session character_set_filesystem=utf8; +SELECT session character_set_filesystem; +ERROR 42S22: Unknown column 'session' in 'field list' +SET global character_set_filesystem=utf8; +SELECT global character_set_filesystem; +ERROR 42S22: Unknown column 'global' in 'field list' +'#--------------------FN_DYNVARS_008_02-------------------------#' +SET @@character_set_filesystem = latin5; +SET @@character_set_filesystem = DEFAULT; +SELECT @@character_set_filesystem AS DEFAULT_VALUE; +DEFAULT_VALUE +utf8 +SET @@global.character_set_filesystem = latin5; +SET @@global.character_set_filesystem = DEFAULT; +SELECT @@global.character_set_filesystem AS DEFAULT_VALUE; +DEFAULT_VALUE +binary +'#--------------------FN_DYNVARS_008_03-------------------------#' +SET @@session.character_set_filesystem = utf8; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +utf8 +SET @@global.character_set_filesystem = latin2; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +latin2 +SELECT @@session.character_set_filesystem AS res_is_utf8; +res_is_utf8 +utf8 +SET @@session.character_set_filesystem = latin5; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +latin5 +SELECT @@global.character_set_filesystem AS res_is_latin2; +res_is_latin2 +latin2 +SELECT @@global.character_set_filesystem= +@@session.character_set_filesystem AS res_is_false; +res_is_false +0 +'#--------------------FN_DYNVARS_008_04-------------------------#' +SELECT @@character_set_filesystem = @@session.character_set_filesystem AS res; +res +1 +SELECT @@character_set_filesystem = @@local.character_set_filesystem AS res; +res +1 +'#--------------------FN_DYNVARS_008_05-------------------------#' +SET @@character_set_filesystem = utf8 + latin2; +ERROR 42S22: Unknown column 'utf8' in 'field list' +'#--------------------FN_DYNVARS_008_06-------------------------#' +SET @@session.character_set_filesystem = big5; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +big5 +SET @@session.character_set_filesystem = dec8; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +dec8 +SET @@session.character_set_filesystem = cp850; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +cp850 +SET @@session.character_set_filesystem = hp8; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +hp8 +SET @@session.character_set_filesystem = koi8r; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +koi8r +SET @@session.character_set_filesystem = latin1; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +latin1 +SET @@session.character_set_filesystem = latin2; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +latin2 +SET @@session.character_set_filesystem = swe7; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +swe7 +SET @@session.character_set_filesystem = ascii; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +ascii +SET @@session.character_set_filesystem = ujis; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +ujis +SET @@session.character_set_filesystem = sjis; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +sjis +SET @@session.character_set_filesystem = hebrew; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +hebrew +SET @@session.character_set_filesystem = tis620; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +tis620 +SET @@session.character_set_filesystem = euckr; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +euckr +SET @@session.character_set_filesystem = koi8u; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +koi8u +SET @@session.character_set_filesystem = gb2312; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +gb2312 +SET @@session.character_set_filesystem = greek; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +greek +SET @@session.character_set_filesystem = cp1250; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +cp1250 +SET @@session.character_set_filesystem = gbk; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +gbk +SET @@session.character_set_filesystem = latin5; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +latin5 +SET @@session.character_set_filesystem = armscii8; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +armscii8 +SET @@session.character_set_filesystem = utf8; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +utf8 +SET @@session.character_set_filesystem = ucs2; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +ucs2 +SET @@session.character_set_filesystem = cp866; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +cp866 +SET @@session.character_set_filesystem = keybcs2; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +keybcs2 +SET @@session.character_set_filesystem = macce; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +macce +SET @@session.character_set_filesystem = macroman; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +macroman +SET @@session.character_set_filesystem = cp852; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +cp852 +SET @@session.character_set_filesystem = latin7; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +latin7 +SET @@session.character_set_filesystem = cp1251; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +cp1251 +SET @@session.character_set_filesystem = cp1256; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +cp1256 +SET @@session.character_set_filesystem = cp1257; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +cp1257 +SET @@session.character_set_filesystem = binary; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +binary +SET @@session.character_set_filesystem = geostd8; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +geostd8 +SET @@session.character_set_filesystem = cp932; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +cp932 +SET @@session.character_set_filesystem = eucjpms; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +eucjpms +'#--------------------FN_DYNVARS_008_07-------------------------#' +SET @@global.character_set_filesystem = big5; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +big5 +SET @@global.character_set_filesystem = dec8; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +dec8 +SET @@global.character_set_filesystem = cp850; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +cp850 +SET @@global.character_set_filesystem = hp8; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +hp8 +SET @@global.character_set_filesystem = koi8r; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +koi8r +SET @@global.character_set_filesystem = latin1; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +latin1 +SET @@global.character_set_filesystem = latin2; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +latin2 +SET @@global.character_set_filesystem = swe7; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +swe7 +SET @@global.character_set_filesystem = ascii; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +ascii +SET @@global.character_set_filesystem = ujis; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +ujis +SET @@global.character_set_filesystem = sjis; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +sjis +SET @@global.character_set_filesystem = hebrew; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +hebrew +SET @@global.character_set_filesystem = tis620; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +tis620 +SET @@global.character_set_filesystem = euckr; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +euckr +SET @@global.character_set_filesystem = koi8u; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +koi8u +SET @@global.character_set_filesystem = gb2312; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +gb2312 +SET @@global.character_set_filesystem = greek; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +greek +SET @@global.character_set_filesystem = cp1250; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +cp1250 +SET @@global.character_set_filesystem = gbk; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +gbk +SET @@global.character_set_filesystem = latin5; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +latin5 +SET @@global.character_set_filesystem = armscii8; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +armscii8 +SET @@global.character_set_filesystem = utf8; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +utf8 +SET @@global.character_set_filesystem = ucs2; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +ucs2 +SET @@global.character_set_filesystem = cp866; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +cp866 +SET @@global.character_set_filesystem = keybcs2; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +keybcs2 +SET @@global.character_set_filesystem = macce; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +macce +SET @@global.character_set_filesystem = macroman; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +macroman +SET @@global.character_set_filesystem = cp852; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +cp852 +SET @@global.character_set_filesystem = latin7; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +latin7 +SET @@global.character_set_filesystem = cp1251; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +cp1251 +SET @@global.character_set_filesystem = cp1256; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +cp1256 +SET @@global.character_set_filesystem = cp1257; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +cp1257 +SET @@global.character_set_filesystem = binary; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +binary +SET @@global.character_set_filesystem = geostd8; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +geostd8 +SET @@global.character_set_filesystem = cp932; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +cp932 +SET @@global.character_set_filesystem = eucjpms; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +eucjpms +'#--------------------FN_DYNVARS_008_08-------------------------#' +SET @@character_set_filesystem = UTF8; +SELECT @@character_set_filesystem; +@@character_set_filesystem +utf8 +SET @@character_set_filesystem = utf8; +SELECT @@character_set_filesystem; +@@character_set_filesystem +utf8 +SET @@character_set_filesystem = uTf8; +SELECT @@character_set_filesystem; +@@character_set_filesystem +utf8 +'#--------------------FN_DYNVARS_008_09-------------------------#' +SET @@character_set_filesystem = 1; +SELECT @@character_set_filesystem; +@@character_set_filesystem +big5 +SET @@character_set_filesystem = 2; +SELECT @@character_set_filesystem; +@@character_set_filesystem +latin2 +SET @@character_set_filesystem = 3; +SELECT @@character_set_filesystem; +@@character_set_filesystem +dec8 +SET @@character_set_filesystem = 36; +SELECT @@character_set_filesystem; +@@character_set_filesystem +cp866 +SET @@character_set_filesystem = 99; +SELECT @@character_set_filesystem; +@@character_set_filesystem +cp1250 +SET @@character_set_filesystem = 100; +ERROR 42000: Unknown character set: '100' +SET @total_charset = (SELECT count(*) FROM INFORMATION_SCHEMA.CHARACTER_SETS); +SELECT @total_charset; +@total_charset +36 +'Bug # 34843: character sets are mapped in such a way that 100 and following ' +'numbers give error, and before 100 the 36 mapped wraps arround several times.' +'#--------------------FN_DYNVARS_008_10-------------------------#' +SET @@character_set_filesystem = abc; +ERROR 42000: Unknown character set: 'abc' +SET @@character_set_filesystem = 1utf8; +ERROR 42000: Unknown character set: '1utf8' +SET @@character_set_filesystem = 0; +ERROR 42000: Unknown character set: '0' +SET @@character_set_filesystem = 1.1; +ERROR 42000: Incorrect argument type to variable 'character_set_filesystem' +SET @@character_set_filesystem = -1; +ERROR 42000: Unknown character set: '-1' +SET @@character_set_filesystem = ''; +ERROR 42000: Unknown character set: '' +SET @@character_set_filesystem = 'utf'; +ERROR 42000: Unknown character set: 'utf' +SET @@character_set_filesystem = true; +SELECT @@character_set_filesystem AS res_with_true; +res_with_true +big5 +SET @@character_set_filesystem = ON; +ERROR 42000: Unknown character set: 'ON' +'#--------------------FN_DYNVARS_008_11-------------------------#' +SET @@global.character_set_filesystem = abc; +ERROR 42000: Unknown character set: 'abc' +SET @@global.character_set_filesystem = 1utf8; +ERROR 42000: Unknown character set: '1utf8' +SET @@global.character_set_filesystem = 0; +ERROR 42000: Unknown character set: '0' +SET @@global.character_set_filesystem = 1.1; +ERROR 42000: Incorrect argument type to variable 'character_set_filesystem' +SET @@global.character_set_filesystem = -1; +ERROR 42000: Unknown character set: '-1' +SET @@global.character_set_filesystem = ''; +ERROR 42000: Unknown character set: '' +SET @@global.character_set_filesystem = 'utf'; +ERROR 42000: Unknown character set: 'utf' +SET @@global.character_set_filesystem = true; +SET @@global.character_set_filesystem = ON; +ERROR 42000: Unknown character set: 'ON' +'#--------------------FN_DYNVARS_008_12-------------------------#' +SELECT @@global.character_set_filesystem = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='character_set_filesystem') AS res; +res +1 +SET @@global.character_set_filesystem = 1; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +big5 +SELECT @@global.character_set_filesystem = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='character_set_filesystem') AS res; +res +1 +'#--------------------FN_DYNVARS_008_13-------------------------#' +SELECT @@character_set_filesystem = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='character_set_filesystem') AS res; +res +1 +SELECT @@local.character_set_filesystem = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='character_set_filesystem') AS res; +res +1 +SELECT @@session.character_set_filesystem = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='character_set_filesystem') AS res; +res +1 +SET @@global.character_set_filesystem = @global_start_value; +SELECT @@global.character_set_filesystem; +@@global.character_set_filesystem +binary +SET @@session.character_set_filesystem = @session_start_value; +SELECT @@session.character_set_filesystem; +@@session.character_set_filesystem +binary diff --git a/mysql-test/r/character_set_results_basic.result b/mysql-test/r/character_set_results_basic.result new file mode 100644 index 00000000000..71c01a3dc0d Binary files /dev/null and b/mysql-test/r/character_set_results_basic.result differ diff --git a/mysql-test/r/character_set_results_func.result b/mysql-test/r/character_set_results_func.result new file mode 100644 index 00000000000..d92821fdfa6 --- /dev/null +++ b/mysql-test/r/character_set_results_func.result @@ -0,0 +1,64 @@ +'#--------------------FN_DYNVARS_012_01-------------------------#' +SET @global_character_set_results = @@global.character_set_results; +SET @session_character_set_results = @@session.character_set_results; +SET @@global.character_set_results = utf8; +'connect (con1,localhost,root,,,,)' +'connection con1' +SELECT @@global.character_set_results; +@@global.character_set_results +utf8 +SELECT @@session.character_set_results; +@@session.character_set_results +utf8 +'#--------------------FN_DYNVARS_012_02-------------------------#' +'connection default' +DROP TABLE IF EXISTS t1; +CREATE TABLE t1(b CHAR(40) character set utf8); +SET NAMES utf8; +'----check string literals against different character_set_results---' +check if results are converted to character_set_results +SET @@session.character_set_results = greek; +SELECT 'ÐЂЃЄ' AS utf_text; +utf_text +???? +check effect of character_set_results when introducers are used +SET @@session.character_set_results = latin1; +SELECT _latin1'Müller' AS latin1_text; +latin1_text +Müller +SET @@session.character_set_results = ascii; +SELECT _latin1'Müller' AS latin1_text; +latin1_text +M?ller +check when we dont want any conversion +SET @@session.character_set_results = NULL; +SELECT 'ÐЂЃЄ' AS utf_text; +utf_text +ÐЂЃЄ +'---check results from table against different character_set_results--' +INSERT INTO t1 VALUES(_utf8'ÐЂЃЄ'); +INSERT INTO t1 VALUES('ФХЦЧШ'); +SET @@session.character_set_results = NULL; +SELECT b, CHAR_LENGTH(b) FROM t1; +b CHAR_LENGTH(b) +ÐЂЃЄ 4 +ФХЦЧШ 5 +SET @@session.character_set_results = utf8; +SELECT b, CHAR_LENGTH(b) FROM t1; +b CHAR_LENGTH(b) +ÐЂЃЄ 4 +ФХЦЧШ 5 +SET @@session.character_set_results = koi8r; +SELECT b, CHAR_LENGTH(b) FROM t1; +b CHAR_LENGTH(b) +³??? 4 +æèãþû 5 +SET @@session.character_set_results = cp1250; +SELECT b, CHAR_LENGTH(b) FROM t1; +b CHAR_LENGTH(b) +???? 4 +????? 5 +DROP TABLE t1; +'connection default;' +SET @@global.character_set_results = @global_character_set_results; +SET @@session.character_set_results = @session_character_set_results; diff --git a/mysql-test/r/character_set_server_basic.result b/mysql-test/r/character_set_server_basic.result new file mode 100644 index 00000000000..83545128a76 --- /dev/null +++ b/mysql-test/r/character_set_server_basic.result @@ -0,0 +1,504 @@ +SET @global_start_value = @@global.character_set_server; +SELECT @global_start_value; +@global_start_value +latin1 +SET @session_start_value = @@character_set_server; +SELECT @session_start_value; +@session_start_value +latin1 +SET @session_start_value = @@local.character_set_server; +SELECT @session_start_value; +@session_start_value +latin1 +SET @session_start_value = @@session.character_set_server; +SELECT @session_start_value; +@session_start_value +latin1 +'#--------------------FN_DYNVARS_009_01------------------#' +SELECT character_set_server; +ERROR 42S22: Unknown column 'character_set_server' in 'field list' +SET character_set_server=utf8; +SELECT @@session.character_set_server; +@@session.character_set_server +utf8 +SET global.character_set_server=utf8; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'character_set_server=utf8' at line 1 +SET session character_set_server=utf8; +SELECT session character_set_server; +ERROR 42S22: Unknown column 'session' in 'field list' +SET global character_set_server=utf8; +SELECT global character_set_server; +ERROR 42S22: Unknown column 'global' in 'field list' +'#--------------------FN_DYNVARS_009_02-------------------------#' +SET @@character_set_server = latin5; +SET @@character_set_server = DEFAULT; +SELECT @@character_set_server AS DEFAULT_VALUE; +DEFAULT_VALUE +utf8 +SET @@global.character_set_server = latin5; +SET @@global.character_set_server = DEFAULT; +SELECT @@global.character_set_server; +@@global.character_set_server +latin1 +'#--------------------FN_DYNVARS_009_03-------------------------#' +SET @@session.character_set_server = utf8; +SELECT @@session.character_set_server; +@@session.character_set_server +utf8 +SET @@global.character_set_server = latin2; +SELECT @@global.character_set_server; +@@global.character_set_server +latin2 +SELECT @@session.character_set_server AS res_is_utf8; +res_is_utf8 +utf8 +SET @@session.character_set_server = latin5; +SELECT @@session.character_set_server; +@@session.character_set_server +latin5 +SELECT @@global.character_set_server AS res_is_latin2; +res_is_latin2 +latin2 +SELECT @@global.character_set_server=@@session.character_set_server +AS res_is_false; +res_is_false +0 +'#--------------------FN_DYNVARS_009_04-------------------------#' +SELECT @@character_set_server = @@session.character_set_server AS res; +res +1 +SELECT @@character_set_server = @@local.character_set_server AS res; +res +1 +'#--------------------FN_DYNVARS_009_05-------------------------#' +SET @@character_set_server = utf8 + latin2; +ERROR 42S22: Unknown column 'utf8' in 'field list' +'#--------------------FN_DYNVARS_009_06-------------------------#' +SET @@session.character_set_server = big5; +SELECT @@session.character_set_server; +@@session.character_set_server +big5 +SET @@session.character_set_server = dec8; +SELECT @@session.character_set_server; +@@session.character_set_server +dec8 +SET @@session.character_set_server = cp850; +SELECT @@session.character_set_server; +@@session.character_set_server +cp850 +SET @@session.character_set_server = hp8; +SELECT @@session.character_set_server; +@@session.character_set_server +hp8 +SET @@session.character_set_server = koi8r; +SELECT @@session.character_set_server; +@@session.character_set_server +koi8r +SET @@session.character_set_server = latin1; +SELECT @@session.character_set_server; +@@session.character_set_server +latin1 +SET @@session.character_set_server = latin2; +SELECT @@session.character_set_server; +@@session.character_set_server +latin2 +SET @@session.character_set_server = swe7; +SELECT @@session.character_set_server; +@@session.character_set_server +swe7 +SET @@session.character_set_server = ascii; +SELECT @@session.character_set_server; +@@session.character_set_server +ascii +SET @@session.character_set_server = ujis; +SELECT @@session.character_set_server; +@@session.character_set_server +ujis +SET @@session.character_set_server = sjis; +SELECT @@session.character_set_server; +@@session.character_set_server +sjis +SET @@session.character_set_server = hebrew; +SELECT @@session.character_set_server; +@@session.character_set_server +hebrew +SET @@session.character_set_server = tis620; +SELECT @@session.character_set_server; +@@session.character_set_server +tis620 +SET @@session.character_set_server = euckr; +SELECT @@session.character_set_server; +@@session.character_set_server +euckr +SET @@session.character_set_server = koi8u; +SELECT @@session.character_set_server; +@@session.character_set_server +koi8u +SET @@session.character_set_server = gb2312; +SELECT @@session.character_set_server; +@@session.character_set_server +gb2312 +SET @@session.character_set_server = greek; +SELECT @@session.character_set_server; +@@session.character_set_server +greek +SET @@session.character_set_server = cp1250; +SELECT @@session.character_set_server; +@@session.character_set_server +cp1250 +SET @@session.character_set_server = gbk; +SELECT @@session.character_set_server; +@@session.character_set_server +gbk +SET @@session.character_set_server = latin5; +SELECT @@session.character_set_server; +@@session.character_set_server +latin5 +SET @@session.character_set_server = armscii8; +SELECT @@session.character_set_server; +@@session.character_set_server +armscii8 +SET @@session.character_set_server = utf8; +SELECT @@session.character_set_server; +@@session.character_set_server +utf8 +SET @@session.character_set_server = ucs2; +SELECT @@session.character_set_server; +@@session.character_set_server +ucs2 +SET @@session.character_set_server = cp866; +SELECT @@session.character_set_server; +@@session.character_set_server +cp866 +SET @@session.character_set_server = keybcs2; +SELECT @@session.character_set_server; +@@session.character_set_server +keybcs2 +SET @@session.character_set_server = macce; +SELECT @@session.character_set_server; +@@session.character_set_server +macce +SET @@session.character_set_server = macroman; +SELECT @@session.character_set_server; +@@session.character_set_server +macroman +SET @@session.character_set_server = cp852; +SELECT @@session.character_set_server; +@@session.character_set_server +cp852 +SET @@session.character_set_server = latin7; +SELECT @@session.character_set_server; +@@session.character_set_server +latin7 +SET @@session.character_set_server = cp1251; +SELECT @@session.character_set_server; +@@session.character_set_server +cp1251 +SET @@session.character_set_server = cp1256; +SELECT @@session.character_set_server; +@@session.character_set_server +cp1256 +SET @@session.character_set_server = cp1257; +SELECT @@session.character_set_server; +@@session.character_set_server +cp1257 +SET @@session.character_set_server = binary; +SELECT @@session.character_set_server; +@@session.character_set_server +binary +SET @@session.character_set_server = geostd8; +SELECT @@session.character_set_server; +@@session.character_set_server +geostd8 +SET @@session.character_set_server = cp932; +SELECT @@session.character_set_server; +@@session.character_set_server +cp932 +SET @@session.character_set_server = eucjpms; +SELECT @@session.character_set_server; +@@session.character_set_server +eucjpms +'#--------------------FN_DYNVARS_009_07-------------------------#' +SET @@global.character_set_server = big5; +SELECT @@global.character_set_server; +@@global.character_set_server +big5 +SET @@global.character_set_server = dec8; +SELECT @@global.character_set_server; +@@global.character_set_server +dec8 +SET @@global.character_set_server = cp850; +SELECT @@global.character_set_server; +@@global.character_set_server +cp850 +SET @@global.character_set_server = hp8; +SELECT @@global.character_set_server; +@@global.character_set_server +hp8 +SET @@global.character_set_server = koi8r; +SELECT @@global.character_set_server; +@@global.character_set_server +koi8r +SET @@global.character_set_server = latin1; +SELECT @@global.character_set_server; +@@global.character_set_server +latin1 +SET @@global.character_set_server = latin2; +SELECT @@global.character_set_server; +@@global.character_set_server +latin2 +SET @@global.character_set_server = swe7; +SELECT @@global.character_set_server; +@@global.character_set_server +swe7 +SET @@global.character_set_server = ascii; +SELECT @@global.character_set_server; +@@global.character_set_server +ascii +SET @@global.character_set_server = ujis; +SELECT @@global.character_set_server; +@@global.character_set_server +ujis +SET @@global.character_set_server = sjis; +SELECT @@global.character_set_server; +@@global.character_set_server +sjis +SET @@global.character_set_server = hebrew; +SELECT @@global.character_set_server; +@@global.character_set_server +hebrew +SET @@global.character_set_server = tis620; +SELECT @@global.character_set_server; +@@global.character_set_server +tis620 +SET @@global.character_set_server = euckr; +SELECT @@global.character_set_server; +@@global.character_set_server +euckr +SET @@global.character_set_server = koi8u; +SELECT @@global.character_set_server; +@@global.character_set_server +koi8u +SET @@global.character_set_server = gb2312; +SELECT @@global.character_set_server; +@@global.character_set_server +gb2312 +SET @@global.character_set_server = greek; +SELECT @@global.character_set_server; +@@global.character_set_server +greek +SET @@global.character_set_server = cp1250; +SELECT @@global.character_set_server; +@@global.character_set_server +cp1250 +SET @@global.character_set_server = gbk; +SELECT @@global.character_set_server; +@@global.character_set_server +gbk +SET @@global.character_set_server = latin5; +SELECT @@global.character_set_server; +@@global.character_set_server +latin5 +SET @@global.character_set_server = armscii8; +SELECT @@global.character_set_server; +@@global.character_set_server +armscii8 +SET @@global.character_set_server = utf8; +SELECT @@global.character_set_server; +@@global.character_set_server +utf8 +SET @@global.character_set_server = ucs2; +SELECT @@global.character_set_server; +@@global.character_set_server +ucs2 +SET @@global.character_set_server = cp866; +SELECT @@global.character_set_server; +@@global.character_set_server +cp866 +SET @@global.character_set_server = keybcs2; +SELECT @@global.character_set_server; +@@global.character_set_server +keybcs2 +SET @@global.character_set_server = macce; +SELECT @@global.character_set_server; +@@global.character_set_server +macce +SET @@global.character_set_server = macroman; +SELECT @@global.character_set_server; +@@global.character_set_server +macroman +SET @@global.character_set_server = cp852; +SELECT @@global.character_set_server; +@@global.character_set_server +cp852 +SET @@global.character_set_server = latin7; +SELECT @@global.character_set_server; +@@global.character_set_server +latin7 +SET @@global.character_set_server = cp1251; +SELECT @@global.character_set_server; +@@global.character_set_server +cp1251 +SET @@global.character_set_server = cp1256; +SELECT @@global.character_set_server; +@@global.character_set_server +cp1256 +SET @@global.character_set_server = cp1257; +SELECT @@global.character_set_server; +@@global.character_set_server +cp1257 +SET @@global.character_set_server = binary; +SELECT @@global.character_set_server; +@@global.character_set_server +binary +SET @@global.character_set_server = geostd8; +SELECT @@global.character_set_server; +@@global.character_set_server +geostd8 +SET @@global.character_set_server = cp932; +SELECT @@global.character_set_server; +@@global.character_set_server +cp932 +SET @@global.character_set_server = eucjpms; +SELECT @@global.character_set_server; +@@global.character_set_server +eucjpms +'#--------------------FN_DYNVARS_009_08-------------------------#' +SET @@character_set_server = UTF8; +SELECT @@character_set_server; +@@character_set_server +utf8 +SET @@character_set_server = utf8; +SELECT @@character_set_server; +@@character_set_server +utf8 +SET @@global.character_set_server = uTf8; +SELECT @@global.character_set_server; +@@global.character_set_server +utf8 +'#--------------------FN_DYNVARS_009_09-------------------------#' +SET @@character_set_server = 1; +SELECT @@character_set_server; +@@character_set_server +big5 +SET @@character_set_server = 2; +SELECT @@character_set_server; +@@character_set_server +latin2 +SET @@character_set_server = 3; +SELECT @@character_set_server; +@@character_set_server +dec8 +SET @@character_set_server = 36; +SELECT @@character_set_server; +@@character_set_server +cp866 +SET @@character_set_server = 99; +SELECT @@character_set_server; +@@character_set_server +cp1250 +SET @@character_set_server = 100; +ERROR 42000: Unknown character set: '100' +SET @@global.character_set_server = 1; +SELECT @@global.character_set_server; +@@global.character_set_server +big5 +SET @@global.character_set_server = 2; +SELECT @@global.character_set_server; +@@global.character_set_server +latin2 +SET @@global.character_set_server = 36; +SELECT @@global.character_set_server; +@@global.character_set_server +cp866 +SET @@global.character_set_server = 99; +SELECT @@global.character_set_server; +@@global.character_set_server +cp1250 +SET @@global.character_set_server = 100; +ERROR 42000: Unknown character set: '100' +SET @total_charset = (SELECT count(*) FROM INFORMATION_SCHEMA.CHARACTER_SETS); +SELECT @total_charset; +@total_charset +36 +'Bug # 34843: character sets are mapped in such a way that 100 and following '; +'numbers gives error, and before 100 the 36 mapped wraps arround '; +'several times.'; +'#--------------------FN_DYNVARS_009_10-------------------------#' +SET @@character_set_server = abc; +ERROR 42000: Unknown character set: 'abc' +SET @@character_set_server = 1utf8; +ERROR 42000: Unknown character set: '1utf8' +SET @@character_set_server = 0; +ERROR 42000: Unknown character set: '0' +SET @@character_set_server = 1.1; +ERROR 42000: Incorrect argument type to variable 'character_set_server' +SET @@character_set_server = -1; +ERROR 42000: Unknown character set: '-1' +SET @@character_set_server = ''; +ERROR 42000: Unknown character set: '' +SET @@character_set_server = 'utf'; +ERROR 42000: Unknown character set: 'utf' +SET @@character_set_server = true; +SELECT @@character_set_server AS res_with_true; +res_with_true +big5 +SET @@character_set_server = ON; +ERROR 42000: Unknown character set: 'ON' +'#--------------------FN_DYNVARS_009_11-------------------------#' +SET @@global.character_set_server = abc; +ERROR 42000: Unknown character set: 'abc' +SET @@global.character_set_server = 1utf8; +ERROR 42000: Unknown character set: '1utf8' +SET @@global.character_set_server = 0; +ERROR 42000: Unknown character set: '0' +SET @@global.character_set_server = 1.1; +ERROR 42000: Incorrect argument type to variable 'character_set_server' +SET @@global.character_set_server = -1; +ERROR 42000: Unknown character set: '-1' +SET @@global.character_set_server = ''; +ERROR 42000: Unknown character set: '' +SET @@global.character_set_server = 'utf'; +ERROR 42000: Unknown character set: 'utf' +SET @@global.character_set_server = true; +SET @@global.character_set_server = ON; +ERROR 42000: Unknown character set: 'ON' +'#--------------------FN_DYNVARS_009_12-------------------------#' +SELECT @@global.character_set_server = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='character_set_server') AS res; +res +1 +SET @@global.character_set_server = 1; +SELECT @@global.character_set_server; +@@global.character_set_server +big5 +SELECT @@global.character_set_server = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='character_set_server') AS res; +res +1 +'#--------------------FN_DYNVARS_009_13-------------------------#' +SELECT @@character_set_server = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='character_set_server') AS res; +res +1 +SELECT @@local.character_set_server = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='character_set_server') AS res; +res +1 +SELECT @@session.character_set_server = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='character_set_server') AS res; +res +1 +SET @@global.character_set_server = @global_start_value; +SELECT @@global.character_set_server; +@@global.character_set_server +latin1 +SET @@session.character_set_server = @session_start_value; +SELECT @@session.character_set_server; +@@session.character_set_server +latin1 diff --git a/mysql-test/r/character_set_server_func.result b/mysql-test/r/character_set_server_func.result new file mode 100644 index 00000000000..3731f27adae --- /dev/null +++ b/mysql-test/r/character_set_server_func.result @@ -0,0 +1,65 @@ +'#--------------------FN_DYNVARS_009_01-------------------------#' +SET @global_character_set_server = @@global.character_set_server; +SET @session_character_set_server = @@session.character_set_server; +SET @@global.character_set_server = utf8; +'connect (con1,localhost,root,,,,)' +'connection con1' +SELECT @@global.character_set_server; +@@global.character_set_server +utf8 +SELECT @@session.character_set_server; +@@session.character_set_server +utf8 +'#--------------------FN_DYNVARS_009_02-------------------------#' +'connection default' +'---global character_set_server should not effects current connection---' +SET @@global.character_set_server = utf8; +CREATE DATABASE db1; +USE db1; +SHOW CREATE DATABASE db1; +Database Create Database +db1 CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET latin1 */ +DROP DATABASE db1; +select @@character_set_database; +@@character_set_database +latin1 +'---session character_set_server should effects current connection---' +SET @@session.character_set_server = utf8; +CREATE DATABASE db1; +USE db1; +SHOW CREATE DATABASE db1; +Database Create Database +db1 CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET utf8 */ +DROP DATABASE db1; +select @@character_set_database; +@@character_set_database +utf8 +'----test with new connection----' +'connect (con1,localhost,root,,,,)' +'connection con1' +SELECT @@session.character_set_server; +@@session.character_set_server +utf8 +'----------character set not specified---------' +CREATE DATABASE db1; +USE db1; +SHOW CREATE DATABASE db1; +Database Create Database +db1 CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET utf8 */ +DROP DATABASE db1; +SELECT @@character_set_database; +@@character_set_database +utf8 +'----------ascii character set specified----------' +CREATE DATABASE db1 character set ascii; +USE db1; +SHOW CREATE DATABASE db1; +Database Create Database +db1 CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET ascii */ +DROP DATABASE db1; +select @@character_set_database; +@@character_set_database +utf8 +'connection default;' +SET @@global.character_set_server = @global_character_set_server; +SET @@session.character_set_server = @session_character_set_server; diff --git a/mysql-test/r/character_set_system_basic.result b/mysql-test/r/character_set_system_basic.result new file mode 100644 index 00000000000..9f4b68ae861 --- /dev/null +++ b/mysql-test/r/character_set_system_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_003_01----------------------#' +SELECT COUNT(@@GLOBAL.character_set_system); +COUNT(@@GLOBAL.character_set_system) +1 +1 Expected +'#---------------------BS_STVARS_003_02----------------------#' +SET @@GLOBAL.character_set_system=1; +ERROR HY000: Variable 'character_set_system' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.character_set_system); +COUNT(@@GLOBAL.character_set_system) +1 +1 Expected +'#---------------------BS_STVARS_003_03----------------------#' +SELECT @@GLOBAL.character_set_system = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='character_set_system'; +@@GLOBAL.character_set_system = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.character_set_system); +COUNT(@@GLOBAL.character_set_system) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='character_set_system'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_003_04----------------------#' +SELECT @@character_set_system = @@GLOBAL.character_set_system; +@@character_set_system = @@GLOBAL.character_set_system +1 +1 Expected +'#---------------------BS_STVARS_003_05----------------------#' +SELECT COUNT(@@character_set_system); +COUNT(@@character_set_system) +1 +1 Expected +SELECT COUNT(@@local.character_set_system); +ERROR HY000: Variable 'character_set_system' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.character_set_system); +ERROR HY000: Variable 'character_set_system' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.character_set_system); +COUNT(@@GLOBAL.character_set_system) +1 +1 Expected +SELECT character_set_system = @@SESSION.character_set_system; +ERROR 42S22: Unknown column 'character_set_system' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/client_xml.result b/mysql-test/r/client_xml.result index ed5e8f2c1b8..6e9857c2d6d 100644 --- a/mysql-test/r/client_xml.result +++ b/mysql-test/r/client_xml.result @@ -1,3 +1,5 @@ +set @old_concurrent_insert= @@global.concurrent_insert; +set @@global.concurrent_insert= 0; create table t1 ( `a&b` int, `a 120; +@total_collations > 120 +1 +'#--------------------FN_DYNVARS_015_10-------------------------#' +SET @@collation_connection = latin7_binary; +ERROR HY000: Unknown collation: 'latin7_binary' +SET @@collation_connection = 'eucjpms_japanese_cs'; +ERROR HY000: Unknown collation: 'eucjpms_japanese_cs' +SET @@collation_connection = 0; +ERROR HY000: Unknown collation: '0' +SET @@collation_connection = 1.01; +ERROR 42000: Incorrect argument type to variable 'collation_connection' +SET @@collation_connection = -1; +ERROR HY000: Unknown collation: '-1' +SET @@collation_connection = ''; +ERROR HY000: Unknown collation: '' +SET @@collation_connection = ' eucjpms_bin'; +ERROR HY000: Unknown collation: ' eucjpms_bin' +SET @@collation_connection = true; +SELECT @@collation_connection AS res_with_true; +res_with_true +big5_chinese_ci +SET @@collation_connection = ON; +ERROR HY000: Unknown collation: 'ON' +'#--------------------FN_DYNVARS_015_11-------------------------#' +SET @@global.collation_connection = latin7_binary; +ERROR HY000: Unknown collation: 'latin7_binary' +SET @@global.collation_connection = 'eucjpms_japanese_cs'; +ERROR HY000: Unknown collation: 'eucjpms_japanese_cs' +SET @@global.collation_connection = 0; +ERROR HY000: Unknown collation: '0' +SET @@global.collation_connection = 1.1; +ERROR 42000: Incorrect argument type to variable 'collation_connection' +SET @@global.collation_connection = -1; +ERROR HY000: Unknown collation: '-1' +SET @@global.collation_connection = ""; +ERROR HY000: Unknown collation: '' +SET @@global.collation_connection = ' eucjpms_bin'; +ERROR HY000: Unknown collation: ' eucjpms_bin' +SET @@global.collation_connection = true; +SET @@global.collation_connection = ON; +ERROR HY000: Unknown collation: 'ON' +'#--------------------FN_DYNVARS_015_12-------------------------#' +SELECT @@global.collation_connection = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='collation_connection') AS res; +res +1 +SET @@global.collation_connection = 1; +SELECT @@global.collation_connection; +@@global.collation_connection +big5_chinese_ci +SELECT @@global.collation_connection = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='collation_connection') AS res; +res +1 +'#--------------------FN_DYNVARS_015_13-------------------------#' +SELECT @@collation_connection = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='collation_connection') AS res; +res +1 +SELECT @@local.collation_connection = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='collation_connection') AS res; +res +1 +SELECT @@session.collation_connection = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='collation_connection') AS res; +res +1 +SET @@global.collation_connection = @global_start_value; +SELECT @@global.collation_connection; +@@global.collation_connection +latin1_swedish_ci +SET @@session.collation_connection = @session_start_value; +SELECT @@session.collation_connection; +@@session.collation_connection +latin1_swedish_ci diff --git a/mysql-test/r/collation_connection_func.result b/mysql-test/r/collation_connection_func.result new file mode 100644 index 00000000000..18f82dc60e1 --- /dev/null +++ b/mysql-test/r/collation_connection_func.result @@ -0,0 +1,60 @@ +'#--------------------FN_DYNVARS_015_01-------------------------#' +SET @global_collation_connection = @@global.collation_connection; +SET @session_collation_connection = @@session.collation_connection; +SET @@global.collation_connection = latin1_danish_ci; +'connect (con1,localhost,root,,,,)' +'connection con1' +SELECT @@global.collation_connection; +@@global.collation_connection +latin1_danish_ci +SELECT @@session.collation_connection; +@@session.collation_connection +latin1_danish_ci +'#--------------------FN_DYNVARS_015_02-------------------------#' +'connection default' +DROP TABLE IF EXISTS t1; +'----check if collation_connection update character_set_connection---' +SET @@session.collation_connection = utf8_spanish_ci; +SELECT @@collation_connection, @@character_set_database; +@@collation_connection @@character_set_database +utf8_spanish_ci latin1 +'---check if collation_connection works for literal string comparision--' +SET @@session.collation_connection = latin1_swedish_ci; +SELECT 'mysql'='MySql'; +'mysql'='MySql' +1 +SELECT _latin2'mysql' COLLATE latin2_general_ci='MySql'; +_latin2'mysql' COLLATE latin2_general_ci='MySql' +1 +SELECT _utf8'mysql'=_utf8'MySql' COLLATE utf8_unicode_ci; +_utf8'mysql'=_utf8'MySql' COLLATE utf8_unicode_ci +1 +SET @@session.collation_connection = latin1_general_cs; +SELECT 'mysql'='MySql'; +'mysql'='MySql' +0 +SELECT _latin2'mysql'COLLATE latin2_general_ci='MySql'; +_latin2'mysql'COLLATE latin2_general_ci='MySql' +1 +SELECT _utf8'mysql'COLLATE utf8_danish_ci=_utf8'MySql'COLLATE utf8_unicode_ci; +ERROR HY000: Illegal mix of collations (utf8_danish_ci,EXPLICIT) and (utf8_unicode_ci,EXPLICIT) for operation '=' +'---collation_connection does not effect comparision with column---' +CREATE TABLE t1(a CHAR(20)CHARACTER SET latin1 COLLATE latin1_german2_ci); +INSERT INTO t1 VALUES('Müller'); +SET @@session.collation_connection = latin2_hungarian_ci; +SELECT * FROM t1 WHERE a='Müller'; +a +Müller +SET @@session.collation_connection = latin1_general_cs; +SELECT * FROM t1 WHERE a='müller'; +a +Müller +'check if string literal collation is used'; +SELECT * FROM t1 WHERE a='müller' COLLATE latin1_general_cs; +a +SELECT * FROM t1 WHERE a='müller' COLLATE latin1_german1_ci; +a +Müller +DROP TABLE t1; +SET @@global.collation_connection = @global_collation_connection; +SET @@session.collation_connection = @session_collation_connection; diff --git a/mysql-test/r/collation_database_basic.result b/mysql-test/r/collation_database_basic.result new file mode 100644 index 00000000000..d4375b7c8e4 --- /dev/null +++ b/mysql-test/r/collation_database_basic.result @@ -0,0 +1,1224 @@ +SET @global_start_value = @@global.collation_database; +SELECT @global_start_value; +@global_start_value +latin1_swedish_ci +SET @session_start_value = @@collation_database; +SELECT @session_start_value; +@session_start_value +latin1_swedish_ci +SET @session_start_value = @@local.collation_database; +SELECT @session_start_value; +@session_start_value +latin1_swedish_ci +SET @session_start_value = @@session.collation_database; +SELECT @session_start_value; +@session_start_value +latin1_swedish_ci +'#--------------------FN_DYNVARS_016_01------------------#' +SELECT collation_database; +ERROR 42S22: Unknown column 'collation_database' in 'field list' +SET collation_database=utf8_unicode_ci; +SELECT @@session.collation_database; +@@session.collation_database +utf8_unicode_ci +SET global.collation_database=utf8_unicode_ci; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'collation_database=utf8_unicode_ci' at line 1 +SET session collation_database=utf8_unicode_ci; +SELECT session collation_database; +ERROR 42S22: Unknown column 'session' in 'field list' +SET global collation_database=utf8_unicode_ci; +SELECT global collation_database; +ERROR 42S22: Unknown column 'global' in 'field list' +'#--------------------FN_DYNVARS_016_02-------------------------#' +SET @@collation_database = latin1_bin; +SET @@collation_database = DEFAULT; +SELECT @@collation_database AS DEFAULT_VALUE; +DEFAULT_VALUE +utf8_unicode_ci +SET @@global.collation_database = latin1_bin; +SET @@global.collation_database = DEFAULT; +SELECT @@global.collation_database; +@@global.collation_database +latin1_swedish_ci +'#--------------------FN_DYNVARS_016_03-------------------------#' +SET @@session.collation_database = utf8_polish_ci; +SELECT @@session.collation_database; +@@session.collation_database +utf8_polish_ci +SET @@global.collation_database = latin7_general_ci; +SELECT @@global.collation_database; +@@global.collation_database +latin7_general_ci +SELECT @@session.collation_database AS res_is_utf8_polish_ci; +res_is_utf8_polish_ci +utf8_polish_ci +SET @@session.collation_database = latin7_bin; +SELECT @@session.collation_database; +@@session.collation_database +latin7_bin +SELECT @@global.collation_database AS res_is_latin7_general_ci; +res_is_latin7_general_ci +latin7_general_ci +SELECT @@global.collation_database=@@session.collation_database AS res_is_false; +res_is_false +0 +'#--------------------FN_DYNVARS_016_04-------------------------#' +SELECT @@collation_database = @@session.collation_database AS res; +res +1 +SELECT @@collation_database = @@local.collation_database AS res; +res +1 +'#--------------------FN_DYNVARS_016_05-------------------------#' +SET @@collation_database = latin7_general_ci + latin7_general_cs; +ERROR 42S22: Unknown column 'latin7_general_ci' in 'field list' +'#--------------------FN_DYNVARS_016_06-------------------------#' +SET @@session.collation_database = big5_chinese_ci; +SELECT @@session.collation_database; +@@session.collation_database +big5_chinese_ci +SET @@session.collation_database = big5_bin; +SELECT @@session.collation_database; +@@session.collation_database +big5_bin +SET @@session.collation_database = dec8_swedish_ci; +SELECT @@session.collation_database; +@@session.collation_database +dec8_swedish_ci +SET @@session.collation_database = dec8_bin; +SELECT @@session.collation_database; +@@session.collation_database +dec8_bin +SET @@session.collation_database = cp850_general_ci; +SELECT @@session.collation_database; +@@session.collation_database +cp850_general_ci +SET @@session.collation_database = cp850_bin; +SELECT @@session.collation_database; +@@session.collation_database +cp850_bin +SET @@session.collation_database = hp8_english_ci; +SELECT @@session.collation_database; +@@session.collation_database +hp8_english_ci +SET @@session.collation_database = hp8_bin; +SELECT @@session.collation_database; +@@session.collation_database +hp8_bin +SET @@session.collation_database = koi8r_general_ci; +SELECT @@session.collation_database; +@@session.collation_database +koi8r_general_ci +SET @@session.collation_database = koi8r_bin; +SELECT @@session.collation_database; +@@session.collation_database +koi8r_bin +SET @@session.collation_database = latin1_german1_ci; +SELECT @@session.collation_database; +@@session.collation_database +latin1_german1_ci +SET @@session.collation_database = latin1_swedish_ci; +SELECT @@session.collation_database; +@@session.collation_database +latin1_swedish_ci +SET @@session.collation_database = latin1_danish_ci; +SELECT @@session.collation_database; +@@session.collation_database +latin1_danish_ci +SET @@session.collation_database = latin1_german2_ci; +SELECT @@session.collation_database; +@@session.collation_database +latin1_german2_ci +SET @@session.collation_database = latin1_bin; +SELECT @@session.collation_database; +@@session.collation_database +latin1_bin +SET @@session.collation_database = latin1_general_ci; +SELECT @@session.collation_database; +@@session.collation_database +latin1_general_ci +SET @@session.collation_database = latin1_general_cs; +SELECT @@session.collation_database; +@@session.collation_database +latin1_general_cs +SET @@session.collation_database = latin1_spanish_ci; +SELECT @@session.collation_database; +@@session.collation_database +latin1_spanish_ci +SET @@session.collation_database = latin2_czech_cs; +SELECT @@session.collation_database; +@@session.collation_database +latin2_czech_cs +SET @@session.collation_database = latin2_general_ci; +SELECT @@session.collation_database; +@@session.collation_database +latin2_general_ci +SET @@session.collation_database = latin2_hungarian_ci; +SELECT @@session.collation_database; +@@session.collation_database +latin2_hungarian_ci +SET @@session.collation_database = latin2_croatian_ci; +SELECT @@session.collation_database; +@@session.collation_database +latin2_croatian_ci +SET @@session.collation_database = latin2_bin; +SELECT @@session.collation_database; +@@session.collation_database +latin2_bin +SET @@session.collation_database = swe7_swedish_ci; +SELECT @@session.collation_database; +@@session.collation_database +swe7_swedish_ci +SET @@session.collation_database = swe7_bin; +SELECT @@session.collation_database; +@@session.collation_database +swe7_bin +SET @@session.collation_database = ascii_general_ci; +SELECT @@session.collation_database; +@@session.collation_database +ascii_general_ci +SET @@session.collation_database = ascii_bin; +SELECT @@session.collation_database; +@@session.collation_database +ascii_bin +SET @@session.collation_database = ujis_japanese_ci; +SELECT @@session.collation_database; +@@session.collation_database +ujis_japanese_ci +SET @@session.collation_database = ujis_bin; +SELECT @@session.collation_database; +@@session.collation_database +ujis_bin +SET @@session.collation_database = sjis_japanese_ci; +SELECT @@session.collation_database; +@@session.collation_database +sjis_japanese_ci +SET @@session.collation_database = sjis_bin; +SELECT @@session.collation_database; +@@session.collation_database +sjis_bin +SET @@session.collation_database = hebrew_general_ci; +SELECT @@session.collation_database; +@@session.collation_database +hebrew_general_ci +SET @@session.collation_database = hebrew_bin; +SELECT @@session.collation_database; +@@session.collation_database +hebrew_bin +SET @@session.collation_database = tis620_thai_ci; +SELECT @@session.collation_database; +@@session.collation_database +tis620_thai_ci +SET @@session.collation_database = tis620_bin; +SELECT @@session.collation_database; +@@session.collation_database +tis620_bin +SET @@session.collation_database = euckr_korean_ci; +SELECT @@session.collation_database; +@@session.collation_database +euckr_korean_ci +SET @@session.collation_database = euckr_bin; +SELECT @@session.collation_database; +@@session.collation_database +euckr_bin +SET @@session.collation_database = koi8u_general_ci; +SELECT @@session.collation_database; +@@session.collation_database +koi8u_general_ci +SET @@session.collation_database = koi8u_bin; +SELECT @@session.collation_database; +@@session.collation_database +koi8u_bin +SET @@session.collation_database = gb2312_chinese_ci; +SELECT @@session.collation_database; +@@session.collation_database +gb2312_chinese_ci +SET @@session.collation_database = gb2312_bin; +SELECT @@session.collation_database; +@@session.collation_database +gb2312_bin +SET @@session.collation_database = greek_general_ci; +SELECT @@session.collation_database; +@@session.collation_database +greek_general_ci +SET @@session.collation_database = greek_bin; +SELECT @@session.collation_database; +@@session.collation_database +greek_bin +SET @@session.collation_database = cp1250_general_ci; +SELECT @@session.collation_database; +@@session.collation_database +cp1250_general_ci +SET @@session.collation_database = cp1250_czech_cs; +SELECT @@session.collation_database; +@@session.collation_database +cp1250_czech_cs +SET @@session.collation_database = cp1250_croatian_ci; +SELECT @@session.collation_database; +@@session.collation_database +cp1250_croatian_ci +SET @@session.collation_database = cp1250_bin; +SELECT @@session.collation_database; +@@session.collation_database +cp1250_bin +SET @@session.collation_database = cp1250_polish_ci; +SELECT @@session.collation_database; +@@session.collation_database +cp1250_polish_ci +SET @@session.collation_database = gbk_chinese_ci; +SELECT @@session.collation_database; +@@session.collation_database +gbk_chinese_ci +SET @@session.collation_database = gbk_bin; +SELECT @@session.collation_database; +@@session.collation_database +gbk_bin +SET @@session.collation_database = latin5_turkish_ci; +SELECT @@session.collation_database; +@@session.collation_database +latin5_turkish_ci +SET @@session.collation_database = latin5_bin; +SELECT @@session.collation_database; +@@session.collation_database +latin5_bin +SET @@session.collation_database = armscii8_general_ci; +SELECT @@session.collation_database; +@@session.collation_database +armscii8_general_ci +SET @@session.collation_database = armscii8_bin; +SELECT @@session.collation_database; +@@session.collation_database +armscii8_bin +SET @@session.collation_database = utf8_general_ci; +SELECT @@session.collation_database; +@@session.collation_database +utf8_general_ci +SET @@session.collation_database = utf8_bin; +SELECT @@session.collation_database; +@@session.collation_database +utf8_bin +SET @@session.collation_database = utf8_unicode_ci; +SELECT @@session.collation_database; +@@session.collation_database +utf8_unicode_ci +SET @@session.collation_database = utf8_icelandic_ci; +SELECT @@session.collation_database; +@@session.collation_database +utf8_icelandic_ci +SET @@session.collation_database = utf8_latvian_ci; +SELECT @@session.collation_database; +@@session.collation_database +utf8_latvian_ci +SET @@session.collation_database = utf8_romanian_ci; +SELECT @@session.collation_database; +@@session.collation_database +utf8_romanian_ci +SET @@session.collation_database = utf8_slovenian_ci; +SELECT @@session.collation_database; +@@session.collation_database +utf8_slovenian_ci +SET @@session.collation_database = utf8_polish_ci; +SELECT @@session.collation_database; +@@session.collation_database +utf8_polish_ci +SET @@session.collation_database = utf8_estonian_ci; +SELECT @@session.collation_database; +@@session.collation_database +utf8_estonian_ci +SET @@session.collation_database = utf8_spanish_ci; +SELECT @@session.collation_database; +@@session.collation_database +utf8_spanish_ci +SET @@session.collation_database = utf8_swedish_ci; +SELECT @@session.collation_database; +@@session.collation_database +utf8_swedish_ci +SET @@session.collation_database = utf8_turkish_ci; +SELECT @@session.collation_database; +@@session.collation_database +utf8_turkish_ci +SET @@session.collation_database = utf8_czech_ci; +SELECT @@session.collation_database; +@@session.collation_database +utf8_czech_ci +SET @@session.collation_database = utf8_danish_ci; +SELECT @@session.collation_database; +@@session.collation_database +utf8_danish_ci +SET @@session.collation_database = utf8_lithuanian_ci; +SELECT @@session.collation_database; +@@session.collation_database +utf8_lithuanian_ci +SET @@session.collation_database = utf8_slovak_ci; +SELECT @@session.collation_database; +@@session.collation_database +utf8_slovak_ci +SET @@session.collation_database = utf8_spanish2_ci; +SELECT @@session.collation_database; +@@session.collation_database +utf8_spanish2_ci +SET @@session.collation_database = utf8_roman_ci; +SELECT @@session.collation_database; +@@session.collation_database +utf8_roman_ci +SET @@session.collation_database = utf8_persian_ci; +SELECT @@session.collation_database; +@@session.collation_database +utf8_persian_ci +SET @@session.collation_database = utf8_esperanto_ci; +SELECT @@session.collation_database; +@@session.collation_database +utf8_esperanto_ci +SET @@session.collation_database = utf8_hungarian_ci; +SELECT @@session.collation_database; +@@session.collation_database +utf8_hungarian_ci +SET @@session.collation_database = ucs2_general_ci; +SELECT @@session.collation_database; +@@session.collation_database +ucs2_general_ci +SET @@session.collation_database = ucs2_bin; +SELECT @@session.collation_database; +@@session.collation_database +ucs2_bin +SET @@session.collation_database = ucs2_unicode_ci; +SELECT @@session.collation_database; +@@session.collation_database +ucs2_unicode_ci +SET @@session.collation_database = ucs2_icelandic_ci; +SELECT @@session.collation_database; +@@session.collation_database +ucs2_icelandic_ci +SET @@session.collation_database = ucs2_latvian_ci; +SELECT @@session.collation_database; +@@session.collation_database +ucs2_latvian_ci +SET @@session.collation_database = ucs2_romanian_ci; +SELECT @@session.collation_database; +@@session.collation_database +ucs2_romanian_ci +SET @@session.collation_database = ucs2_slovenian_ci; +SELECT @@session.collation_database; +@@session.collation_database +ucs2_slovenian_ci +SET @@session.collation_database = ucs2_polish_ci; +SELECT @@session.collation_database; +@@session.collation_database +ucs2_polish_ci +SET @@session.collation_database = ucs2_estonian_ci; +SELECT @@session.collation_database; +@@session.collation_database +ucs2_estonian_ci +SET @@session.collation_database = ucs2_spanish_ci; +SELECT @@session.collation_database; +@@session.collation_database +ucs2_spanish_ci +SET @@session.collation_database = ucs2_swedish_ci; +SELECT @@session.collation_database; +@@session.collation_database +ucs2_swedish_ci +SET @@session.collation_database = ucs2_turkish_ci; +SELECT @@session.collation_database; +@@session.collation_database +ucs2_turkish_ci +SET @@session.collation_database = ucs2_czech_ci; +SELECT @@session.collation_database; +@@session.collation_database +ucs2_czech_ci +SET @@session.collation_database = ucs2_danish_ci; +SELECT @@session.collation_database; +@@session.collation_database +ucs2_danish_ci +SET @@session.collation_database = ucs2_lithuanian_ci; +SELECT @@session.collation_database; +@@session.collation_database +ucs2_lithuanian_ci +SET @@session.collation_database = ucs2_slovak_ci; +SELECT @@session.collation_database; +@@session.collation_database +ucs2_slovak_ci +SET @@session.collation_database = ucs2_spanish2_ci; +SELECT @@session.collation_database; +@@session.collation_database +ucs2_spanish2_ci +SET @@session.collation_database = ucs2_roman_ci; +SELECT @@session.collation_database; +@@session.collation_database +ucs2_roman_ci +SET @@session.collation_database = ucs2_persian_ci; +SELECT @@session.collation_database; +@@session.collation_database +ucs2_persian_ci +SET @@session.collation_database = ucs2_esperanto_ci; +SELECT @@session.collation_database; +@@session.collation_database +ucs2_esperanto_ci +SET @@session.collation_database = ucs2_hungarian_ci; +SELECT @@session.collation_database; +@@session.collation_database +ucs2_hungarian_ci +SET @@session.collation_database = cp866_general_ci; +SELECT @@session.collation_database; +@@session.collation_database +cp866_general_ci +SET @@session.collation_database = cp866_bin; +SELECT @@session.collation_database; +@@session.collation_database +cp866_bin +SET @@session.collation_database = keybcs2_general_ci; +SELECT @@session.collation_database; +@@session.collation_database +keybcs2_general_ci +SET @@session.collation_database = keybcs2_bin; +SELECT @@session.collation_database; +@@session.collation_database +keybcs2_bin +SET @@session.collation_database = macce_general_ci; +SELECT @@session.collation_database; +@@session.collation_database +macce_general_ci +SET @@session.collation_database = macce_bin; +SELECT @@session.collation_database; +@@session.collation_database +macce_bin +SET @@session.collation_database = macroman_general_ci; +SELECT @@session.collation_database; +@@session.collation_database +macroman_general_ci +SET @@session.collation_database = macroman_bin; +SELECT @@session.collation_database; +@@session.collation_database +macroman_bin +SET @@session.collation_database = cp852_general_ci; +SELECT @@session.collation_database; +@@session.collation_database +cp852_general_ci +SET @@session.collation_database = cp852_bin; +SELECT @@session.collation_database; +@@session.collation_database +cp852_bin +SET @@session.collation_database = latin7_estonian_cs; +SELECT @@session.collation_database; +@@session.collation_database +latin7_estonian_cs +SET @@session.collation_database = latin7_general_ci; +SELECT @@session.collation_database; +@@session.collation_database +latin7_general_ci +SET @@session.collation_database = latin7_general_cs; +SELECT @@session.collation_database; +@@session.collation_database +latin7_general_cs +SET @@session.collation_database = latin7_bin; +SELECT @@session.collation_database; +@@session.collation_database +latin7_bin +SET @@session.collation_database = cp1251_bulgarian_ci; +SELECT @@session.collation_database; +@@session.collation_database +cp1251_bulgarian_ci +SET @@session.collation_database = cp1251_ukrainian_ci; +SELECT @@session.collation_database; +@@session.collation_database +cp1251_ukrainian_ci +SET @@session.collation_database = cp1251_bin; +SELECT @@session.collation_database; +@@session.collation_database +cp1251_bin +SET @@session.collation_database = cp1251_general_ci; +SELECT @@session.collation_database; +@@session.collation_database +cp1251_general_ci +SET @@session.collation_database = cp1251_general_cs; +SELECT @@session.collation_database; +@@session.collation_database +cp1251_general_cs +SET @@session.collation_database = cp1256_general_ci; +SELECT @@session.collation_database; +@@session.collation_database +cp1256_general_ci +SET @@session.collation_database = cp1256_bin; +SELECT @@session.collation_database; +@@session.collation_database +cp1256_bin +SET @@session.collation_database = cp1257_lithuanian_ci; +SELECT @@session.collation_database; +@@session.collation_database +cp1257_lithuanian_ci +SET @@session.collation_database = cp1257_bin; +SELECT @@session.collation_database; +@@session.collation_database +cp1257_bin +SET @@session.collation_database = cp1257_general_ci; +SELECT @@session.collation_database; +@@session.collation_database +cp1257_general_ci +SET @@session.collation_database = binary; +SELECT @@session.collation_database; +@@session.collation_database +binary +SET @@session.collation_database = geostd8_general_ci; +SELECT @@session.collation_database; +@@session.collation_database +geostd8_general_ci +SET @@session.collation_database = geostd8_bin; +SELECT @@session.collation_database; +@@session.collation_database +geostd8_bin +SET @@session.collation_database = cp932_japanese_ci; +SELECT @@session.collation_database; +@@session.collation_database +cp932_japanese_ci +SET @@session.collation_database = cp932_bin; +SELECT @@session.collation_database; +@@session.collation_database +cp932_bin +SET @@session.collation_database = eucjpms_japanese_ci; +SELECT @@session.collation_database; +@@session.collation_database +eucjpms_japanese_ci +SET @@session.collation_database = eucjpms_bin; +SELECT @@session.collation_database; +@@session.collation_database +eucjpms_bin +'#--------------------FN_DYNVARS_016_07-------------------------#' +SET @@global.collation_database = big5_chinese_ci; +SELECT @@global.collation_database; +@@global.collation_database +big5_chinese_ci +SET @@global.collation_database = big5_bin; +SELECT @@global.collation_database; +@@global.collation_database +big5_bin +SET @@global.collation_database = dec8_swedish_ci; +SELECT @@global.collation_database; +@@global.collation_database +dec8_swedish_ci +SET @@global.collation_database = dec8_bin; +SELECT @@global.collation_database; +@@global.collation_database +dec8_bin +SET @@global.collation_database = cp850_general_ci; +SELECT @@global.collation_database; +@@global.collation_database +cp850_general_ci +SET @@global.collation_database = cp850_bin; +SELECT @@global.collation_database; +@@global.collation_database +cp850_bin +SET @@global.collation_database = hp8_english_ci; +SELECT @@global.collation_database; +@@global.collation_database +hp8_english_ci +SET @@global.collation_database = hp8_bin; +SELECT @@global.collation_database; +@@global.collation_database +hp8_bin +SET @@global.collation_database = koi8r_general_ci; +SELECT @@global.collation_database; +@@global.collation_database +koi8r_general_ci +SET @@global.collation_database = koi8r_bin; +SELECT @@global.collation_database; +@@global.collation_database +koi8r_bin +SET @@global.collation_database = latin1_german1_ci; +SELECT @@global.collation_database; +@@global.collation_database +latin1_german1_ci +SET @@global.collation_database = latin1_swedish_ci; +SELECT @@global.collation_database; +@@global.collation_database +latin1_swedish_ci +SET @@global.collation_database = latin1_danish_ci; +SELECT @@global.collation_database; +@@global.collation_database +latin1_danish_ci +SET @@global.collation_database = latin1_german2_ci; +SELECT @@global.collation_database; +@@global.collation_database +latin1_german2_ci +SET @@global.collation_database = latin1_bin; +SELECT @@global.collation_database; +@@global.collation_database +latin1_bin +SET @@global.collation_database = latin1_general_ci; +SELECT @@global.collation_database; +@@global.collation_database +latin1_general_ci +SET @@global.collation_database = latin1_general_cs; +SELECT @@global.collation_database; +@@global.collation_database +latin1_general_cs +SET @@global.collation_database = latin1_spanish_ci; +SELECT @@global.collation_database; +@@global.collation_database +latin1_spanish_ci +SET @@global.collation_database = latin2_czech_cs; +SELECT @@global.collation_database; +@@global.collation_database +latin2_czech_cs +SET @@global.collation_database = latin2_general_ci; +SELECT @@global.collation_database; +@@global.collation_database +latin2_general_ci +SET @@global.collation_database = latin2_hungarian_ci; +SELECT @@global.collation_database; +@@global.collation_database +latin2_hungarian_ci +SET @@global.collation_database = latin2_croatian_ci; +SELECT @@global.collation_database; +@@global.collation_database +latin2_croatian_ci +SET @@global.collation_database = latin2_bin; +SELECT @@global.collation_database; +@@global.collation_database +latin2_bin +SET @@global.collation_database = swe7_swedish_ci; +SELECT @@global.collation_database; +@@global.collation_database +swe7_swedish_ci +SET @@global.collation_database = swe7_bin; +SELECT @@global.collation_database; +@@global.collation_database +swe7_bin +SET @@global.collation_database = ascii_general_ci; +SELECT @@global.collation_database; +@@global.collation_database +ascii_general_ci +SET @@global.collation_database = ascii_bin; +SELECT @@global.collation_database; +@@global.collation_database +ascii_bin +SET @@global.collation_database = ujis_japanese_ci; +SELECT @@global.collation_database; +@@global.collation_database +ujis_japanese_ci +SET @@global.collation_database = ujis_bin; +SELECT @@global.collation_database; +@@global.collation_database +ujis_bin +SET @@global.collation_database = sjis_japanese_ci; +SELECT @@global.collation_database; +@@global.collation_database +sjis_japanese_ci +SET @@global.collation_database = sjis_bin; +SELECT @@global.collation_database; +@@global.collation_database +sjis_bin +SET @@global.collation_database = hebrew_general_ci; +SELECT @@global.collation_database; +@@global.collation_database +hebrew_general_ci +SET @@global.collation_database = hebrew_bin; +SELECT @@global.collation_database; +@@global.collation_database +hebrew_bin +SET @@global.collation_database = tis620_thai_ci; +SELECT @@global.collation_database; +@@global.collation_database +tis620_thai_ci +SET @@global.collation_database = tis620_bin; +SELECT @@global.collation_database; +@@global.collation_database +tis620_bin +SET @@global.collation_database = euckr_korean_ci; +SELECT @@global.collation_database; +@@global.collation_database +euckr_korean_ci +SET @@global.collation_database = euckr_bin; +SELECT @@global.collation_database; +@@global.collation_database +euckr_bin +SET @@global.collation_database = koi8u_general_ci; +SELECT @@global.collation_database; +@@global.collation_database +koi8u_general_ci +SET @@global.collation_database = koi8u_bin; +SELECT @@global.collation_database; +@@global.collation_database +koi8u_bin +SET @@global.collation_database = gb2312_chinese_ci; +SELECT @@global.collation_database; +@@global.collation_database +gb2312_chinese_ci +SET @@global.collation_database = gb2312_bin; +SELECT @@global.collation_database; +@@global.collation_database +gb2312_bin +SET @@global.collation_database = greek_general_ci; +SELECT @@global.collation_database; +@@global.collation_database +greek_general_ci +SET @@global.collation_database = greek_bin; +SELECT @@global.collation_database; +@@global.collation_database +greek_bin +SET @@global.collation_database = cp1250_general_ci; +SELECT @@global.collation_database; +@@global.collation_database +cp1250_general_ci +SET @@global.collation_database = cp1250_czech_cs; +SELECT @@global.collation_database; +@@global.collation_database +cp1250_czech_cs +SET @@global.collation_database = cp1250_croatian_ci; +SELECT @@global.collation_database; +@@global.collation_database +cp1250_croatian_ci +SET @@global.collation_database = cp1250_bin; +SELECT @@global.collation_database; +@@global.collation_database +cp1250_bin +SET @@global.collation_database = cp1250_polish_ci; +SELECT @@global.collation_database; +@@global.collation_database +cp1250_polish_ci +SET @@global.collation_database = gbk_chinese_ci; +SELECT @@global.collation_database; +@@global.collation_database +gbk_chinese_ci +SET @@global.collation_database = gbk_bin; +SELECT @@global.collation_database; +@@global.collation_database +gbk_bin +SET @@global.collation_database = latin5_turkish_ci; +SELECT @@global.collation_database; +@@global.collation_database +latin5_turkish_ci +SET @@global.collation_database = latin5_bin; +SELECT @@global.collation_database; +@@global.collation_database +latin5_bin +SET @@global.collation_database = armscii8_general_ci; +SELECT @@global.collation_database; +@@global.collation_database +armscii8_general_ci +SET @@global.collation_database = armscii8_bin; +SELECT @@global.collation_database; +@@global.collation_database +armscii8_bin +SET @@global.collation_database = utf8_general_ci; +SELECT @@global.collation_database; +@@global.collation_database +utf8_general_ci +SET @@global.collation_database = utf8_bin; +SELECT @@global.collation_database; +@@global.collation_database +utf8_bin +SET @@global.collation_database = utf8_unicode_ci; +SELECT @@global.collation_database; +@@global.collation_database +utf8_unicode_ci +SET @@global.collation_database = utf8_icelandic_ci; +SELECT @@global.collation_database; +@@global.collation_database +utf8_icelandic_ci +SET @@global.collation_database = utf8_latvian_ci; +SELECT @@global.collation_database; +@@global.collation_database +utf8_latvian_ci +SET @@global.collation_database = utf8_romanian_ci; +SELECT @@global.collation_database; +@@global.collation_database +utf8_romanian_ci +SET @@global.collation_database = utf8_slovenian_ci; +SELECT @@global.collation_database; +@@global.collation_database +utf8_slovenian_ci +SET @@global.collation_database = utf8_polish_ci; +SELECT @@global.collation_database; +@@global.collation_database +utf8_polish_ci +SET @@global.collation_database = utf8_estonian_ci; +SELECT @@global.collation_database; +@@global.collation_database +utf8_estonian_ci +SET @@global.collation_database = utf8_spanish_ci; +SELECT @@global.collation_database; +@@global.collation_database +utf8_spanish_ci +SET @@global.collation_database = utf8_swedish_ci; +SELECT @@global.collation_database; +@@global.collation_database +utf8_swedish_ci +SET @@global.collation_database = utf8_turkish_ci; +SELECT @@global.collation_database; +@@global.collation_database +utf8_turkish_ci +SET @@global.collation_database = utf8_czech_ci; +SELECT @@global.collation_database; +@@global.collation_database +utf8_czech_ci +SET @@global.collation_database = utf8_danish_ci; +SELECT @@global.collation_database; +@@global.collation_database +utf8_danish_ci +SET @@global.collation_database = utf8_lithuanian_ci; +SELECT @@global.collation_database; +@@global.collation_database +utf8_lithuanian_ci +SET @@global.collation_database = utf8_slovak_ci; +SELECT @@global.collation_database; +@@global.collation_database +utf8_slovak_ci +SET @@global.collation_database = utf8_spanish2_ci; +SELECT @@global.collation_database; +@@global.collation_database +utf8_spanish2_ci +SET @@global.collation_database = utf8_roman_ci; +SELECT @@global.collation_database; +@@global.collation_database +utf8_roman_ci +SET @@global.collation_database = utf8_persian_ci; +SELECT @@global.collation_database; +@@global.collation_database +utf8_persian_ci +SET @@global.collation_database = utf8_esperanto_ci; +SELECT @@global.collation_database; +@@global.collation_database +utf8_esperanto_ci +SET @@global.collation_database = utf8_hungarian_ci; +SELECT @@global.collation_database; +@@global.collation_database +utf8_hungarian_ci +SET @@global.collation_database = ucs2_general_ci; +SELECT @@global.collation_database; +@@global.collation_database +ucs2_general_ci +SET @@global.collation_database = ucs2_bin; +SELECT @@global.collation_database; +@@global.collation_database +ucs2_bin +SET @@global.collation_database = ucs2_unicode_ci; +SELECT @@global.collation_database; +@@global.collation_database +ucs2_unicode_ci +SET @@global.collation_database = ucs2_icelandic_ci; +SELECT @@global.collation_database; +@@global.collation_database +ucs2_icelandic_ci +SET @@global.collation_database = ucs2_latvian_ci; +SELECT @@global.collation_database; +@@global.collation_database +ucs2_latvian_ci +SET @@global.collation_database = ucs2_romanian_ci; +SELECT @@global.collation_database; +@@global.collation_database +ucs2_romanian_ci +SET @@global.collation_database = ucs2_slovenian_ci; +SELECT @@global.collation_database; +@@global.collation_database +ucs2_slovenian_ci +SET @@global.collation_database = ucs2_polish_ci; +SELECT @@global.collation_database; +@@global.collation_database +ucs2_polish_ci +SET @@global.collation_database = ucs2_estonian_ci; +SELECT @@global.collation_database; +@@global.collation_database +ucs2_estonian_ci +SET @@global.collation_database = ucs2_spanish_ci; +SELECT @@global.collation_database; +@@global.collation_database +ucs2_spanish_ci +SET @@global.collation_database = ucs2_swedish_ci; +SELECT @@global.collation_database; +@@global.collation_database +ucs2_swedish_ci +SET @@global.collation_database = ucs2_turkish_ci; +SELECT @@global.collation_database; +@@global.collation_database +ucs2_turkish_ci +SET @@global.collation_database = ucs2_czech_ci; +SELECT @@global.collation_database; +@@global.collation_database +ucs2_czech_ci +SET @@global.collation_database = ucs2_danish_ci; +SELECT @@global.collation_database; +@@global.collation_database +ucs2_danish_ci +SET @@global.collation_database = ucs2_lithuanian_ci; +SELECT @@global.collation_database; +@@global.collation_database +ucs2_lithuanian_ci +SET @@global.collation_database = ucs2_slovak_ci; +SELECT @@global.collation_database; +@@global.collation_database +ucs2_slovak_ci +SET @@global.collation_database = ucs2_spanish2_ci; +SELECT @@global.collation_database; +@@global.collation_database +ucs2_spanish2_ci +SET @@global.collation_database = ucs2_roman_ci; +SELECT @@global.collation_database; +@@global.collation_database +ucs2_roman_ci +SET @@global.collation_database = ucs2_persian_ci; +SELECT @@global.collation_database; +@@global.collation_database +ucs2_persian_ci +SET @@global.collation_database = ucs2_esperanto_ci; +SELECT @@global.collation_database; +@@global.collation_database +ucs2_esperanto_ci +SET @@global.collation_database = ucs2_hungarian_ci; +SELECT @@global.collation_database; +@@global.collation_database +ucs2_hungarian_ci +SET @@global.collation_database = cp866_general_ci; +SELECT @@global.collation_database; +@@global.collation_database +cp866_general_ci +SET @@global.collation_database = cp866_bin; +SELECT @@global.collation_database; +@@global.collation_database +cp866_bin +SET @@global.collation_database = keybcs2_general_ci; +SELECT @@global.collation_database; +@@global.collation_database +keybcs2_general_ci +SET @@global.collation_database = keybcs2_bin; +SELECT @@global.collation_database; +@@global.collation_database +keybcs2_bin +SET @@global.collation_database = macce_general_ci; +SELECT @@global.collation_database; +@@global.collation_database +macce_general_ci +SET @@global.collation_database = macce_bin; +SELECT @@global.collation_database; +@@global.collation_database +macce_bin +SET @@global.collation_database = macroman_general_ci; +SELECT @@global.collation_database; +@@global.collation_database +macroman_general_ci +SET @@global.collation_database = macroman_bin; +SELECT @@global.collation_database; +@@global.collation_database +macroman_bin +SET @@global.collation_database = cp852_general_ci; +SELECT @@global.collation_database; +@@global.collation_database +cp852_general_ci +SET @@global.collation_database = cp852_bin; +SELECT @@global.collation_database; +@@global.collation_database +cp852_bin +SET @@global.collation_database = latin7_estonian_cs; +SELECT @@global.collation_database; +@@global.collation_database +latin7_estonian_cs +SET @@global.collation_database = latin7_general_ci; +SELECT @@global.collation_database; +@@global.collation_database +latin7_general_ci +SET @@global.collation_database = latin7_general_cs; +SELECT @@global.collation_database; +@@global.collation_database +latin7_general_cs +SET @@global.collation_database = latin7_bin; +SELECT @@global.collation_database; +@@global.collation_database +latin7_bin +SET @@global.collation_database = cp1251_bulgarian_ci; +SELECT @@global.collation_database; +@@global.collation_database +cp1251_bulgarian_ci +SET @@global.collation_database = cp1251_ukrainian_ci; +SELECT @@global.collation_database; +@@global.collation_database +cp1251_ukrainian_ci +SET @@global.collation_database = cp1251_bin; +SELECT @@global.collation_database; +@@global.collation_database +cp1251_bin +SET @@global.collation_database = cp1251_general_ci; +SELECT @@global.collation_database; +@@global.collation_database +cp1251_general_ci +SET @@global.collation_database = cp1251_general_cs; +SELECT @@global.collation_database; +@@global.collation_database +cp1251_general_cs +SET @@global.collation_database = cp1256_general_ci; +SELECT @@global.collation_database; +@@global.collation_database +cp1256_general_ci +SET @@global.collation_database = cp1256_bin; +SELECT @@global.collation_database; +@@global.collation_database +cp1256_bin +SET @@global.collation_database = cp1257_lithuanian_ci; +SELECT @@global.collation_database; +@@global.collation_database +cp1257_lithuanian_ci +SET @@global.collation_database = cp1257_bin; +SELECT @@global.collation_database; +@@global.collation_database +cp1257_bin +SET @@global.collation_database = cp1257_general_ci; +SELECT @@global.collation_database; +@@global.collation_database +cp1257_general_ci +SET @@global.collation_database = binary; +SELECT @@global.collation_database; +@@global.collation_database +binary +SET @@global.collation_database = geostd8_general_ci; +SELECT @@global.collation_database; +@@global.collation_database +geostd8_general_ci +SET @@global.collation_database = geostd8_bin; +SELECT @@global.collation_database; +@@global.collation_database +geostd8_bin +SET @@global.collation_database = cp932_japanese_ci; +SELECT @@global.collation_database; +@@global.collation_database +cp932_japanese_ci +SET @@global.collation_database = cp932_bin; +SELECT @@global.collation_database; +@@global.collation_database +cp932_bin +SET @@global.collation_database = eucjpms_japanese_ci; +SELECT @@global.collation_database; +@@global.collation_database +eucjpms_japanese_ci +SET @@global.collation_database = eucjpms_bin; +SELECT @@global.collation_database; +@@global.collation_database +eucjpms_bin +'#--------------------FN_DYNVARS_016_08-------------------------#' +SET @@collation_database = LATIN7_GENERAL_CS; +SELECT @@collation_database; +@@collation_database +latin7_general_cs +SET @@collation_database = latin7_general_cs; +SELECT @@collation_database; +@@collation_database +latin7_general_cs +SET @@global.collation_database = Latin7_GeneRal_cS; +SELECT @@global.collation_database; +@@global.collation_database +latin7_general_cs +'#--------------------FN_DYNVARS_016_09-------------------------#' +SET @@collation_database = 1; +SELECT @@collation_database; +@@collation_database +big5_chinese_ci +SET @@collation_database = 2; +SELECT @@collation_database; +@@collation_database +latin2_czech_cs +SET @@collation_database = 3; +SELECT @@collation_database; +@@collation_database +dec8_swedish_ci +SET @@collation_database = 99; +SELECT @@collation_database; +@@collation_database +cp1250_polish_ci +SET @@collation_database = 100; +ERROR HY000: Unknown collation: '100' +SET @@global.collation_database = 1; +SELECT @@global.collation_database; +@@global.collation_database +big5_chinese_ci +SET @@global.collation_database = 2; +SELECT @@global.collation_database; +@@global.collation_database +latin2_czech_cs +SET @@global.collation_database = 3; +SELECT @@global.collation_database; +@@global.collation_database +dec8_swedish_ci +SET @@global.collation_database = 99; +SELECT @@global.collation_database; +@@global.collation_database +cp1250_polish_ci +SET @@global.collation_database = 100; +ERROR HY000: Unknown collation: '100' +SET @total_collations = (SELECT count(*) FROM INFORMATION_SCHEMA.COLLATIONS); +SELECT @total_collations > 120; +@total_collations > 120 +1 +'#--------------------FN_DYNVARS_016_10-------------------------#' +SET @@collation_database = latin7_binary; +ERROR HY000: Unknown collation: 'latin7_binary' +SET @@collation_database = 'eucjpms_japanese_cs'; +ERROR HY000: Unknown collation: 'eucjpms_japanese_cs' +SET @@collation_database = 0; +ERROR HY000: Unknown collation: '0' +SET @@collation_database = 1.01; +ERROR 42000: Incorrect argument type to variable 'collation_database' +SET @@collation_database = -1; +ERROR HY000: Unknown collation: '-1' +SET @@collation_database = ''; +ERROR HY000: Unknown collation: '' +SET @@collation_database = ' eucjpms_bin'; +ERROR HY000: Unknown collation: ' eucjpms_bin' +SET @@collation_database = true; +SELECT @@collation_database AS res_with_true; +res_with_true +big5_chinese_ci +SET @@collation_database = ON; +ERROR HY000: Unknown collation: 'ON' +'#--------------------FN_DYNVARS_016_11-------------------------#' +SET @@global.collation_database = latin7_binary; +ERROR HY000: Unknown collation: 'latin7_binary' +SET @@global.collation_database = 'eucjpms_japanese_cs'; +ERROR HY000: Unknown collation: 'eucjpms_japanese_cs' +SET @@global.collation_database = 0; +ERROR HY000: Unknown collation: '0' +SET @@global.collation_database = 1.1; +ERROR 42000: Incorrect argument type to variable 'collation_database' +SET @@global.collation_database = -1; +ERROR HY000: Unknown collation: '-1' +SET @@global.collation_database = ""; +ERROR HY000: Unknown collation: '' +SET @@global.collation_database = ' eucjpms_bin'; +ERROR HY000: Unknown collation: ' eucjpms_bin' +SET @@global.collation_database = true; +SET @@global.collation_database = ON; +ERROR HY000: Unknown collation: 'ON' +'#--------------------FN_DYNVARS_016_12-------------------------#' +SELECT @@global.collation_database = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='collation_database') AS res; +res +1 +SET @@global.collation_database = 1; +SELECT @@global.collation_database; +@@global.collation_database +big5_chinese_ci +SELECT @@global.collation_database = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='collation_database') AS res; +res +1 +'#--------------------FN_DYNVARS_016_13-------------------------#' +SELECT @@collation_database = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='collation_database') AS res; +res +1 +SELECT @@local.collation_database = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='collation_database') AS res; +res +1 +SELECT @@session.collation_database = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='collation_database') AS res; +res +1 +SET @@global.collation_database = @global_start_value; +SELECT @@global.collation_database; +@@global.collation_database +latin1_swedish_ci +SET @@session.collation_database = @session_start_value; +SELECT @@session.collation_database; +@@session.collation_database +latin1_swedish_ci diff --git a/mysql-test/r/collation_database_func.result b/mysql-test/r/collation_database_func.result new file mode 100644 index 00000000000..dae8677eecf --- /dev/null +++ b/mysql-test/r/collation_database_func.result @@ -0,0 +1,111 @@ +'#--------------------FN_DYNVARS_011_01-------------------------#' +SET @global_collation_database = @@global.collation_database; +SET @session_collation_database = @@session.collation_database; +SET @session_collation_server = @@session.collation_server; +SET @@global.collation_database = latin1_danish_ci; +'connect (con1,localhost,root,,,,)' +'connection con1' +SELECT @@global.collation_database; +@@global.collation_database +latin1_danish_ci +SELECT @@session.collation_database; +@@session.collation_database +latin1_swedish_ci +'Bug#35378: New session collation_database is not change by global collation_database' +'#--------------------FN_DYNVARS_011_02-------------------------#' +'connection default' +DROP TABLE IF EXISTS t1,t2; +SELECT @@character_set_server,@@collation_server; +@@character_set_server @@collation_server +latin1 latin1_swedish_ci +'--check if setting collation_database update character_set_database--' +SET @@session.collation_database = utf8_spanish_ci; +SELECT @@collation_database, @@character_set_database; +@@collation_database @@character_set_database +utf8_spanish_ci utf8 +'--check if collation_database effects database/tables charset/collation' +SET @@session.collation_server = utf8_roman_ci; +SET @@session.collation_database = latin2_croatian_ci; +CREATE DATABASE db1; +USE db1; +SHOW CREATE DATABASE db1; +Database Create Database +db1 CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_roman_ci */ +'Bug#35380: collation_database does not effects CREATE DATABASE without characater set' +CREATE TABLE t1(a CHAR(20)); +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` char(20) COLLATE utf8_roman_ci DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_roman_ci +'---check if updating collation_database effects new table/column---' +SET @@session.collation_database = latin7_general_cs; +CREATE TABLE t2(a CHAR(10)); +SHOW CREATE TABLE t2; +Table Create Table +t2 CREATE TABLE `t2` ( + `a` char(10) COLLATE utf8_roman_ci DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_roman_ci +DROP TABLE t1,t2; +'--check value of collation and character set when current db is dropped' +DROP DATABASE db1; +SELECT @@collation_database,@@collation_server,@@character_set_database,@@character_set_server; +@@collation_database @@collation_server @@character_set_database @@character_set_server +utf8_roman_ci utf8_roman_ci utf8 utf8 +USE test; +SELECT @@collation_database,@@collation_server,@@character_set_database,@@character_set_server; +@@collation_database @@collation_server @@character_set_database @@character_set_server +utf8_roman_ci utf8_roman_ci utf8 utf8 +'fill table with some test data'; +CREATE TABLE t1(a CHAR(20))CHARACTER SET=latin1; +INSERT INTO t1 VALUES('Muffler'),('Müller'),('MX Systems'); +'---check if collation_database effects results sort order---' +SET @@session.collation_database = latin1_swedish_ci; +SELECT * FROM t1 ORDER BY a; +a +Muffler +MX Systems +Müller +SET @@session.collation_database = latin1_german1_ci; +SELECT * FROM t1 ORDER BY a; +a +Muffler +MX Systems +Müller +'explicit Collate clause should effects results sort order'; +SELECT * FROM t1 ORDER BY a COLLATE latin1_swedish_ci; +a +Muffler +MX Systems +Müller +SELECT * FROM t1 ORDER BY a COLLATE latin1_german1_ci; +a +Muffler +Müller +MX Systems +'----check if indexing is effected by collation_database---' +SET @@session.collation_database = latin1_swedish_ci; +ALTER TABLE t1 ADD PRIMARY KEY (a); +REPAIR TABLE t1; +Table Op Msg_type Msg_text +test.t1 repair status OK +SELECT * FROM t1 ORDER BY a; +a +Muffler +MX Systems +Müller +ALTER TABLE t1 DROP PRIMARY KEY; +SET @@session.collation_database = latin1_german1_ci; +ALTER TABLE t1 ADD PRIMARY KEY (a); +REPAIR TABLE t1; +Table Op Msg_type Msg_text +test.t1 repair status OK +SELECT * FROM t1 ORDER BY a; +a +Muffler +MX Systems +Müller +DROP TABLE t1; +SET @@global.collation_database = @global_collation_database; +SET @@session.collation_database = @session_collation_database; +SET @@session.collation_server = @session_collation_server; diff --git a/mysql-test/r/collation_server_basic.result b/mysql-test/r/collation_server_basic.result new file mode 100644 index 00000000000..5e36643a3c9 --- /dev/null +++ b/mysql-test/r/collation_server_basic.result @@ -0,0 +1,1224 @@ +SET @global_start_value = @@global.collation_server; +SELECT @global_start_value; +@global_start_value +latin1_swedish_ci +SET @session_start_value = @@collation_server; +SELECT @session_start_value; +@session_start_value +latin1_swedish_ci +SET @session_start_value = @@local.collation_server; +SELECT @session_start_value; +@session_start_value +latin1_swedish_ci +SET @session_start_value = @@session.collation_server; +SELECT @session_start_value; +@session_start_value +latin1_swedish_ci +'#--------------------FN_DYNVARS_014_01------------------#' +SELECT collation_server; +ERROR 42S22: Unknown column 'collation_server' in 'field list' +SET collation_server=utf8_unicode_ci; +SELECT @@session.collation_server; +@@session.collation_server +utf8_unicode_ci +SET global.collation_server=utf8_unicode_ci; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'collation_server=utf8_unicode_ci' at line 1 +SET session collation_server=utf8_unicode_ci; +SELECT session collation_server; +ERROR 42S22: Unknown column 'session' in 'field list' +SET global collation_server=utf8_unicode_ci; +SELECT global collation_server; +ERROR 42S22: Unknown column 'global' in 'field list' +'#--------------------FN_DYNVARS_014_02-------------------------#' +SET @@collation_server = latin1_bin; +SET @@collation_server = DEFAULT; +SELECT @@collation_server AS DEFAULT_VALUE; +DEFAULT_VALUE +utf8_unicode_ci +SET @@global.collation_server = latin1_bin; +SET @@global.collation_server = DEFAULT; +SELECT @@global.collation_server; +@@global.collation_server +latin1_swedish_ci +'#--------------------FN_DYNVARS_014_03-------------------------#' +SET @@session.collation_server = utf8_polish_ci; +SELECT @@session.collation_server; +@@session.collation_server +utf8_polish_ci +SET @@global.collation_server = latin7_general_ci; +SELECT @@global.collation_server; +@@global.collation_server +latin7_general_ci +SELECT @@session.collation_server AS res_is_utf8_polish_ci; +res_is_utf8_polish_ci +utf8_polish_ci +SET @@session.collation_server = latin7_bin; +SELECT @@session.collation_server; +@@session.collation_server +latin7_bin +SELECT @@global.collation_server AS res_is_latin7_general_ci; +res_is_latin7_general_ci +latin7_general_ci +SELECT @@global.collation_server=@@session.collation_server AS res_is_false; +res_is_false +0 +'#--------------------FN_DYNVARS_014_04-------------------------#' +SELECT @@collation_server = @@session.collation_server AS res; +res +1 +SELECT @@collation_server = @@local.collation_server AS res; +res +1 +'#--------------------FN_DYNVARS_014_05-------------------------#' +SET @@collation_server = latin7_general_ci + latin7_general_cs; +ERROR 42S22: Unknown column 'latin7_general_ci' in 'field list' +'#--------------------FN_DYNVARS_014_06-------------------------#' +SET @@session.collation_server = big5_chinese_ci; +SELECT @@session.collation_server; +@@session.collation_server +big5_chinese_ci +SET @@session.collation_server = big5_bin; +SELECT @@session.collation_server; +@@session.collation_server +big5_bin +SET @@session.collation_server = dec8_swedish_ci; +SELECT @@session.collation_server; +@@session.collation_server +dec8_swedish_ci +SET @@session.collation_server = dec8_bin; +SELECT @@session.collation_server; +@@session.collation_server +dec8_bin +SET @@session.collation_server = cp850_general_ci; +SELECT @@session.collation_server; +@@session.collation_server +cp850_general_ci +SET @@session.collation_server = cp850_bin; +SELECT @@session.collation_server; +@@session.collation_server +cp850_bin +SET @@session.collation_server = hp8_english_ci; +SELECT @@session.collation_server; +@@session.collation_server +hp8_english_ci +SET @@session.collation_server = hp8_bin; +SELECT @@session.collation_server; +@@session.collation_server +hp8_bin +SET @@session.collation_server = koi8r_general_ci; +SELECT @@session.collation_server; +@@session.collation_server +koi8r_general_ci +SET @@session.collation_server = koi8r_bin; +SELECT @@session.collation_server; +@@session.collation_server +koi8r_bin +SET @@session.collation_server = latin1_german1_ci; +SELECT @@session.collation_server; +@@session.collation_server +latin1_german1_ci +SET @@session.collation_server = latin1_swedish_ci; +SELECT @@session.collation_server; +@@session.collation_server +latin1_swedish_ci +SET @@session.collation_server = latin1_danish_ci; +SELECT @@session.collation_server; +@@session.collation_server +latin1_danish_ci +SET @@session.collation_server = latin1_german2_ci; +SELECT @@session.collation_server; +@@session.collation_server +latin1_german2_ci +SET @@session.collation_server = latin1_bin; +SELECT @@session.collation_server; +@@session.collation_server +latin1_bin +SET @@session.collation_server = latin1_general_ci; +SELECT @@session.collation_server; +@@session.collation_server +latin1_general_ci +SET @@session.collation_server = latin1_general_cs; +SELECT @@session.collation_server; +@@session.collation_server +latin1_general_cs +SET @@session.collation_server = latin1_spanish_ci; +SELECT @@session.collation_server; +@@session.collation_server +latin1_spanish_ci +SET @@session.collation_server = latin2_czech_cs; +SELECT @@session.collation_server; +@@session.collation_server +latin2_czech_cs +SET @@session.collation_server = latin2_general_ci; +SELECT @@session.collation_server; +@@session.collation_server +latin2_general_ci +SET @@session.collation_server = latin2_hungarian_ci; +SELECT @@session.collation_server; +@@session.collation_server +latin2_hungarian_ci +SET @@session.collation_server = latin2_croatian_ci; +SELECT @@session.collation_server; +@@session.collation_server +latin2_croatian_ci +SET @@session.collation_server = latin2_bin; +SELECT @@session.collation_server; +@@session.collation_server +latin2_bin +SET @@session.collation_server = swe7_swedish_ci; +SELECT @@session.collation_server; +@@session.collation_server +swe7_swedish_ci +SET @@session.collation_server = swe7_bin; +SELECT @@session.collation_server; +@@session.collation_server +swe7_bin +SET @@session.collation_server = ascii_general_ci; +SELECT @@session.collation_server; +@@session.collation_server +ascii_general_ci +SET @@session.collation_server = ascii_bin; +SELECT @@session.collation_server; +@@session.collation_server +ascii_bin +SET @@session.collation_server = ujis_japanese_ci; +SELECT @@session.collation_server; +@@session.collation_server +ujis_japanese_ci +SET @@session.collation_server = ujis_bin; +SELECT @@session.collation_server; +@@session.collation_server +ujis_bin +SET @@session.collation_server = sjis_japanese_ci; +SELECT @@session.collation_server; +@@session.collation_server +sjis_japanese_ci +SET @@session.collation_server = sjis_bin; +SELECT @@session.collation_server; +@@session.collation_server +sjis_bin +SET @@session.collation_server = hebrew_general_ci; +SELECT @@session.collation_server; +@@session.collation_server +hebrew_general_ci +SET @@session.collation_server = hebrew_bin; +SELECT @@session.collation_server; +@@session.collation_server +hebrew_bin +SET @@session.collation_server = tis620_thai_ci; +SELECT @@session.collation_server; +@@session.collation_server +tis620_thai_ci +SET @@session.collation_server = tis620_bin; +SELECT @@session.collation_server; +@@session.collation_server +tis620_bin +SET @@session.collation_server = euckr_korean_ci; +SELECT @@session.collation_server; +@@session.collation_server +euckr_korean_ci +SET @@session.collation_server = euckr_bin; +SELECT @@session.collation_server; +@@session.collation_server +euckr_bin +SET @@session.collation_server = koi8u_general_ci; +SELECT @@session.collation_server; +@@session.collation_server +koi8u_general_ci +SET @@session.collation_server = koi8u_bin; +SELECT @@session.collation_server; +@@session.collation_server +koi8u_bin +SET @@session.collation_server = gb2312_chinese_ci; +SELECT @@session.collation_server; +@@session.collation_server +gb2312_chinese_ci +SET @@session.collation_server = gb2312_bin; +SELECT @@session.collation_server; +@@session.collation_server +gb2312_bin +SET @@session.collation_server = greek_general_ci; +SELECT @@session.collation_server; +@@session.collation_server +greek_general_ci +SET @@session.collation_server = greek_bin; +SELECT @@session.collation_server; +@@session.collation_server +greek_bin +SET @@session.collation_server = cp1250_general_ci; +SELECT @@session.collation_server; +@@session.collation_server +cp1250_general_ci +SET @@session.collation_server = cp1250_czech_cs; +SELECT @@session.collation_server; +@@session.collation_server +cp1250_czech_cs +SET @@session.collation_server = cp1250_croatian_ci; +SELECT @@session.collation_server; +@@session.collation_server +cp1250_croatian_ci +SET @@session.collation_server = cp1250_bin; +SELECT @@session.collation_server; +@@session.collation_server +cp1250_bin +SET @@session.collation_server = cp1250_polish_ci; +SELECT @@session.collation_server; +@@session.collation_server +cp1250_polish_ci +SET @@session.collation_server = gbk_chinese_ci; +SELECT @@session.collation_server; +@@session.collation_server +gbk_chinese_ci +SET @@session.collation_server = gbk_bin; +SELECT @@session.collation_server; +@@session.collation_server +gbk_bin +SET @@session.collation_server = latin5_turkish_ci; +SELECT @@session.collation_server; +@@session.collation_server +latin5_turkish_ci +SET @@session.collation_server = latin5_bin; +SELECT @@session.collation_server; +@@session.collation_server +latin5_bin +SET @@session.collation_server = armscii8_general_ci; +SELECT @@session.collation_server; +@@session.collation_server +armscii8_general_ci +SET @@session.collation_server = armscii8_bin; +SELECT @@session.collation_server; +@@session.collation_server +armscii8_bin +SET @@session.collation_server = utf8_general_ci; +SELECT @@session.collation_server; +@@session.collation_server +utf8_general_ci +SET @@session.collation_server = utf8_bin; +SELECT @@session.collation_server; +@@session.collation_server +utf8_bin +SET @@session.collation_server = utf8_unicode_ci; +SELECT @@session.collation_server; +@@session.collation_server +utf8_unicode_ci +SET @@session.collation_server = utf8_icelandic_ci; +SELECT @@session.collation_server; +@@session.collation_server +utf8_icelandic_ci +SET @@session.collation_server = utf8_latvian_ci; +SELECT @@session.collation_server; +@@session.collation_server +utf8_latvian_ci +SET @@session.collation_server = utf8_romanian_ci; +SELECT @@session.collation_server; +@@session.collation_server +utf8_romanian_ci +SET @@session.collation_server = utf8_slovenian_ci; +SELECT @@session.collation_server; +@@session.collation_server +utf8_slovenian_ci +SET @@session.collation_server = utf8_polish_ci; +SELECT @@session.collation_server; +@@session.collation_server +utf8_polish_ci +SET @@session.collation_server = utf8_estonian_ci; +SELECT @@session.collation_server; +@@session.collation_server +utf8_estonian_ci +SET @@session.collation_server = utf8_spanish_ci; +SELECT @@session.collation_server; +@@session.collation_server +utf8_spanish_ci +SET @@session.collation_server = utf8_swedish_ci; +SELECT @@session.collation_server; +@@session.collation_server +utf8_swedish_ci +SET @@session.collation_server = utf8_turkish_ci; +SELECT @@session.collation_server; +@@session.collation_server +utf8_turkish_ci +SET @@session.collation_server = utf8_czech_ci; +SELECT @@session.collation_server; +@@session.collation_server +utf8_czech_ci +SET @@session.collation_server = utf8_danish_ci; +SELECT @@session.collation_server; +@@session.collation_server +utf8_danish_ci +SET @@session.collation_server = utf8_lithuanian_ci; +SELECT @@session.collation_server; +@@session.collation_server +utf8_lithuanian_ci +SET @@session.collation_server = utf8_slovak_ci; +SELECT @@session.collation_server; +@@session.collation_server +utf8_slovak_ci +SET @@session.collation_server = utf8_spanish2_ci; +SELECT @@session.collation_server; +@@session.collation_server +utf8_spanish2_ci +SET @@session.collation_server = utf8_roman_ci; +SELECT @@session.collation_server; +@@session.collation_server +utf8_roman_ci +SET @@session.collation_server = utf8_persian_ci; +SELECT @@session.collation_server; +@@session.collation_server +utf8_persian_ci +SET @@session.collation_server = utf8_esperanto_ci; +SELECT @@session.collation_server; +@@session.collation_server +utf8_esperanto_ci +SET @@session.collation_server = utf8_hungarian_ci; +SELECT @@session.collation_server; +@@session.collation_server +utf8_hungarian_ci +SET @@session.collation_server = ucs2_general_ci; +SELECT @@session.collation_server; +@@session.collation_server +ucs2_general_ci +SET @@session.collation_server = ucs2_bin; +SELECT @@session.collation_server; +@@session.collation_server +ucs2_bin +SET @@session.collation_server = ucs2_unicode_ci; +SELECT @@session.collation_server; +@@session.collation_server +ucs2_unicode_ci +SET @@session.collation_server = ucs2_icelandic_ci; +SELECT @@session.collation_server; +@@session.collation_server +ucs2_icelandic_ci +SET @@session.collation_server = ucs2_latvian_ci; +SELECT @@session.collation_server; +@@session.collation_server +ucs2_latvian_ci +SET @@session.collation_server = ucs2_romanian_ci; +SELECT @@session.collation_server; +@@session.collation_server +ucs2_romanian_ci +SET @@session.collation_server = ucs2_slovenian_ci; +SELECT @@session.collation_server; +@@session.collation_server +ucs2_slovenian_ci +SET @@session.collation_server = ucs2_polish_ci; +SELECT @@session.collation_server; +@@session.collation_server +ucs2_polish_ci +SET @@session.collation_server = ucs2_estonian_ci; +SELECT @@session.collation_server; +@@session.collation_server +ucs2_estonian_ci +SET @@session.collation_server = ucs2_spanish_ci; +SELECT @@session.collation_server; +@@session.collation_server +ucs2_spanish_ci +SET @@session.collation_server = ucs2_swedish_ci; +SELECT @@session.collation_server; +@@session.collation_server +ucs2_swedish_ci +SET @@session.collation_server = ucs2_turkish_ci; +SELECT @@session.collation_server; +@@session.collation_server +ucs2_turkish_ci +SET @@session.collation_server = ucs2_czech_ci; +SELECT @@session.collation_server; +@@session.collation_server +ucs2_czech_ci +SET @@session.collation_server = ucs2_danish_ci; +SELECT @@session.collation_server; +@@session.collation_server +ucs2_danish_ci +SET @@session.collation_server = ucs2_lithuanian_ci; +SELECT @@session.collation_server; +@@session.collation_server +ucs2_lithuanian_ci +SET @@session.collation_server = ucs2_slovak_ci; +SELECT @@session.collation_server; +@@session.collation_server +ucs2_slovak_ci +SET @@session.collation_server = ucs2_spanish2_ci; +SELECT @@session.collation_server; +@@session.collation_server +ucs2_spanish2_ci +SET @@session.collation_server = ucs2_roman_ci; +SELECT @@session.collation_server; +@@session.collation_server +ucs2_roman_ci +SET @@session.collation_server = ucs2_persian_ci; +SELECT @@session.collation_server; +@@session.collation_server +ucs2_persian_ci +SET @@session.collation_server = ucs2_esperanto_ci; +SELECT @@session.collation_server; +@@session.collation_server +ucs2_esperanto_ci +SET @@session.collation_server = ucs2_hungarian_ci; +SELECT @@session.collation_server; +@@session.collation_server +ucs2_hungarian_ci +SET @@session.collation_server = cp866_general_ci; +SELECT @@session.collation_server; +@@session.collation_server +cp866_general_ci +SET @@session.collation_server = cp866_bin; +SELECT @@session.collation_server; +@@session.collation_server +cp866_bin +SET @@session.collation_server = keybcs2_general_ci; +SELECT @@session.collation_server; +@@session.collation_server +keybcs2_general_ci +SET @@session.collation_server = keybcs2_bin; +SELECT @@session.collation_server; +@@session.collation_server +keybcs2_bin +SET @@session.collation_server = macce_general_ci; +SELECT @@session.collation_server; +@@session.collation_server +macce_general_ci +SET @@session.collation_server = macce_bin; +SELECT @@session.collation_server; +@@session.collation_server +macce_bin +SET @@session.collation_server = macroman_general_ci; +SELECT @@session.collation_server; +@@session.collation_server +macroman_general_ci +SET @@session.collation_server = macroman_bin; +SELECT @@session.collation_server; +@@session.collation_server +macroman_bin +SET @@session.collation_server = cp852_general_ci; +SELECT @@session.collation_server; +@@session.collation_server +cp852_general_ci +SET @@session.collation_server = cp852_bin; +SELECT @@session.collation_server; +@@session.collation_server +cp852_bin +SET @@session.collation_server = latin7_estonian_cs; +SELECT @@session.collation_server; +@@session.collation_server +latin7_estonian_cs +SET @@session.collation_server = latin7_general_ci; +SELECT @@session.collation_server; +@@session.collation_server +latin7_general_ci +SET @@session.collation_server = latin7_general_cs; +SELECT @@session.collation_server; +@@session.collation_server +latin7_general_cs +SET @@session.collation_server = latin7_bin; +SELECT @@session.collation_server; +@@session.collation_server +latin7_bin +SET @@session.collation_server = cp1251_bulgarian_ci; +SELECT @@session.collation_server; +@@session.collation_server +cp1251_bulgarian_ci +SET @@session.collation_server = cp1251_ukrainian_ci; +SELECT @@session.collation_server; +@@session.collation_server +cp1251_ukrainian_ci +SET @@session.collation_server = cp1251_bin; +SELECT @@session.collation_server; +@@session.collation_server +cp1251_bin +SET @@session.collation_server = cp1251_general_ci; +SELECT @@session.collation_server; +@@session.collation_server +cp1251_general_ci +SET @@session.collation_server = cp1251_general_cs; +SELECT @@session.collation_server; +@@session.collation_server +cp1251_general_cs +SET @@session.collation_server = cp1256_general_ci; +SELECT @@session.collation_server; +@@session.collation_server +cp1256_general_ci +SET @@session.collation_server = cp1256_bin; +SELECT @@session.collation_server; +@@session.collation_server +cp1256_bin +SET @@session.collation_server = cp1257_lithuanian_ci; +SELECT @@session.collation_server; +@@session.collation_server +cp1257_lithuanian_ci +SET @@session.collation_server = cp1257_bin; +SELECT @@session.collation_server; +@@session.collation_server +cp1257_bin +SET @@session.collation_server = cp1257_general_ci; +SELECT @@session.collation_server; +@@session.collation_server +cp1257_general_ci +SET @@session.collation_server = binary; +SELECT @@session.collation_server; +@@session.collation_server +binary +SET @@session.collation_server = geostd8_general_ci; +SELECT @@session.collation_server; +@@session.collation_server +geostd8_general_ci +SET @@session.collation_server = geostd8_bin; +SELECT @@session.collation_server; +@@session.collation_server +geostd8_bin +SET @@session.collation_server = cp932_japanese_ci; +SELECT @@session.collation_server; +@@session.collation_server +cp932_japanese_ci +SET @@session.collation_server = cp932_bin; +SELECT @@session.collation_server; +@@session.collation_server +cp932_bin +SET @@session.collation_server = eucjpms_japanese_ci; +SELECT @@session.collation_server; +@@session.collation_server +eucjpms_japanese_ci +SET @@session.collation_server = eucjpms_bin; +SELECT @@session.collation_server; +@@session.collation_server +eucjpms_bin +'#--------------------FN_DYNVARS_014_07-------------------------#' +SET @@global.collation_server = big5_chinese_ci; +SELECT @@global.collation_server; +@@global.collation_server +big5_chinese_ci +SET @@global.collation_server = big5_bin; +SELECT @@global.collation_server; +@@global.collation_server +big5_bin +SET @@global.collation_server = dec8_swedish_ci; +SELECT @@global.collation_server; +@@global.collation_server +dec8_swedish_ci +SET @@global.collation_server = dec8_bin; +SELECT @@global.collation_server; +@@global.collation_server +dec8_bin +SET @@global.collation_server = cp850_general_ci; +SELECT @@global.collation_server; +@@global.collation_server +cp850_general_ci +SET @@global.collation_server = cp850_bin; +SELECT @@global.collation_server; +@@global.collation_server +cp850_bin +SET @@global.collation_server = hp8_english_ci; +SELECT @@global.collation_server; +@@global.collation_server +hp8_english_ci +SET @@global.collation_server = hp8_bin; +SELECT @@global.collation_server; +@@global.collation_server +hp8_bin +SET @@global.collation_server = koi8r_general_ci; +SELECT @@global.collation_server; +@@global.collation_server +koi8r_general_ci +SET @@global.collation_server = koi8r_bin; +SELECT @@global.collation_server; +@@global.collation_server +koi8r_bin +SET @@global.collation_server = latin1_german1_ci; +SELECT @@global.collation_server; +@@global.collation_server +latin1_german1_ci +SET @@global.collation_server = latin1_swedish_ci; +SELECT @@global.collation_server; +@@global.collation_server +latin1_swedish_ci +SET @@global.collation_server = latin1_danish_ci; +SELECT @@global.collation_server; +@@global.collation_server +latin1_danish_ci +SET @@global.collation_server = latin1_german2_ci; +SELECT @@global.collation_server; +@@global.collation_server +latin1_german2_ci +SET @@global.collation_server = latin1_bin; +SELECT @@global.collation_server; +@@global.collation_server +latin1_bin +SET @@global.collation_server = latin1_general_ci; +SELECT @@global.collation_server; +@@global.collation_server +latin1_general_ci +SET @@global.collation_server = latin1_general_cs; +SELECT @@global.collation_server; +@@global.collation_server +latin1_general_cs +SET @@global.collation_server = latin1_spanish_ci; +SELECT @@global.collation_server; +@@global.collation_server +latin1_spanish_ci +SET @@global.collation_server = latin2_czech_cs; +SELECT @@global.collation_server; +@@global.collation_server +latin2_czech_cs +SET @@global.collation_server = latin2_general_ci; +SELECT @@global.collation_server; +@@global.collation_server +latin2_general_ci +SET @@global.collation_server = latin2_hungarian_ci; +SELECT @@global.collation_server; +@@global.collation_server +latin2_hungarian_ci +SET @@global.collation_server = latin2_croatian_ci; +SELECT @@global.collation_server; +@@global.collation_server +latin2_croatian_ci +SET @@global.collation_server = latin2_bin; +SELECT @@global.collation_server; +@@global.collation_server +latin2_bin +SET @@global.collation_server = swe7_swedish_ci; +SELECT @@global.collation_server; +@@global.collation_server +swe7_swedish_ci +SET @@global.collation_server = swe7_bin; +SELECT @@global.collation_server; +@@global.collation_server +swe7_bin +SET @@global.collation_server = ascii_general_ci; +SELECT @@global.collation_server; +@@global.collation_server +ascii_general_ci +SET @@global.collation_server = ascii_bin; +SELECT @@global.collation_server; +@@global.collation_server +ascii_bin +SET @@global.collation_server = ujis_japanese_ci; +SELECT @@global.collation_server; +@@global.collation_server +ujis_japanese_ci +SET @@global.collation_server = ujis_bin; +SELECT @@global.collation_server; +@@global.collation_server +ujis_bin +SET @@global.collation_server = sjis_japanese_ci; +SELECT @@global.collation_server; +@@global.collation_server +sjis_japanese_ci +SET @@global.collation_server = sjis_bin; +SELECT @@global.collation_server; +@@global.collation_server +sjis_bin +SET @@global.collation_server = hebrew_general_ci; +SELECT @@global.collation_server; +@@global.collation_server +hebrew_general_ci +SET @@global.collation_server = hebrew_bin; +SELECT @@global.collation_server; +@@global.collation_server +hebrew_bin +SET @@global.collation_server = tis620_thai_ci; +SELECT @@global.collation_server; +@@global.collation_server +tis620_thai_ci +SET @@global.collation_server = tis620_bin; +SELECT @@global.collation_server; +@@global.collation_server +tis620_bin +SET @@global.collation_server = euckr_korean_ci; +SELECT @@global.collation_server; +@@global.collation_server +euckr_korean_ci +SET @@global.collation_server = euckr_bin; +SELECT @@global.collation_server; +@@global.collation_server +euckr_bin +SET @@global.collation_server = koi8u_general_ci; +SELECT @@global.collation_server; +@@global.collation_server +koi8u_general_ci +SET @@global.collation_server = koi8u_bin; +SELECT @@global.collation_server; +@@global.collation_server +koi8u_bin +SET @@global.collation_server = gb2312_chinese_ci; +SELECT @@global.collation_server; +@@global.collation_server +gb2312_chinese_ci +SET @@global.collation_server = gb2312_bin; +SELECT @@global.collation_server; +@@global.collation_server +gb2312_bin +SET @@global.collation_server = greek_general_ci; +SELECT @@global.collation_server; +@@global.collation_server +greek_general_ci +SET @@global.collation_server = greek_bin; +SELECT @@global.collation_server; +@@global.collation_server +greek_bin +SET @@global.collation_server = cp1250_general_ci; +SELECT @@global.collation_server; +@@global.collation_server +cp1250_general_ci +SET @@global.collation_server = cp1250_czech_cs; +SELECT @@global.collation_server; +@@global.collation_server +cp1250_czech_cs +SET @@global.collation_server = cp1250_croatian_ci; +SELECT @@global.collation_server; +@@global.collation_server +cp1250_croatian_ci +SET @@global.collation_server = cp1250_bin; +SELECT @@global.collation_server; +@@global.collation_server +cp1250_bin +SET @@global.collation_server = cp1250_polish_ci; +SELECT @@global.collation_server; +@@global.collation_server +cp1250_polish_ci +SET @@global.collation_server = gbk_chinese_ci; +SELECT @@global.collation_server; +@@global.collation_server +gbk_chinese_ci +SET @@global.collation_server = gbk_bin; +SELECT @@global.collation_server; +@@global.collation_server +gbk_bin +SET @@global.collation_server = latin5_turkish_ci; +SELECT @@global.collation_server; +@@global.collation_server +latin5_turkish_ci +SET @@global.collation_server = latin5_bin; +SELECT @@global.collation_server; +@@global.collation_server +latin5_bin +SET @@global.collation_server = armscii8_general_ci; +SELECT @@global.collation_server; +@@global.collation_server +armscii8_general_ci +SET @@global.collation_server = armscii8_bin; +SELECT @@global.collation_server; +@@global.collation_server +armscii8_bin +SET @@global.collation_server = utf8_general_ci; +SELECT @@global.collation_server; +@@global.collation_server +utf8_general_ci +SET @@global.collation_server = utf8_bin; +SELECT @@global.collation_server; +@@global.collation_server +utf8_bin +SET @@global.collation_server = utf8_unicode_ci; +SELECT @@global.collation_server; +@@global.collation_server +utf8_unicode_ci +SET @@global.collation_server = utf8_icelandic_ci; +SELECT @@global.collation_server; +@@global.collation_server +utf8_icelandic_ci +SET @@global.collation_server = utf8_latvian_ci; +SELECT @@global.collation_server; +@@global.collation_server +utf8_latvian_ci +SET @@global.collation_server = utf8_romanian_ci; +SELECT @@global.collation_server; +@@global.collation_server +utf8_romanian_ci +SET @@global.collation_server = utf8_slovenian_ci; +SELECT @@global.collation_server; +@@global.collation_server +utf8_slovenian_ci +SET @@global.collation_server = utf8_polish_ci; +SELECT @@global.collation_server; +@@global.collation_server +utf8_polish_ci +SET @@global.collation_server = utf8_estonian_ci; +SELECT @@global.collation_server; +@@global.collation_server +utf8_estonian_ci +SET @@global.collation_server = utf8_spanish_ci; +SELECT @@global.collation_server; +@@global.collation_server +utf8_spanish_ci +SET @@global.collation_server = utf8_swedish_ci; +SELECT @@global.collation_server; +@@global.collation_server +utf8_swedish_ci +SET @@global.collation_server = utf8_turkish_ci; +SELECT @@global.collation_server; +@@global.collation_server +utf8_turkish_ci +SET @@global.collation_server = utf8_czech_ci; +SELECT @@global.collation_server; +@@global.collation_server +utf8_czech_ci +SET @@global.collation_server = utf8_danish_ci; +SELECT @@global.collation_server; +@@global.collation_server +utf8_danish_ci +SET @@global.collation_server = utf8_lithuanian_ci; +SELECT @@global.collation_server; +@@global.collation_server +utf8_lithuanian_ci +SET @@global.collation_server = utf8_slovak_ci; +SELECT @@global.collation_server; +@@global.collation_server +utf8_slovak_ci +SET @@global.collation_server = utf8_spanish2_ci; +SELECT @@global.collation_server; +@@global.collation_server +utf8_spanish2_ci +SET @@global.collation_server = utf8_roman_ci; +SELECT @@global.collation_server; +@@global.collation_server +utf8_roman_ci +SET @@global.collation_server = utf8_persian_ci; +SELECT @@global.collation_server; +@@global.collation_server +utf8_persian_ci +SET @@global.collation_server = utf8_esperanto_ci; +SELECT @@global.collation_server; +@@global.collation_server +utf8_esperanto_ci +SET @@global.collation_server = utf8_hungarian_ci; +SELECT @@global.collation_server; +@@global.collation_server +utf8_hungarian_ci +SET @@global.collation_server = ucs2_general_ci; +SELECT @@global.collation_server; +@@global.collation_server +ucs2_general_ci +SET @@global.collation_server = ucs2_bin; +SELECT @@global.collation_server; +@@global.collation_server +ucs2_bin +SET @@global.collation_server = ucs2_unicode_ci; +SELECT @@global.collation_server; +@@global.collation_server +ucs2_unicode_ci +SET @@global.collation_server = ucs2_icelandic_ci; +SELECT @@global.collation_server; +@@global.collation_server +ucs2_icelandic_ci +SET @@global.collation_server = ucs2_latvian_ci; +SELECT @@global.collation_server; +@@global.collation_server +ucs2_latvian_ci +SET @@global.collation_server = ucs2_romanian_ci; +SELECT @@global.collation_server; +@@global.collation_server +ucs2_romanian_ci +SET @@global.collation_server = ucs2_slovenian_ci; +SELECT @@global.collation_server; +@@global.collation_server +ucs2_slovenian_ci +SET @@global.collation_server = ucs2_polish_ci; +SELECT @@global.collation_server; +@@global.collation_server +ucs2_polish_ci +SET @@global.collation_server = ucs2_estonian_ci; +SELECT @@global.collation_server; +@@global.collation_server +ucs2_estonian_ci +SET @@global.collation_server = ucs2_spanish_ci; +SELECT @@global.collation_server; +@@global.collation_server +ucs2_spanish_ci +SET @@global.collation_server = ucs2_swedish_ci; +SELECT @@global.collation_server; +@@global.collation_server +ucs2_swedish_ci +SET @@global.collation_server = ucs2_turkish_ci; +SELECT @@global.collation_server; +@@global.collation_server +ucs2_turkish_ci +SET @@global.collation_server = ucs2_czech_ci; +SELECT @@global.collation_server; +@@global.collation_server +ucs2_czech_ci +SET @@global.collation_server = ucs2_danish_ci; +SELECT @@global.collation_server; +@@global.collation_server +ucs2_danish_ci +SET @@global.collation_server = ucs2_lithuanian_ci; +SELECT @@global.collation_server; +@@global.collation_server +ucs2_lithuanian_ci +SET @@global.collation_server = ucs2_slovak_ci; +SELECT @@global.collation_server; +@@global.collation_server +ucs2_slovak_ci +SET @@global.collation_server = ucs2_spanish2_ci; +SELECT @@global.collation_server; +@@global.collation_server +ucs2_spanish2_ci +SET @@global.collation_server = ucs2_roman_ci; +SELECT @@global.collation_server; +@@global.collation_server +ucs2_roman_ci +SET @@global.collation_server = ucs2_persian_ci; +SELECT @@global.collation_server; +@@global.collation_server +ucs2_persian_ci +SET @@global.collation_server = ucs2_esperanto_ci; +SELECT @@global.collation_server; +@@global.collation_server +ucs2_esperanto_ci +SET @@global.collation_server = ucs2_hungarian_ci; +SELECT @@global.collation_server; +@@global.collation_server +ucs2_hungarian_ci +SET @@global.collation_server = cp866_general_ci; +SELECT @@global.collation_server; +@@global.collation_server +cp866_general_ci +SET @@global.collation_server = cp866_bin; +SELECT @@global.collation_server; +@@global.collation_server +cp866_bin +SET @@global.collation_server = keybcs2_general_ci; +SELECT @@global.collation_server; +@@global.collation_server +keybcs2_general_ci +SET @@global.collation_server = keybcs2_bin; +SELECT @@global.collation_server; +@@global.collation_server +keybcs2_bin +SET @@global.collation_server = macce_general_ci; +SELECT @@global.collation_server; +@@global.collation_server +macce_general_ci +SET @@global.collation_server = macce_bin; +SELECT @@global.collation_server; +@@global.collation_server +macce_bin +SET @@global.collation_server = macroman_general_ci; +SELECT @@global.collation_server; +@@global.collation_server +macroman_general_ci +SET @@global.collation_server = macroman_bin; +SELECT @@global.collation_server; +@@global.collation_server +macroman_bin +SET @@global.collation_server = cp852_general_ci; +SELECT @@global.collation_server; +@@global.collation_server +cp852_general_ci +SET @@global.collation_server = cp852_bin; +SELECT @@global.collation_server; +@@global.collation_server +cp852_bin +SET @@global.collation_server = latin7_estonian_cs; +SELECT @@global.collation_server; +@@global.collation_server +latin7_estonian_cs +SET @@global.collation_server = latin7_general_ci; +SELECT @@global.collation_server; +@@global.collation_server +latin7_general_ci +SET @@global.collation_server = latin7_general_cs; +SELECT @@global.collation_server; +@@global.collation_server +latin7_general_cs +SET @@global.collation_server = latin7_bin; +SELECT @@global.collation_server; +@@global.collation_server +latin7_bin +SET @@global.collation_server = cp1251_bulgarian_ci; +SELECT @@global.collation_server; +@@global.collation_server +cp1251_bulgarian_ci +SET @@global.collation_server = cp1251_ukrainian_ci; +SELECT @@global.collation_server; +@@global.collation_server +cp1251_ukrainian_ci +SET @@global.collation_server = cp1251_bin; +SELECT @@global.collation_server; +@@global.collation_server +cp1251_bin +SET @@global.collation_server = cp1251_general_ci; +SELECT @@global.collation_server; +@@global.collation_server +cp1251_general_ci +SET @@global.collation_server = cp1251_general_cs; +SELECT @@global.collation_server; +@@global.collation_server +cp1251_general_cs +SET @@global.collation_server = cp1256_general_ci; +SELECT @@global.collation_server; +@@global.collation_server +cp1256_general_ci +SET @@global.collation_server = cp1256_bin; +SELECT @@global.collation_server; +@@global.collation_server +cp1256_bin +SET @@global.collation_server = cp1257_lithuanian_ci; +SELECT @@global.collation_server; +@@global.collation_server +cp1257_lithuanian_ci +SET @@global.collation_server = cp1257_bin; +SELECT @@global.collation_server; +@@global.collation_server +cp1257_bin +SET @@global.collation_server = cp1257_general_ci; +SELECT @@global.collation_server; +@@global.collation_server +cp1257_general_ci +SET @@global.collation_server = binary; +SELECT @@global.collation_server; +@@global.collation_server +binary +SET @@global.collation_server = geostd8_general_ci; +SELECT @@global.collation_server; +@@global.collation_server +geostd8_general_ci +SET @@global.collation_server = geostd8_bin; +SELECT @@global.collation_server; +@@global.collation_server +geostd8_bin +SET @@global.collation_server = cp932_japanese_ci; +SELECT @@global.collation_server; +@@global.collation_server +cp932_japanese_ci +SET @@global.collation_server = cp932_bin; +SELECT @@global.collation_server; +@@global.collation_server +cp932_bin +SET @@global.collation_server = eucjpms_japanese_ci; +SELECT @@global.collation_server; +@@global.collation_server +eucjpms_japanese_ci +SET @@global.collation_server = eucjpms_bin; +SELECT @@global.collation_server; +@@global.collation_server +eucjpms_bin +'#--------------------FN_DYNVARS_014_08-------------------------#' +SET @@collation_server = LATIN7_GENERAL_CS; +SELECT @@collation_server; +@@collation_server +latin7_general_cs +SET @@collation_server = latin7_general_cs; +SELECT @@collation_server; +@@collation_server +latin7_general_cs +SET @@global.collation_server = Latin7_GeneRal_cS; +SELECT @@global.collation_server; +@@global.collation_server +latin7_general_cs +'#--------------------FN_DYNVARS_014_09-------------------------#' +SET @@collation_server = 1; +SELECT @@collation_server; +@@collation_server +big5_chinese_ci +SET @@collation_server = 2; +SELECT @@collation_server; +@@collation_server +latin2_czech_cs +SET @@collation_server = 3; +SELECT @@collation_server; +@@collation_server +dec8_swedish_ci +SET @@collation_server = 99; +SELECT @@collation_server; +@@collation_server +cp1250_polish_ci +SET @@collation_server = 100; +ERROR HY000: Unknown collation: '100' +SET @@global.collation_server = 1; +SELECT @@global.collation_server; +@@global.collation_server +big5_chinese_ci +SET @@global.collation_server = 2; +SELECT @@global.collation_server; +@@global.collation_server +latin2_czech_cs +SET @@global.collation_server = 3; +SELECT @@global.collation_server; +@@global.collation_server +dec8_swedish_ci +SET @@global.collation_server = 99; +SELECT @@global.collation_server; +@@global.collation_server +cp1250_polish_ci +SET @@global.collation_server = 100; +ERROR HY000: Unknown collation: '100' +SET @total_collations = (SELECT count(*) FROM INFORMATION_SCHEMA.COLLATIONS); +SELECT @total_collations > 120; +@total_collations > 120 +1 +'#--------------------FN_DYNVARS_014_10-------------------------#' +SET @@collation_server = latin7_binary; +ERROR HY000: Unknown collation: 'latin7_binary' +SET @@collation_server = 'eucjpms_japanese_cs'; +ERROR HY000: Unknown collation: 'eucjpms_japanese_cs' +SET @@collation_server = 0; +ERROR HY000: Unknown collation: '0' +SET @@collation_server = 1.01; +ERROR 42000: Incorrect argument type to variable 'collation_server' +SET @@collation_server = -1; +ERROR HY000: Unknown collation: '-1' +SET @@collation_server = ''; +ERROR HY000: Unknown collation: '' +SET @@collation_server = ' eucjpms_bin'; +ERROR HY000: Unknown collation: ' eucjpms_bin' +SET @@collation_server = true; +SELECT @@collation_server AS res_with_true; +res_with_true +big5_chinese_ci +SET @@collation_server = ON; +ERROR HY000: Unknown collation: 'ON' +'#--------------------FN_DYNVARS_014_11-------------------------#' +SET @@global.collation_server = latin7_binary; +ERROR HY000: Unknown collation: 'latin7_binary' +SET @@global.collation_server = 'eucjpms_japanese_cs'; +ERROR HY000: Unknown collation: 'eucjpms_japanese_cs' +SET @@global.collation_server = 0; +ERROR HY000: Unknown collation: '0' +SET @@global.collation_server = 1.1; +ERROR 42000: Incorrect argument type to variable 'collation_server' +SET @@global.collation_server = -1; +ERROR HY000: Unknown collation: '-1' +SET @@global.collation_server = ""; +ERROR HY000: Unknown collation: '' +SET @@global.collation_server = ' eucjpms_bin'; +ERROR HY000: Unknown collation: ' eucjpms_bin' +SET @@global.collation_server = true; +SET @@global.collation_server = ON; +ERROR HY000: Unknown collation: 'ON' +'#--------------------FN_DYNVARS_014_12-------------------------#' +SELECT @@global.collation_server = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='collation_server') AS res; +res +1 +SET @@global.collation_server = 1; +SELECT @@global.collation_server; +@@global.collation_server +big5_chinese_ci +SELECT @@global.collation_server = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='collation_server') AS res; +res +1 +'#--------------------FN_DYNVARS_014_13-------------------------#' +SELECT @@collation_server = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='collation_server') AS res; +res +1 +SELECT @@local.collation_server = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='collation_server') AS res; +res +1 +SELECT @@session.collation_server = +(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='collation_server') AS res; +res +1 +SET @@global.collation_server = @global_start_value; +SELECT @@global.collation_server; +@@global.collation_server +latin1_swedish_ci +SET @@session.collation_server = @session_start_value; +SELECT @@session.collation_server; +@@session.collation_server +latin1_swedish_ci diff --git a/mysql-test/r/collation_server_func.result b/mysql-test/r/collation_server_func.result new file mode 100644 index 00000000000..98672bc452b --- /dev/null +++ b/mysql-test/r/collation_server_func.result @@ -0,0 +1,91 @@ +'#--------------------FN_DYNVARS_014_01-------------------------#' +SET @global_collation_server = @@global.collation_server; +SET @session_collation_server = @@session.collation_server; +SET @@global.collation_server = latin1_danish_ci; +'connect (con1,localhost,root,,,,)' +'connection con1' +SELECT @@global.collation_server; +@@global.collation_server +latin1_danish_ci +SELECT @@session.collation_server; +@@session.collation_server +latin1_danish_ci +'#--------------------FN_DYNVARS_014_02-------------------------#' +'connection default' +DROP TABLE IF EXISTS t1,t2; +'---check if setting collation_server update character_set_server---' +SET @@session.collation_server = utf8_spanish_ci; +SELECT @@collation_server, @@character_set_server; +@@collation_server @@character_set_server +utf8_spanish_ci utf8 +'--check if collation_server effects database/table charset/collation--' +SET @@session.collation_server = latin1_german1_ci; +CREATE DATABASE db1; +USE db1; +SHOW CREATE DATABASE db1; +Database Create Database +db1 CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET latin1 COLLATE latin1_german1_ci */ +CREATE TABLE t1(a CHAR(20)); +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` char(20) COLLATE latin1_german1_ci DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci +'---check if updating collation_server effects new table/column---' +SET @@session.collation_server = latin1_swedish_ci; +CREATE TABLE t2(a CHAR(10)); +SHOW CREATE TABLE t2; +Table Create Table +t2 CREATE TABLE `t2` ( + `a` char(10) COLLATE latin1_german1_ci DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci +INSERT INTO t1 VALUES('Muffler'),('Müller'),('MX Systems'); +'---check if collation_server effects results sort order---' +SET @@session.collation_server = latin1_swedish_ci; +SELECT * FROM t1 ORDER BY a; +a +Muffler +Müller +MX Systems +SET @@session.collation_server = latin1_german1_ci; +SELECT * FROM t1 ORDER BY a; +a +Muffler +Müller +MX Systems +SELECT * FROM t1 ORDER BY a COLLATE latin1_swedish_ci; +a +Muffler +MX Systems +Müller +SELECT * FROM t1 ORDER BY a COLLATE latin1_german1_ci; +a +Muffler +Müller +MX Systems +'---check if indexing is effected by collation_server---' +SET @@session.collation_server = latin1_swedish_ci; +ALTER TABLE t1 ADD PRIMARY KEY (a); +REPAIR TABLE t1; +Table Op Msg_type Msg_text +db1.t1 repair status OK +SELECT * FROM t1 ORDER BY a; +a +Muffler +Müller +MX Systems +ALTER TABLE t1 DROP PRIMARY KEY; +SET @@session.collation_server = latin1_german1_ci; +ALTER TABLE t1 ADD PRIMARY KEY (a); +REPAIR TABLE t1; +Table Op Msg_type Msg_text +db1.t1 repair status OK +SELECT * FROM t1 ORDER BY a; +a +Muffler +Müller +MX Systems +DROP TABLE t1,t2; +DROP DATABASE db1; +SET @@global.collation_server = @global_collation_server; +SET @@session.collation_server = @session_collation_server; diff --git a/mysql-test/r/completion_type_basic.result b/mysql-test/r/completion_type_basic.result new file mode 100644 index 00000000000..93bfe581182 --- /dev/null +++ b/mysql-test/r/completion_type_basic.result @@ -0,0 +1,122 @@ +SET @start_global_value = @@global.completion_type; +SELECT @start_global_value; +@start_global_value +0 +SET @start_session_value = @@session.completion_type; +SELECT @start_session_value; +@start_session_value +0 +'#--------------------FN_DYNVARS_017_01-------------------------#' +SET @@global.completion_type = 2; +SET @@global.completion_type = DEFAULT; +SELECT @@global.completion_type; +@@global.completion_type +0 +SET @@session.completion_type = 1; +SET @@session.completion_type = DEFAULT; +SELECT @@session.completion_type; +@@session.completion_type +0 +'#--------------------FN_DYNVARS_017_02-------------------------#' +SET @@global.completion_type = @start_global_value; +SELECT @@global.completion_type = 0; +@@global.completion_type = 0 +1 +SET @@session.completion_type = @start_session_value; +SELECT @@session.completion_type = 0; +@@session.completion_type = 0 +1 +'#--------------------FN_DYNVARS_017_03-------------------------#' +SET @@global.completion_type = 0; +SELECT @@global.completion_type; +@@global.completion_type +0 +SET @@global.completion_type = 1; +SELECT @@global.completion_type; +@@global.completion_type +1 +SET @@global.completion_type = 2; +SELECT @@global.completion_type; +@@global.completion_type +2 +'#--------------------FN_DYNVARS_017_04-------------------------#' +SET @@session.completion_type = 0; +SELECT @@session.completion_type; +@@session.completion_type +0 +SET @@session.completion_type = 1; +SELECT @@session.completion_type; +@@session.completion_type +1 +SET @@session.completion_type = 2; +SELECT @@session.completion_type; +@@session.completion_type +2 +'#------------------FN_DYNVARS_017_05-----------------------#' +SET @@global.completion_type = 10; +ERROR 42000: Variable 'completion_type' can't be set to the value of '10' +SET @@global.completion_type = -1024; +ERROR 42000: Variable 'completion_type' can't be set to the value of '-1024' +SET @@global.completion_type = 2.4; +ERROR 42000: Incorrect argument type to variable 'completion_type' +SET @@global.completion_type = OFF; +ERROR 42000: Incorrect argument type to variable 'completion_type' +SET @@session.completion_type = 10; +ERROR 42000: Variable 'completion_type' can't be set to the value of '10' +SET @@session.completion_type = -2; +ERROR 42000: Variable 'completion_type' can't be set to the value of '-2' +SET @@session.completion_type = 1.2; +ERROR 42000: Incorrect argument type to variable 'completion_type' +SET @@session.completion_type = ON; +ERROR 42000: Incorrect argument type to variable 'completion_type' +'#------------------FN_DYNVARS_017_06-----------------------#' +SELECT @@global.completion_type = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='completion_type'; +@@global.completion_type = VARIABLE_VALUE +1 +SELECT @@session.completion_type = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='completion_type'; +@@session.completion_type = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_017_07-----------------------#' +SET @@global.completion_type = TRUE; +SELECT @@global.completion_type; +@@global.completion_type +1 +SET @@global.completion_type = FALSE; +SELECT @@global.completion_type; +@@global.completion_type +0 +'#---------------------FN_DYNVARS_001_08----------------------#' +SET @@completion_type = 1; +SELECT @@completion_type = @@local.completion_type; +@@completion_type = @@local.completion_type +1 +SELECT @@local.completion_type = @@session.completion_type; +@@local.completion_type = @@session.completion_type +1 +'#---------------------FN_DYNVARS_001_09----------------------#' +SET completion_type = 1; +SELECT @@completion_type; +@@completion_type +1 +SET local.completion_type = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'completion_type = 1' at line 1 +SELECT local.completion_type; +ERROR 42S02: Unknown table 'local' in field list +SET session.completion_type = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'completion_type = 1' at line 1 +SELECT session.completion_type; +ERROR 42S02: Unknown table 'session' in field list +SELECT completion_type = @@session.completion_type; +ERROR 42S22: Unknown column 'completion_type' in 'field list' +SET @@global.completion_type = @start_global_value; +SELECT @@global.completion_type; +@@global.completion_type +0 +SET @@session.completion_type = @start_session_value; +SELECT @@session.completion_type; +@@session.completion_type +0 diff --git a/mysql-test/r/completion_type_func.result b/mysql-test/r/completion_type_func.result new file mode 100644 index 00000000000..282bd1006cd --- /dev/null +++ b/mysql-test/r/completion_type_func.result @@ -0,0 +1,76 @@ +drop table if exists t1; +## Creating new table ## +CREATE TABLE t1 +( +id INT NOT NULL auto_increment, +PRIMARY KEY (id), +name varchar(30) +) ENGINE = INNODB; +'#--------------------FN_DYNVARS_017_01-------------------------#' +## Creating new connection ## +INSERT into t1(name) values('Record_1'); +SET @@autocommit = 0; +SELECT * from t1; +id name +1 Record_1 +## Setting value of variable to 0 ## +SET @@session.completion_type = 0; +## Here commit & rollback should work normally ## +START TRANSACTION; +SELECT * from t1; +id name +1 Record_1 +INSERT into t1(name) values('Record_2'); +INSERT into t1(name) values('Record_3'); +SELECT * from t1; +id name +1 Record_1 +2 Record_2 +3 Record_3 +DELETE FROM t1 where id = 2; +SELECT * from t1; +id name +1 Record_1 +3 Record_3 +START TRANSACTION; +SELECT * from t1; +id name +1 Record_1 +3 Record_3 +INSERT into t1(name) values('Record_4'); +INSERT into t1(name) values('Record_5'); +COMMIT; +'#--------------------FN_DYNVARS_017_02-------------------------#' +SET @@session.completion_type = 2; +## Here commit should work as COMMIT RELEASE ## +START TRANSACTION; +SELECT * from t1; +id name +1 Record_1 +3 Record_3 +4 Record_4 +5 Record_5 +INSERT into t1(name) values('Record_6'); +INSERT into t1(name) values('Record_7'); +COMMIT; +## Inserting rows should give error here because connection should ## +## disconnect after using COMMIT ## +INSERT into t1(name) values('Record_4'); +Got one of the listed errors +## Creating new connection test_con2 ## +SET @@session.completion_type = 2; +## Inserting rows and using Rollback which should Rollback & release ## +START TRANSACTION; +SELECT * from t1; +id name +1 Record_1 +3 Record_3 +4 Record_4 +5 Record_5 +6 Record_6 +7 Record_7 +INSERT into t1(name) values('Record_8'); +INSERT into t1(name) values('Record_9'); +ROLLBACK; +INSERT into t1(name) values('Record_4'); +Got one of the listed errors diff --git a/mysql-test/r/concurrent_insert_basic.result b/mysql-test/r/concurrent_insert_basic.result new file mode 100644 index 00000000000..e6614ea6abb --- /dev/null +++ b/mysql-test/r/concurrent_insert_basic.result @@ -0,0 +1,106 @@ +SET @start_value = @@global.concurrent_insert; +SELECT @start_value; +@start_value +1 +'#--------------------FN_DYNVARS_018_01------------------------#' +SET @@global.concurrent_insert = 0; +SET @@global.concurrent_insert = DEFAULT; +SELECT @@global.concurrent_insert; +@@global.concurrent_insert +1 +'#---------------------FN_DYNVARS_018_02-------------------------#' +SET @@global.concurrent_insert = DEFAULT; +SELECT @@global.concurrent_insert = 1; +@@global.concurrent_insert = 1 +1 +'#--------------------FN_DYNVARS_018_03------------------------#' +SET @@global.concurrent_insert = 0; +SELECT @@global.concurrent_insert; +@@global.concurrent_insert +0 +SET @@global.concurrent_insert = 1; +SELECT @@global.concurrent_insert; +@@global.concurrent_insert +1 +SET @@global.concurrent_insert = 2; +SELECT @@global.concurrent_insert; +@@global.concurrent_insert +2 +'#--------------------FN_DYNVARS_018_04-------------------------#' +SET @@global.concurrent_insert = -1; +Select @@global.concurrent_insert; +@@global.concurrent_insert +0 +SET @@global.concurrent_insert = 100; +Warnings: +Warning 1292 Truncated incorrect concurrent-insert value: '100' +Select @@global.concurrent_insert; +@@global.concurrent_insert +2 +'Bug # 34837: Errors are not coming on assigning invalid values to variable' +SET @@global.concurrent_insert = TRUEF; +ERROR 42000: Incorrect argument type to variable 'concurrent_insert' +SET @@global.concurrent_insert = TRUE_F; +ERROR 42000: Incorrect argument type to variable 'concurrent_insert' +SET @@global.concurrent_insert = FALSE0; +ERROR 42000: Incorrect argument type to variable 'concurrent_insert' +SET @@global.concurrent_insert = OON; +ERROR 42000: Incorrect argument type to variable 'concurrent_insert' +SET @@global.concurrent_insert = ONN; +ERROR 42000: Incorrect argument type to variable 'concurrent_insert' +SET @@global.concurrent_insert = OOFF; +ERROR 42000: Incorrect argument type to variable 'concurrent_insert' +SET @@global.concurrent_insert = 0FF; +ERROR 42000: Incorrect argument type to variable 'concurrent_insert' +SET @@global.concurrent_insert = ' '; +ERROR 42000: Incorrect argument type to variable 'concurrent_insert' +SET @@global.concurrent_insert = " "; +ERROR 42000: Incorrect argument type to variable 'concurrent_insert' +SET @@global.concurrent_insert = ''; +ERROR 42000: Incorrect argument type to variable 'concurrent_insert' +'#-------------------FN_DYNVARS_018_05----------------------------#' +SET @@session.concurrent_insert = 1; +ERROR HY000: Variable 'concurrent_insert' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@session.concurrent_insert = 1; +ERROR HY000: Variable 'concurrent_insert' is a GLOBAL variable +'#----------------------FN_DYNVARS_018_06------------------------#' +SELECT @@global.concurrent_insert = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='concurrent_insert'; +@@global.concurrent_insert = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_018_07----------------------#' +SET @@global.concurrent_insert = OFF; +ERROR 42000: Incorrect argument type to variable 'concurrent_insert' +SET @@global.concurrent_insert = ON; +ERROR 42000: Incorrect argument type to variable 'concurrent_insert' +'#---------------------FN_DYNVARS_018_08----------------------#' +SET @@global.concurrent_insert = TRUE; +SELECT @@global.concurrent_insert; +@@global.concurrent_insert +1 +SET @@global.concurrent_insert = FALSE; +SELECT @@global.concurrent_insert; +@@global.concurrent_insert +0 +'#---------------------FN_DYNVARS_018_09----------------------#' +SET @@global.concurrent_insert = 1; +SELECT @@concurrent_insert = @@global.concurrent_insert; +@@concurrent_insert = @@global.concurrent_insert +1 +'#---------------------FN_DYNVARS_018_10----------------------#' +SET concurrent_insert = 1; +ERROR HY000: Variable 'concurrent_insert' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@concurrent_insert; +@@concurrent_insert +1 +SET global.concurrent_insert = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'concurrent_insert = 1' at line 1 +SELECT global.concurrent_insert; +ERROR 42S02: Unknown table 'global' in field list +SELECT concurrent_insert = @@session.concurrent_insert; +ERROR 42S22: Unknown column 'concurrent_insert' in 'field list' +SET @@global.concurrent_insert = @start_value; +SELECT @@global.concurrent_insert; +@@global.concurrent_insert +1 diff --git a/mysql-test/r/concurrent_insert_func.result b/mysql-test/r/concurrent_insert_func.result new file mode 100644 index 00000000000..87573bb2873 --- /dev/null +++ b/mysql-test/r/concurrent_insert_func.result @@ -0,0 +1,73 @@ +drop table if exists t1; +## Creating new table ## +CREATE TABLE t1 +( +name varchar(30) +); +'#--------------------FN_DYNVARS_018_01-------------------------#' +## Setting initial value of variable to 1 ## +SET @@global.concurrent_insert = 1; +INSERT into t1(name) values('Record_1'); +INSERT into t1(name) values('Record_2'); +INSERT into t1(name) values('Record_3'); +## locking table ## +lock table t1 read local; +## Creating new connection to insert some rows in table ## +## New records should come at the end of all rows ## +INSERT into t1(name) values('Record_4'); +SELECT * from t1; +name +Record_1 +Record_2 +Record_3 +Record_4 +## unlocking tables ## +unlock tables; +## deleting record to create hole in table ## +DELETE from t1 where name ='Record_2'; +'#--------------------FN_DYNVARS_018_02-------------------------#' +'#--------------------FN_DYNVARS_018_03-------------------------#' +## lock table and connect with connection1 ## +lock table t1 read local; +## setting value of concurrent_insert to 2 ## +SET @@global.concurrent_insert=2; +## Inserting record in table, record should go at the end of the table ## +INSERT into t1(name) values('Record_5'); +SELECT * from t1; +name +Record_1 +Record_3 +Record_4 +Record_5 +SELECT @@concurrent_insert; +@@concurrent_insert +2 +## Switching to default connection ## +## Unlocking table ## +unlock tables; +SELECT * from t1; +name +Record_1 +Record_3 +Record_4 +Record_5 +## Inserting new row, this should go in the hole ## +INSERT into t1(name) values('Record_6'); +SELECT * from t1; +name +Record_1 +Record_6 +Record_3 +Record_4 +Record_5 +## connection test_con1 ## +DELETE from t1 where name ='Record_3'; +SELECT * from t1; +name +Record_1 +Record_6 +Record_4 +Record_5 +## Dropping table ## +DROP table t1; +## Disconnecting connection ## diff --git a/mysql-test/r/connect_timeout_basic.result b/mysql-test/r/connect_timeout_basic.result new file mode 100644 index 00000000000..7cdd747fc15 --- /dev/null +++ b/mysql-test/r/connect_timeout_basic.result @@ -0,0 +1,94 @@ +SET @start_value = @@global.connect_timeout; +SELECT @start_value; +@start_value +60 +'#--------------------FN_DYNVARS_019_01------------------------#' +SET @@global.connect_timeout = 100; +SET @@global.connect_timeout = DEFAULT; +SELECT @@global.connect_timeout; +@@global.connect_timeout +10 +'#---------------------FN_DYNVARS_019_02-------------------------#' +SET @@global.connect_timeout = @start_value; +SELECT @@global.connect_timeout = 5; +@@global.connect_timeout = 5 +0 +'#--------------------FN_DYNVARS_019_03------------------------#' +SET @@global.connect_timeout = 2; +SELECT @@global.connect_timeout; +@@global.connect_timeout +2 +SET @@global.connect_timeout = 10000; +SELECT @@global.connect_timeout; +@@global.connect_timeout +10000 +SET @@global.connect_timeout = 21221204; +SELECT @@global.connect_timeout; +@@global.connect_timeout +21221204 +'#--------------------FN_DYNVARS_019_04-------------------------#' +SET @@global.connect_timeout = 1; +Warnings: +Warning 1292 Truncated incorrect connect_timeout value: '1' +SELECT @@global.connect_timeout; +@@global.connect_timeout +2 +SET @@global.connect_timeout = -1024; +Warnings: +Warning 1292 Truncated incorrect connect_timeout value: '0' +SELECT @@global.connect_timeout; +@@global.connect_timeout +2 +SET @@global.connect_timeout = 42949672950; +Warnings: +Warning 1292 Truncated incorrect connect_timeout value: '42949672950' +SELECT @@global.connect_timeout; +@@global.connect_timeout +31536000 +'Bug # 34837: Errors are not coming on assigning invalid values to variable' +SET @@global.connect_timeout = 21221204.10; +ERROR 42000: Incorrect argument type to variable 'connect_timeout' +SET @@global.connect_timeout = ON; +ERROR 42000: Incorrect argument type to variable 'connect_timeout' +'#-------------------FN_DYNVARS_019_05----------------------------#' +SET @@session.connect_timeout = 0; +ERROR HY000: Variable 'connect_timeout' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@session.connect_timeout; +ERROR HY000: Variable 'connect_timeout' is a GLOBAL variable +'#----------------------FN_DYNVARS_019_06------------------------#' +SELECT @@global.connect_timeout = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='connect_timeout'; +@@global.connect_timeout = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_019_07----------------------#' +SET @@global.connect_timeout = TRUE; +Warnings: +Warning 1292 Truncated incorrect connect_timeout value: '1' +SELECT @@global.connect_timeout; +@@global.connect_timeout +2 +SET @@global.connect_timeout = FALSE; +Warnings: +Warning 1292 Truncated incorrect connect_timeout value: '0' +SELECT @@global.connect_timeout; +@@global.connect_timeout +2 +'#---------------------FN_DYNVARS_019_08----------------------#' +SET @@global.connect_timeout = 5; +SELECT @@connect_timeout = @@global.connect_timeout; +@@connect_timeout = @@global.connect_timeout +1 +'#---------------------FN_DYNVARS_019_09----------------------#' +SET connect_timeout = 1; +ERROR HY000: Variable 'connect_timeout' is a GLOBAL variable and should be set with SET GLOBAL +SET global.connect_timeout = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'connect_timeout = 1' at line 1 +SELECT global.connect_timeout; +ERROR 42S02: Unknown table 'global' in field list +SELECT connect_timeout = @@session.connect_timeout; +ERROR 42S22: Unknown column 'connect_timeout' in 'field list' +SET @@global.connect_timeout = @start_value; +SELECT @@global.connect_timeout; +@@global.connect_timeout +60 diff --git a/mysql-test/r/create.result b/mysql-test/r/create.result index 19b3adc9bf5..34820153f13 100644 --- a/mysql-test/r/create.result +++ b/mysql-test/r/create.result @@ -1655,16 +1655,6 @@ Table Create Table show create view имÑ_вью_кодировке_утф8_длиной_больше_чем_42; View Create View character_set_client collation_connection имÑ_вью_кодировке_утф8_длиной_больше_чем_42 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `имÑ_вью_кодировке_утф8_длиной_больше_чем_42` AS select `имÑ_таблицы_в_кодировке_утф8_длиной_больше_чем_48`.`имÑ_полÑ_в_кодировке_утф8_длиной_больше_чем_45` AS `имÑ_полÑ_в_кодировке_утф8_длиной_больше_чем_45` from `имÑ_таблицы_в_кодировке_утф8_длиной_больше_чем_48` utf8 utf8_general_ci -create event имÑ_ÑобытиÑ_в_кодировке_утф8_длиной_больше_чем_48 on schedule every 2 year do select 1; -select EVENT_NAME from information_schema.events -where event_schema='test'; -EVENT_NAME -имÑ_ÑобытиÑ_в_кодировке_утф8_длиной_больше_чем_48 -drop event имÑ_ÑобытиÑ_в_кодировке_утф8_длиной_больше_чем_48; -create event -очень_очень_очень_очень_очень_очень_очень_очень_длиннаÑ_Ñтрока_66 -on schedule every 2 year do select 1; -ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длинна' is too long create trigger имÑ_триггера_в_кодировке_утф8_длиной_больше_чем_49 before insert on имÑ_таблицы_в_кодировке_утф8_длиной_больше_чем_48 for each row set @a:=1; select TRIGGER_NAME from information_schema.triggers where diff --git a/mysql-test/r/ctype_cp932_binlog_stm.result b/mysql-test/r/ctype_cp932_binlog_stm.result index 946c06f1e07..ff6957202d7 100644 --- a/mysql-test/r/ctype_cp932_binlog_stm.result +++ b/mysql-test/r/ctype_cp932_binlog_stm.result @@ -34,15 +34,15 @@ Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 369 Query 1 535 use `test`; CREATE TABLE t4 (s1 CHAR(50) CHARACTER SET latin1, s2 CHAR(50) CHARACTER SET cp932, d DECIMAL(10,2)) -master-bin.000001 535 Query 1 783 use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE bug18293 (IN ins1 CHAR(50), +master-bin.000001 535 Query 1 784 use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE `bug18293`(IN ins1 CHAR(50), IN ins2 CHAR(50) CHARACTER SET cp932, IN ind DECIMAL(10,2)) BEGIN INSERT INTO t4 VALUES (ins1, ins2, ind); END -master-bin.000001 783 Query 1 991 use `test`; INSERT INTO t4 VALUES ( NAME_CONST('ins1',_latin1 0x466F6F2773206120426172), NAME_CONST('ins2',_cp932 0xED40ED41ED42), NAME_CONST('ind',47.93)) -master-bin.000001 991 Query 1 1080 use `test`; DROP PROCEDURE bug18293 -master-bin.000001 1080 Query 1 1159 use `test`; DROP TABLE t4 +master-bin.000001 784 Query 1 992 use `test`; INSERT INTO t4 VALUES ( NAME_CONST('ins1',_latin1 0x466F6F2773206120426172), NAME_CONST('ins2',_cp932 0xED40ED41ED42), NAME_CONST('ind',47.93)) +master-bin.000001 992 Query 1 1081 use `test`; DROP PROCEDURE bug18293 +master-bin.000001 1081 Query 1 1160 use `test`; DROP TABLE t4 End of 5.0 tests SHOW BINLOG EVENTS FROM 364; ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Wrong offset or I/O error diff --git a/mysql-test/r/ctype_gbk.result b/mysql-test/r/ctype_gbk.result index 98a6839be4c..c144ed6881d 100644 --- a/mysql-test/r/ctype_gbk.result +++ b/mysql-test/r/ctype_gbk.result @@ -247,4 +247,11 @@ t1 CREATE TABLE `t1` ( `c2` text NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=gbk drop table t1; +CREATE TABLE t1(a MEDIUMTEXT CHARACTER SET gbk, +b MEDIUMTEXT CHARACTER SET big5); +INSERT INTO t1 VALUES +(REPEAT(0x1125,200000), REPEAT(0x1125,200000)), ('', ''), ('', ''); +SELECT a FROM t1 GROUP BY 1 LIMIT 1 INTO @nullll; +SELECT b FROM t1 GROUP BY 1 LIMIT 1 INTO @nullll; +DROP TABLES t1; End of 5.0 tests diff --git a/mysql-test/r/datadir_basic.result b/mysql-test/r/datadir_basic.result new file mode 100644 index 00000000000..ade6f2873e8 --- /dev/null +++ b/mysql-test/r/datadir_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_004_01----------------------#' +SELECT COUNT(@@GLOBAL.datadir); +COUNT(@@GLOBAL.datadir) +1 +1 Expected +'#---------------------BS_STVARS_004_02----------------------#' +SET @@GLOBAL.datadir=1; +ERROR HY000: Variable 'datadir' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.datadir); +COUNT(@@GLOBAL.datadir) +1 +1 Expected +'#---------------------BS_STVARS_004_03----------------------#' +SELECT @@GLOBAL.datadir = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='datadir'; +@@GLOBAL.datadir = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.datadir); +COUNT(@@GLOBAL.datadir) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='datadir'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_004_04----------------------#' +SELECT @@datadir = @@GLOBAL.datadir; +@@datadir = @@GLOBAL.datadir +1 +1 Expected +'#---------------------BS_STVARS_004_05----------------------#' +SELECT COUNT(@@datadir); +COUNT(@@datadir) +1 +1 Expected +SELECT COUNT(@@local.datadir); +ERROR HY000: Variable 'datadir' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.datadir); +ERROR HY000: Variable 'datadir' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.datadir); +COUNT(@@GLOBAL.datadir) +1 +1 Expected +SELECT datadir = @@SESSION.datadir; +ERROR 42S22: Unknown column 'datadir' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/default_week_format_basic.result b/mysql-test/r/default_week_format_basic.result new file mode 100644 index 00000000000..d513ef1c41e --- /dev/null +++ b/mysql-test/r/default_week_format_basic.result @@ -0,0 +1,168 @@ +SET @start_global_value = @@global.default_week_format; +SELECT @start_global_value; +@start_global_value +0 +SET @start_session_value = @@session.default_week_format; +SELECT @start_session_value; +@start_session_value +0 +'#--------------------FN_DYNVARS_022_01-------------------------#' +SET @@global.default_week_format = 100; +Warnings: +Warning 1292 Truncated incorrect default_week_format value: '100' +SET @@global.default_week_format = DEFAULT; +SELECT @@global.default_week_format; +@@global.default_week_format +0 +SET @@session.default_week_format = 200; +Warnings: +Warning 1292 Truncated incorrect default_week_format value: '200' +SET @@session.default_week_format = DEFAULT; +SELECT @@session.default_week_format; +@@session.default_week_format +0 +'#--------------------FN_DYNVARS_022_02-------------------------#' +SET @@global.default_week_format = @start_global_value; +SELECT @@global.default_week_format = 0; +@@global.default_week_format = 0 +1 +SET @@session.default_week_format = @start_global_value; +SELECT @@session.default_week_format = 0; +@@session.default_week_format = 0 +1 +'#--------------------FN_DYNVARS_022_03-------------------------#' +SET @@global.default_week_format = 1; +SELECT @@global.default_week_format; +@@global.default_week_format +1 +SET @@global.default_week_format = 0; +SELECT @@global.default_week_format; +@@global.default_week_format +0 +SET @@global.default_week_format = 7; +SELECT @@global.default_week_format; +@@global.default_week_format +7 +'#--------------------FN_DYNVARS_022_04-------------------------#' +SET @@session.default_week_format = 1; +SELECT @@session.default_week_format; +@@session.default_week_format +1 +SET @@session.default_week_format = 0; +SELECT @@session.default_week_format; +@@session.default_week_format +0 +SET @@session.default_week_format = 7; +SELECT @@session.default_week_format; +@@session.default_week_format +7 +'#------------------FN_DYNVARS_022_05-----------------------#' +SET @@global.default_week_format = 8; +Warnings: +Warning 1292 Truncated incorrect default_week_format value: '8' +SELECT @@global.default_week_format; +@@global.default_week_format +7 +SET @@global.default_week_format = -1024; +SELECT @@global.default_week_format; +@@global.default_week_format +0 +SET @@global.default_week_format = 65536; +Warnings: +Warning 1292 Truncated incorrect default_week_format value: '65536' +SELECT @@global.default_week_format; +@@global.default_week_format +7 +SET @@global.default_week_format = 65530.30; +ERROR 42000: Incorrect argument type to variable 'default_week_format' +SELECT @@global.default_week_format; +@@global.default_week_format +7 +SET @@global.default_week_format = OFF; +ERROR 42000: Incorrect argument type to variable 'default_week_format' +SELECT @@global.default_week_format; +@@global.default_week_format +7 +SET @@session.default_week_format = ON; +ERROR 42000: Incorrect argument type to variable 'default_week_format' +SELECT @@session.default_week_format; +@@session.default_week_format +7 +SET @@session.default_week_format = 65530.30; +ERROR 42000: Incorrect argument type to variable 'default_week_format' +SELECT @@session.default_week_format; +@@session.default_week_format +7 +SET @@session.default_week_format = 10; +Warnings: +Warning 1292 Truncated incorrect default_week_format value: '10' +SELECT @@session.default_week_format; +@@session.default_week_format +7 +SET @@session.default_week_format = -2; +SELECT @@session.default_week_format; +@@session.default_week_format +0 +SET @@session.default_week_format = 65550; +Warnings: +Warning 1292 Truncated incorrect default_week_format value: '65550' +SELECT @@session.default_week_format; +@@session.default_week_format +7 +'Bug # 34837: Errors are not coming on assigning invalid values to variable' +'#------------------FN_DYNVARS_022_06-----------------------#' +SELECT @@global.default_week_format = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='default_week_format'; +@@global.default_week_format = VARIABLE_VALUE +1 +SELECT @@session.default_week_format = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='default_week_format'; +@@session.default_week_format = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_022_07-----------------------#' +SET @@global.default_week_format = TRUE; +SELECT @@global.default_week_format; +@@global.default_week_format +1 +SET @@global.default_week_format = FALSE; +SELECT @@global.default_week_format; +@@global.default_week_format +0 +'#---------------------FN_DYNVARS_001_08----------------------#' +SET @@global.default_week_format = 0; +SELECT @@default_week_format = @@global.default_week_format; +@@default_week_format = @@global.default_week_format +0 +'#---------------------FN_DYNVARS_001_09----------------------#' +SET @@default_week_format = 1; +SELECT @@default_week_format = @@local.default_week_format; +@@default_week_format = @@local.default_week_format +1 +SELECT @@local.default_week_format = @@session.default_week_format; +@@local.default_week_format = @@session.default_week_format +1 +'#---------------------FN_DYNVARS_001_10----------------------#' +SET default_week_format = 1; +SELECT @@default_week_format; +@@default_week_format +1 +SET local.default_week_format = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'default_week_format = 1' at line 1 +SELECT local.default_week_format; +ERROR 42S02: Unknown table 'local' in field list +SET session.default_week_format = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'default_week_format = 1' at line 1 +SELECT session.default_week_format; +ERROR 42S02: Unknown table 'session' in field list +SELECT default_week_format = @@session.default_week_format; +ERROR 42S22: Unknown column 'default_week_format' in 'field list' +SET @@global.default_week_format = @start_global_value; +SELECT @@global.default_week_format; +@@global.default_week_format +0 +SET @@session.default_week_format = @start_session_value; +SELECT @@session.default_week_format; +@@session.default_week_format +0 diff --git a/mysql-test/r/default_week_format_func.result b/mysql-test/r/default_week_format_func.result new file mode 100644 index 00000000000..279a1785255 --- /dev/null +++ b/mysql-test/r/default_week_format_func.result @@ -0,0 +1,65 @@ +'#--------------------FN_DYNVARS_022_01-------------------------#' +## Setting variable's value to 0 ## +SET @@session.default_week_format = 0; +SELECT @@session.default_week_format; +@@session.default_week_format +0 +SELECT WEEK('2008-01-20'); +WEEK('2008-01-20') +3 +## Setting variable's value to 1 ## +SET @@session.default_week_format = 1; +SELECT @@session.default_week_format; +@@session.default_week_format +1 +SELECT WEEK('2008-01-20'); +WEEK('2008-01-20') +3 +## Setting variable's value to 2 ## +SET @@session.default_week_format = 2; +SELECT @@session.default_week_format; +@@session.default_week_format +2 +SELECT WEEK('2008-01-20'); +WEEK('2008-01-20') +3 +## Setting variable's value to 3 ## +SET @@session.default_week_format = 3; +SELECT @@session.default_week_format; +@@session.default_week_format +3 +SELECT WEEK('2008-01-20'); +WEEK('2008-01-20') +3 +## Setting variable's value to 4 ## +SET @@session.default_week_format = 4; +SELECT @@session.default_week_format; +@@session.default_week_format +4 +SELECT WEEK('2008-01-20'); +WEEK('2008-01-20') +4 +## Setting variable's value to 5 ## +SET @@session.default_week_format = 5; +SELECT @@session.default_week_format; +@@session.default_week_format +5 +SELECT WEEK('2008-01-20'); +WEEK('2008-01-20') +2 +## Setting variable's value to 6 ## +SET @@session.default_week_format = 6; +SELECT @@session.default_week_format; +@@session.default_week_format +6 +SELECT WEEK('2008-01-20'); +WEEK('2008-01-20') +4 +## Setting variable's value to 7 ## +SET @@session.default_week_format = 7; +SELECT @@session.default_week_format; +@@session.default_week_format +7 +SELECT WEEK('2008-01-20'); +WEEK('2008-01-20') +2 diff --git a/mysql-test/r/delay_key_write_basic.result b/mysql-test/r/delay_key_write_basic.result new file mode 100644 index 00000000000..100c62ac47e --- /dev/null +++ b/mysql-test/r/delay_key_write_basic.result @@ -0,0 +1,98 @@ +SET @start_value = @@global.delay_key_write; +SELECT @start_value; +@start_value +ON +'#--------------------FN_DYNVARS_023_01------------------------#' +SET @@global.delay_key_write = OFF; +SET @@global.delay_key_write = DEFAULT; +ERROR 42000: Variable 'delay_key_write' doesn't have a default value +'Bug # 34878: Documentation specifies a DEFAULT value of ON for variable but'; +'its not supported'; +SELECT @@global.delay_key_write; +@@global.delay_key_write +OFF +'#---------------------FN_DYNVARS_023_02-------------------------#' +SET @@global.delay_key_write = NULL; +ERROR 42000: Variable 'delay_key_write' can't be set to the value of 'NULL' +'#--------------------FN_DYNVARS_023_03------------------------#' +SET @@global.delay_key_write = ON; +SELECT @@global.delay_key_write; +@@global.delay_key_write +ON +SET @@global.delay_key_write = OFF; +SELECT @@global.delay_key_write; +@@global.delay_key_write +OFF +SET @@global.delay_key_write = ALL; +SELECT @@global.delay_key_write; +@@global.delay_key_write +ALL +'#--------------------FN_DYNVARS_023_04-------------------------#' +SET @@global.delay_key_write = 3; +ERROR 42000: Variable 'delay_key_write' can't be set to the value of '3' +SET @@global.delay_key_write = -1; +ERROR 42000: Variable 'delay_key_write' can't be set to the value of '-1' +SET @@global.delay_key_write = TRU; +ERROR 42000: Variable 'delay_key_write' can't be set to the value of 'TRU' +SET @@global.delay_key_write = ERROR; +ERROR 42000: Variable 'delay_key_write' can't be set to the value of 'ERROR' +SET @@global.delay_key_write = FALSE0; +ERROR 42000: Variable 'delay_key_write' can't be set to the value of 'FALSE0' +SET @@global.delay_key_write = ONN; +ERROR 42000: Variable 'delay_key_write' can't be set to the value of 'ONN' +SET @@global.delay_key_write = OF; +SELECT @@global.delay_key_write; +@@global.delay_key_write +OFF +'Bug# 34828: Variable is incorrectly accepting OF as a value' +SET @@global.delay_key_write = ' '; +ERROR 42000: Variable 'delay_key_write' can't be set to the value of ' ' +SET @@global.delay_key_write = ""; +ERROR 42000: Variable 'delay_key_write' can't be set to the value of '' +'#-------------------FN_DYNVARS_023_05----------------------------#' +SET @@delay_key_write = 0; +ERROR HY000: Variable 'delay_key_write' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@session.delay_key_write; +ERROR HY000: Variable 'delay_key_write' is a GLOBAL variable +'#----------------------FN_DYNVARS_023_06------------------------#' +SELECT @@delay_key_write = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='delay_key_write'; +@@delay_key_write = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_023_07-------------------------#' +SET @@global.delay_key_write = 0; +SELECT @@global.delay_key_write; +@@global.delay_key_write +OFF +SET @@global.delay_key_write = 1; +SELECT @@global.delay_key_write; +@@global.delay_key_write +ON +SET @@global.delay_key_write = 2; +SELECT @@global.delay_key_write; +@@global.delay_key_write +ALL +'#---------------------FN_DYNVARS_023_08----------------------#' +SET @@global.delay_key_write = TRUE; +SELECT @@global.delay_key_write; +@@global.delay_key_write +ON +SET @@global.delay_key_write = FALSE; +SELECT @@global.delay_key_write; +@@global.delay_key_write +OFF +'#---------------------FN_DYNVARS_023_09----------------------#' +SET delay_key_write = ON; +ERROR HY000: Variable 'delay_key_write' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@delay_key_write; +@@delay_key_write +OFF +SET GLOBAL delay_key_write = OFF; +SELECT @@global.delay_key_write; +@@global.delay_key_write +OFF +SET @@global.delay_key_write = @start_value; +SELECT @@global.delay_key_write; +@@global.delay_key_write +ON diff --git a/mysql-test/r/delay_key_write_func.result b/mysql-test/r/delay_key_write_func.result new file mode 100644 index 00000000000..ca4e25e08b1 --- /dev/null +++ b/mysql-test/r/delay_key_write_func.result @@ -0,0 +1,67 @@ +'#--------------------FN_DYNVARS_023_01-------------------------#' +SET @@global.delay_key_write = ON; +SELECT @@global.delay_key_write; +@@global.delay_key_write +ON +'connect (user1,localhost,root,,,,)' +'connection user1' +SELECT @@global.delay_key_write AS res_is_ON; +res_is_ON +ON +SET @@global.delay_key_write = ALL; +'connect (user1,localhost,root,,,,)' +'connection user1' +SELECT @@global.delay_key_write AS res_is_ALL; +res_is_ALL +ALL +'#--------------------FN_DYNVARS_023_02-------------------------#' +'---check when delay_key_write is OFF---' +SET @@global.delay_key_write = OFF; +FLUSH STATUS; +CALL sp_addRecords(1,10); +SHOW STATUS LIKE 'Key_reads'; +Variable_name Value +Key_reads 0 +SHOW STATUS LIKE 'Key_writes'; +Variable_name Value +Key_writes 9 +SHOW STATUS LIKE 'Key_write_requests'; +Variable_name Value +Key_write_requests 9 +select count(*) from t1; +count(*) +9 +'----check when delay_key_write is ON---' +SET @@global.delay_key_write = ON; +FLUSH STATUS; +CALL sp_addRecords(1,10); +SHOW STATUS LIKE 'Key_reads'; +Variable_name Value +Key_reads 0 +SHOW STATUS LIKE 'Key_writes'; +Variable_name Value +Key_writes 0 +SHOW STATUS LIKE 'Key_write_requests'; +Variable_name Value +Key_write_requests 9 +select count(*) from t1; +count(*) +9 +'----check when delay_key_write is ALL---' +SET @@global.delay_key_write = ALL; +FLUSH STATUS; +CALL sp_addRecords(1,10); +SHOW STATUS LIKE 'Key_reads'; +Variable_name Value +Key_reads 0 +SHOW STATUS LIKE 'Key_writes'; +Variable_name Value +Key_writes 0 +SHOW STATUS LIKE 'Key_write_requests'; +Variable_name Value +Key_write_requests 9 +select count(*) from t1; +count(*) +9 +DROP PROCEDURE sp_addRecords; +DROP TABLE t1; diff --git a/mysql-test/r/delayed_insert_limit_basic_32.result b/mysql-test/r/delayed_insert_limit_basic_32.result new file mode 100644 index 00000000000..cb6820b2941 --- /dev/null +++ b/mysql-test/r/delayed_insert_limit_basic_32.result @@ -0,0 +1,112 @@ +SET @start_value = @@global.delayed_insert_limit; +SELECT @start_value; +@start_value +100 +'#--------------------FN_DYNVARS_024_01------------------------#' +SET @@global.delayed_insert_limit = 100; +SET @@global.delayed_insert_limit = DEFAULT; +SELECT @@global.delayed_insert_limit; +@@global.delayed_insert_limit +100 +'#---------------------FN_DYNVARS_024_02-------------------------#' +SET @@global.delayed_insert_limit = @start_value; +SELECT @@global.delayed_insert_limit = 100; +@@global.delayed_insert_limit = 100 +1 +'#--------------------FN_DYNVARS_024_03------------------------#' +SET @@global.delayed_insert_limit = 10000; +SELECT @@global.delayed_insert_limit; +@@global.delayed_insert_limit +10000 +SET @@global.delayed_insert_limit = 4294967295; +SELECT @@global.delayed_insert_limit; +@@global.delayed_insert_limit +4294967295 +SET @@global.delayed_insert_limit = 1; +SELECT @@global.delayed_insert_limit; +@@global.delayed_insert_limit +1 +'#--------------------FN_DYNVARS_024_04-------------------------#' +SET @@global.delayed_insert_limit = 0; +Warnings: +Warning 1292 Truncated incorrect delayed_insert_limit value: '0' +SELECT @@global.delayed_insert_limit; +@@global.delayed_insert_limit +1 +SET @@global.delayed_insert_limit = -1024; +Warnings: +Warning 1292 Truncated incorrect delayed_insert_limit value: '0' +SELECT @@global.delayed_insert_limit; +@@global.delayed_insert_limit +1 +SET @@global.delayed_insert_limit = 42949672950; +Warnings: +Warning 1292 Truncated incorrect delayed_insert_limit value: '42949672950' +SELECT @@global.delayed_insert_limit; +@@global.delayed_insert_limit +4294967295 +'Bug # 34837: Errors are not coming on assigning invalid values to variable' +SET @@global.delayed_insert_limit = 429496729.5; +ERROR 42000: Incorrect argument type to variable 'delayed_insert_limit' +SELECT @@global.delayed_insert_limit; +@@global.delayed_insert_limit +4294967295 +SET @@global.delayed_insert_limit = ON; +ERROR 42000: Incorrect argument type to variable 'delayed_insert_limit' +SELECT @@global.delayed_insert_limit; +@@global.delayed_insert_limit +4294967295 +'#-------------------FN_DYNVARS_024_05----------------------------#' +SET @@session.delayed_insert_limit = 0; +ERROR HY000: Variable 'delayed_insert_limit' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@Session.delayed_insert_limit; +ERROR HY000: Variable 'delayed_insert_limit' is a GLOBAL variable +'#----------------------FN_DYNVARS_024_06------------------------#' +SELECT @@global.delayed_insert_limit = +VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='delayed_insert_limit'; +@@global.delayed_insert_limit = +VARIABLE_VALUE +1 +SELECT @@delayed_insert_limit = +VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='delayed_insert_limit'; +@@delayed_insert_limit = +VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_024_07----------------------#' +SET @@global.delayed_insert_limit = TRUE; +SELECT @@global.delayed_insert_limit; +@@global.delayed_insert_limit +1 +SET @@global.delayed_insert_limit = FALSE; +Warnings: +Warning 1292 Truncated incorrect delayed_insert_limit value: '0' +SELECT @@global.delayed_insert_limit; +@@global.delayed_insert_limit +1 +'#---------------------FN_DYNVARS_024_08----------------------#' +SET @@global.delayed_insert_limit = 1; +SELECT @@delayed_insert_limit = @@global.delayed_insert_limit; +@@delayed_insert_limit = @@global.delayed_insert_limit +1 +'#---------------------FN_DYNVARS_024_09----------------------#' +SET delayed_insert_limit = 1; +ERROR HY000: Variable 'delayed_insert_limit' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@delayed_insert_limit; +@@delayed_insert_limit +1 +SET local.delayed_insert_limit = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'delayed_insert_limit = 1' at line 1 +SELECT local.delayed_insert_limit; +ERROR 42S02: Unknown table 'local' in field list +SET global.delayed_insert_limit = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'delayed_insert_limit = 1' at line 1 +SELECT global.delayed_insert_limit; +ERROR 42S02: Unknown table 'global' in field list +SELECT delayed_insert_limit = @@session.delayed_insert_limit; +ERROR 42S22: Unknown column 'delayed_insert_limit' in 'field list' +SET @@global.delayed_insert_limit = @start_value; +SELECT @@global.delayed_insert_limit; +@@global.delayed_insert_limit +100 diff --git a/mysql-test/r/delayed_insert_limit_basic_64.result b/mysql-test/r/delayed_insert_limit_basic_64.result new file mode 100644 index 00000000000..246bf0e8734 --- /dev/null +++ b/mysql-test/r/delayed_insert_limit_basic_64.result @@ -0,0 +1,110 @@ +SET @start_value = @@global.delayed_insert_limit; +SELECT @start_value; +@start_value +100 +'#--------------------FN_DYNVARS_024_01------------------------#' +SET @@global.delayed_insert_limit = 100; +SET @@global.delayed_insert_limit = DEFAULT; +SELECT @@global.delayed_insert_limit; +@@global.delayed_insert_limit +100 +'#---------------------FN_DYNVARS_024_02-------------------------#' +SET @@global.delayed_insert_limit = @start_value; +SELECT @@global.delayed_insert_limit = 100; +@@global.delayed_insert_limit = 100 +1 +'#--------------------FN_DYNVARS_024_03------------------------#' +SET @@global.delayed_insert_limit = 10000; +SELECT @@global.delayed_insert_limit; +@@global.delayed_insert_limit +10000 +SET @@global.delayed_insert_limit = 4294967295; +SELECT @@global.delayed_insert_limit; +@@global.delayed_insert_limit +4294967295 +SET @@global.delayed_insert_limit = 1; +SELECT @@global.delayed_insert_limit; +@@global.delayed_insert_limit +1 +'#--------------------FN_DYNVARS_024_04-------------------------#' +SET @@global.delayed_insert_limit = 0; +Warnings: +Warning 1292 Truncated incorrect delayed_insert_limit value: '0' +SELECT @@global.delayed_insert_limit; +@@global.delayed_insert_limit +1 +SET @@global.delayed_insert_limit = -1024; +Warnings: +Warning 1292 Truncated incorrect delayed_insert_limit value: '0' +SELECT @@global.delayed_insert_limit; +@@global.delayed_insert_limit +1 +SET @@global.delayed_insert_limit = 42949672950; +SELECT @@global.delayed_insert_limit; +@@global.delayed_insert_limit +42949672950 +'Bug # 34837: Errors are not coming on assigning invalid values to variable' +SET @@global.delayed_insert_limit = 429496729.5; +ERROR 42000: Incorrect argument type to variable 'delayed_insert_limit' +SELECT @@global.delayed_insert_limit; +@@global.delayed_insert_limit +42949672950 +SET @@global.delayed_insert_limit = ON; +ERROR 42000: Incorrect argument type to variable 'delayed_insert_limit' +SELECT @@global.delayed_insert_limit; +@@global.delayed_insert_limit +42949672950 +'#-------------------FN_DYNVARS_024_05----------------------------#' +SET @@session.delayed_insert_limit = 0; +ERROR HY000: Variable 'delayed_insert_limit' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@Session.delayed_insert_limit; +ERROR HY000: Variable 'delayed_insert_limit' is a GLOBAL variable +'#----------------------FN_DYNVARS_024_06------------------------#' +SELECT @@global.delayed_insert_limit = +VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='delayed_insert_limit'; +@@global.delayed_insert_limit = +VARIABLE_VALUE +1 +SELECT @@delayed_insert_limit = +VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='delayed_insert_limit'; +@@delayed_insert_limit = +VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_024_07----------------------#' +SET @@global.delayed_insert_limit = TRUE; +SELECT @@global.delayed_insert_limit; +@@global.delayed_insert_limit +1 +SET @@global.delayed_insert_limit = FALSE; +Warnings: +Warning 1292 Truncated incorrect delayed_insert_limit value: '0' +SELECT @@global.delayed_insert_limit; +@@global.delayed_insert_limit +1 +'#---------------------FN_DYNVARS_024_08----------------------#' +SET @@global.delayed_insert_limit = 1; +SELECT @@delayed_insert_limit = @@global.delayed_insert_limit; +@@delayed_insert_limit = @@global.delayed_insert_limit +1 +'#---------------------FN_DYNVARS_024_09----------------------#' +SET delayed_insert_limit = 1; +ERROR HY000: Variable 'delayed_insert_limit' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@delayed_insert_limit; +@@delayed_insert_limit +1 +SET local.delayed_insert_limit = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'delayed_insert_limit = 1' at line 1 +SELECT local.delayed_insert_limit; +ERROR 42S02: Unknown table 'local' in field list +SET global.delayed_insert_limit = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'delayed_insert_limit = 1' at line 1 +SELECT global.delayed_insert_limit; +ERROR 42S02: Unknown table 'global' in field list +SELECT delayed_insert_limit = @@session.delayed_insert_limit; +ERROR 42S22: Unknown column 'delayed_insert_limit' in 'field list' +SET @@global.delayed_insert_limit = @start_value; +SELECT @@global.delayed_insert_limit; +@@global.delayed_insert_limit +100 diff --git a/mysql-test/r/delayed_insert_limit_func.result b/mysql-test/r/delayed_insert_limit_func.result new file mode 100644 index 00000000000..d7129d24498 --- /dev/null +++ b/mysql-test/r/delayed_insert_limit_func.result @@ -0,0 +1,186 @@ +** Setup ** + +Creating connection con0 +Creating connection con1 +SET @global_delayed_insert_limit = @@GLOBAL.delayed_insert_limit; +CREATE TABLE t1 (a varchar(100)); +'#--------------------FN_DYNVARS_25_01-------------------------#' +SET GLOBAL delayed_insert_limit = 9; +** Connection con0 ** +SET GLOBAL delayed_insert_limit = 9; +** Connection con1 ** +SET GLOBAL delayed_insert_limit = 9; +** Connection default ** +SET GLOBAL delayed_insert_limit = 9; +INSERT INTO t1 VALUES('1'); +INSERT INTO t1 VALUES('2'); +INSERT INTO t1 VALUES('3'); +INSERT INTO t1 VALUES('4'); +INSERT INTO t1 VALUES('5'); +INSERT INTO t1 VALUES('6'); +LOCK TABLE t1 WRITE; +** Connection con1 ** +INSERT DELAYED INTO t1 VALUES('7'); +INSERT DELAYED INTO t1 VALUES('8'); +INSERT DELAYED INTO t1 VALUES('9'); +INSERT DELAYED INTO t1 VALUES('10'); +INSERT DELAYED INTO t1 VALUES('11'); +INSERT DELAYED INTO t1 VALUES('12'); +INSERT DELAYED INTO t1 VALUES('13'); +INSERT DELAYED INTO t1 VALUES('14'); +INSERT DELAYED INTO t1 VALUES('15'); +INSERT DELAYED INTO t1 VALUES('16'); +INSERT DELAYED INTO t1 VALUES('17'); +INSERT DELAYED INTO t1 VALUES('18'); +INSERT DELAYED INTO t1 VALUES('19'); +INSERT DELAYED INTO t1 VALUES('20'); +INSERT DELAYED INTO t1 VALUES('21'); +INSERT DELAYED INTO t1 VALUES('22');| +** Connection con0 ** +SELECT * FROM t1;| +** Connection default ** +Waiting for 1 sec +UNLOCK TABLES; +** Connection con0 ** +a +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +'Bug#35386: insert delayed inserts 1 + limit rows instead of just limit rows' +** Connection default ** +Waiting for 1 sec +Checking if the delayed insert continued afterwards +SELECT * FROM t1; +a +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +DELETE FROM t1; +'#--------------------FN_DYNVARS_25_02-------------------------#' +SET GLOBAL delayed_insert_limit = 20; +** Connection con0 ** +SET GLOBAL delayed_insert_limit = 20; +** Connection con1 ** +SET GLOBAL delayed_insert_limit = 20; +** Connection default ** +SET GLOBAL delayed_insert_limit = 20; +INSERT INTO t1 VALUES('1'); +INSERT INTO t1 VALUES('2'); +INSERT INTO t1 VALUES('3'); +INSERT INTO t1 VALUES('4'); +INSERT INTO t1 VALUES('5'); +INSERT INTO t1 VALUES('6'); +LOCK TABLE t1 WRITE; +** Connection con1 ** +Asynchronous execute +INSERT DELAYED INTO t1 VALUES('7'); +INSERT DELAYED INTO t1 VALUES('8'); +INSERT DELAYED INTO t1 VALUES('9'); +INSERT DELAYED INTO t1 VALUES('10'); +INSERT DELAYED INTO t1 VALUES('11'); +INSERT DELAYED INTO t1 VALUES('12'); +INSERT DELAYED INTO t1 VALUES('13'); +INSERT DELAYED INTO t1 VALUES('14'); +INSERT DELAYED INTO t1 VALUES('15'); +INSERT DELAYED INTO t1 VALUES('16'); +INSERT DELAYED INTO t1 VALUES('17'); +INSERT DELAYED INTO t1 VALUES('18'); +INSERT DELAYED INTO t1 VALUES('19'); +INSERT DELAYED INTO t1 VALUES('20'); +INSERT DELAYED INTO t1 VALUES('21'); +INSERT DELAYED INTO t1 VALUES('22');| +** Connection con0 ** +Asynchronous execute +SELECT * FROM t1;| +** Connection default ** +Waiting for 1 sec +UNLOCK TABLES; +** Connection con0 ** +Asynchronous execute result +a +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +** Connection default** +Waiting for 1 sec +Checking if the delayed insert gives the same result afterwards +SELECT * FROM t1; +a +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +DELETE FROM t1; +Switching to default +Disconnecting from con1, con0 +DROP TABLE t1; +SET @@GLOBAL.delayed_insert_limit = @global_delayed_insert_limit; diff --git a/mysql-test/r/delayed_insert_timeout_basic.result b/mysql-test/r/delayed_insert_timeout_basic.result new file mode 100644 index 00000000000..4049907eb80 --- /dev/null +++ b/mysql-test/r/delayed_insert_timeout_basic.result @@ -0,0 +1,114 @@ +SET @start_value = @@global.delayed_insert_timeout; +SELECT @start_value; +@start_value +300 +'#--------------------FN_DYNVARS_025_01------------------------#' +SET @@global.delayed_insert_timeout = 100; +SET @@global.delayed_insert_timeout = DEFAULT; +SELECT @@global.delayed_insert_timeout; +@@global.delayed_insert_timeout +300 +'#---------------------FN_DYNVARS_025_02-------------------------#' +SET @@global.delayed_insert_timeout = @start_value; +SELECT @@global.delayed_insert_timeout = 300; +@@global.delayed_insert_timeout = 300 +1 +'#--------------------FN_DYNVARS_025_03------------------------#' +SET @@global.delayed_insert_timeout = 10000; +SELECT @@global.delayed_insert_timeout; +@@global.delayed_insert_timeout +10000 +SET @@global.delayed_insert_timeout = 429; +SELECT @@global.delayed_insert_timeout; +@@global.delayed_insert_timeout +429 +SET @@global.delayed_insert_timeout = 1; +SELECT @@global.delayed_insert_timeout; +@@global.delayed_insert_timeout +1 +'#--------------------FN_DYNVARS_025_04-------------------------#' +SET @@global.delayed_insert_timeout = 0; +Warnings: +Warning 1292 Truncated incorrect delayed_insert_timeout value: '0' +SELECT @@global.delayed_insert_timeout; +@@global.delayed_insert_timeout +1 +SET @@global.delayed_insert_timeout = -1024; +Warnings: +Warning 1292 Truncated incorrect delayed_insert_timeout value: '0' +SELECT @@global.delayed_insert_timeout; +@@global.delayed_insert_timeout +1 +SET @@global.delayed_insert_timeout = 42949672950; +Warnings: +Warning 1292 Truncated incorrect delayed_insert_timeout value: '42949672950' +SELECT @@global.delayed_insert_timeout; +@@global.delayed_insert_timeout +31536000 +'Bug # 34837: Errors are not coming on assigning invalid values to variable' +SET @@global.delayed_insert_timeout = 429496729.5; +ERROR 42000: Incorrect argument type to variable 'delayed_insert_timeout' +SELECT @@global.delayed_insert_timeout; +@@global.delayed_insert_timeout +31536000 +SET @@global.delayed_insert_timeout = ON; +ERROR 42000: Incorrect argument type to variable 'delayed_insert_timeout' +SELECT @@global.delayed_insert_timeout; +@@global.delayed_insert_timeout +31536000 +'#-------------------FN_DYNVARS_025_05----------------------------#' +SET @@session.delayed_insert_timeout = 0; +ERROR HY000: Variable 'delayed_insert_timeout' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@session.dalayed_insert_timeout; +ERROR HY000: Unknown system variable 'dalayed_insert_timeout' +'#----------------------FN_DYNVARS_025_06------------------------#' +SELECT @@global.delayed_insert_timeout = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='delayed_insert_timeout'; +@@global.delayed_insert_timeout = VARIABLE_VALUE +1 +SELECT @@delayed_insert_timeout = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='delayed_insert_timeout'; +@@delayed_insert_timeout = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_025_07----------------------#' +SET @@global.delayed_insert_timeout = TRUE; +SELECT @@global.delayed_insert_timeout; +@@global.delayed_insert_timeout +1 +SET @@global.delayed_insert_timeout = FALSE; +Warnings: +Warning 1292 Truncated incorrect delayed_insert_timeout value: '0' +SELECT @@global.delayed_insert_timeout; +@@global.delayed_insert_timeout +1 +'#---------------------FN_DYNVARS_025_08----------------------#' +SET @@global.delayed_insert_timeout = 1; +SELECT @@delayed_insert_timeout = @@global.delayed_insert_timeout; +@@delayed_insert_timeout = @@global.delayed_insert_timeout +1 +'#---------------------FN_DYNVARS_025_09----------------------#' +SET delayed_insert_timeout = 1; +ERROR HY000: Variable 'delayed_insert_timeout' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@delayed_insert_timeout; +@@delayed_insert_timeout +1 +SET local.delayed_insert_timeout = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'delayed_insert_timeout = 1' at line 1 +SELECT local.delayed_insert_timeout; +ERROR 42S02: Unknown table 'local' in field list +SET global.delayed_insert_timeout = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'delayed_insert_timeout = 1' at line 1 +SELECT global.delayed_insert_timeout; +ERROR 42S02: Unknown table 'global' in field list +SELECT delayed_insert_timeout = @@session.delayed_insert_timeout; +ERROR 42S22: Unknown column 'delayed_insert_timeout' in 'field list' +SET @@global.delayed_insert_timeout = @start_value; +SELECT @@global.delayed_insert_timeout; +@@global.delayed_insert_timeout +300 +SET @@global.delayed_insert_timeout = @start_value; +SELECT @@global.delayed_insert_timeout; +@@global.delayed_insert_timeout +300 diff --git a/mysql-test/r/delayed_queue_size_basic_32.result b/mysql-test/r/delayed_queue_size_basic_32.result new file mode 100644 index 00000000000..6bfa6f0de40 --- /dev/null +++ b/mysql-test/r/delayed_queue_size_basic_32.result @@ -0,0 +1,110 @@ +SET @start_value = @@global.delayed_queue_size; +SELECT @start_value; +@start_value +1000 +'#--------------------FN_DYNVARS_026_01------------------------#' +SET @@global.delayed_queue_size = 100; +SET @@global.delayed_queue_size = DEFAULT; +SELECT @@global.delayed_queue_size; +@@global.delayed_queue_size +1000 +'#---------------------FN_DYNVARS_026_02-------------------------#' +SET @@global.delayed_queue_size = @start_value; +SELECT @@global.delayed_queue_size = 1000; +@@global.delayed_queue_size = 1000 +1 +'#--------------------FN_DYNVARS_026_03------------------------#' +SET @@global.delayed_queue_size = 10000; +SELECT @@global.delayed_queue_size; +@@global.delayed_queue_size +10000 +SET @@global.delayed_queue_size = 4294967295; +SELECT @@global.delayed_queue_size; +@@global.delayed_queue_size +4294967295 +SET @@global.delayed_queue_size = 1; +SELECT @@global.delayed_queue_size; +@@global.delayed_queue_size +1 +'#--------------------FN_DYNVARS_026_04-------------------------#' +SET @@global.delayed_queue_size = 0; +Warnings: +Warning 1292 Truncated incorrect delayed_queue_size value: '0' +SELECT @@global.delayed_queue_size; +@@global.delayed_queue_size +1 +SET @@global.delayed_queue_size = -1024; +Warnings: +Warning 1292 Truncated incorrect delayed_queue_size value: '0' +SELECT @@global.delayed_queue_size; +@@global.delayed_queue_size +1 +SET @@global.delayed_queue_size = 42949672950; +Warnings: +Warning 1292 Truncated incorrect delayed_queue_size value: '42949672950' +SELECT @@global.delayed_queue_size; +@@global.delayed_queue_size +4294967295 +'Bug # 34837: Errors are not coming on assigning invalid values to variable' +SET @@global.delayed_queue_size = 429496729.5; +ERROR 42000: Incorrect argument type to variable 'delayed_queue_size' +SELECT @@global.delayed_queue_size; +@@global.delayed_queue_size +4294967295 +SET @@global.delayed_queue_size = ON; +ERROR 42000: Incorrect argument type to variable 'delayed_queue_size' +SELECT @@delayed_queue_size; +@@delayed_queue_size +4294967295 +'#-------------------FN_DYNVARS_026_05----------------------------#' +SET @@session.delayed_queue_size = 0; +ERROR HY000: Variable 'delayed_queue_size' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@session.delayed_queue_size; +ERROR HY000: Variable 'delayed_queue_size' is a GLOBAL variable +'#----------------------FN_DYNVARS_026_06------------------------#' +SELECT @@global.delayed_queue_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='delayed_queue_size'; +@@global.delayed_queue_size = VARIABLE_VALUE +1 +SELECT @@delayed_queue_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='delayed_queue_size'; +@@delayed_queue_size = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_026_07----------------------#' +SET @@global.delayed_queue_size = TRUE; +SELECT @@global.delayed_queue_size; +@@global.delayed_queue_size +1 +SET @@global.delayed_queue_size = FALSE; +Warnings: +Warning 1292 Truncated incorrect delayed_queue_size value: '0' +SELECT @@global.delayed_queue_size; +@@global.delayed_queue_size +1 +'#---------------------FN_DYNVARS_026_08----------------------#' +SET @@global.delayed_queue_size = 1; +SELECT @@delayed_queue_size = @@global.delayed_queue_size; +@@delayed_queue_size = @@global.delayed_queue_size +1 +'#---------------------FN_DYNVARS_026_09----------------------#' +SET delayed_queue_size = 1; +ERROR HY000: Variable 'delayed_queue_size' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@delayed_queue_size; +@@delayed_queue_size +1 +SET local.delayed_queue_size = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'delayed_queue_size = 1' at line 1 +SELECT local.delayed_queue_size; +ERROR 42S02: Unknown table 'local' in field list +SET global.delayed_queue_size = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'delayed_queue_size = 1' at line 1 +SELECT global.delayed_queue_size; +ERROR 42S02: Unknown table 'global' in field list +SELECT delayed_queue_size = @@session.delayed_queue_size; +ERROR 42S22: Unknown column 'delayed_queue_size' in 'field list' +SET @@global.delayed_queue_size = @start_value; +SELECT @@global.delayed_queue_size; +@@global.delayed_queue_size +1000 diff --git a/mysql-test/r/delayed_queue_size_basic_64.result b/mysql-test/r/delayed_queue_size_basic_64.result new file mode 100644 index 00000000000..d575626b0a1 --- /dev/null +++ b/mysql-test/r/delayed_queue_size_basic_64.result @@ -0,0 +1,108 @@ +SET @start_value = @@global.delayed_queue_size; +SELECT @start_value; +@start_value +1000 +'#--------------------FN_DYNVARS_026_01------------------------#' +SET @@global.delayed_queue_size = 100; +SET @@global.delayed_queue_size = DEFAULT; +SELECT @@global.delayed_queue_size; +@@global.delayed_queue_size +1000 +'#---------------------FN_DYNVARS_026_02-------------------------#' +SET @@global.delayed_queue_size = @start_value; +SELECT @@global.delayed_queue_size = 1000; +@@global.delayed_queue_size = 1000 +1 +'#--------------------FN_DYNVARS_026_03------------------------#' +SET @@global.delayed_queue_size = 10000; +SELECT @@global.delayed_queue_size; +@@global.delayed_queue_size +10000 +SET @@global.delayed_queue_size = 4294967295; +SELECT @@global.delayed_queue_size; +@@global.delayed_queue_size +4294967295 +SET @@global.delayed_queue_size = 1; +SELECT @@global.delayed_queue_size; +@@global.delayed_queue_size +1 +'#--------------------FN_DYNVARS_026_04-------------------------#' +SET @@global.delayed_queue_size = 0; +Warnings: +Warning 1292 Truncated incorrect delayed_queue_size value: '0' +SELECT @@global.delayed_queue_size; +@@global.delayed_queue_size +1 +SET @@global.delayed_queue_size = -1024; +Warnings: +Warning 1292 Truncated incorrect delayed_queue_size value: '0' +SELECT @@global.delayed_queue_size; +@@global.delayed_queue_size +1 +SET @@global.delayed_queue_size = 42949672950; +SELECT @@global.delayed_queue_size; +@@global.delayed_queue_size +42949672950 +'Bug # 34837: Errors are not coming on assigning invalid values to variable' +SET @@global.delayed_queue_size = 429496729.5; +ERROR 42000: Incorrect argument type to variable 'delayed_queue_size' +SELECT @@global.delayed_queue_size; +@@global.delayed_queue_size +42949672950 +SET @@global.delayed_queue_size = ON; +ERROR 42000: Incorrect argument type to variable 'delayed_queue_size' +SELECT @@delayed_queue_size; +@@delayed_queue_size +42949672950 +'#-------------------FN_DYNVARS_026_05----------------------------#' +SET @@session.delayed_queue_size = 0; +ERROR HY000: Variable 'delayed_queue_size' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@session.delayed_queue_size; +ERROR HY000: Variable 'delayed_queue_size' is a GLOBAL variable +'#----------------------FN_DYNVARS_026_06------------------------#' +SELECT @@global.delayed_queue_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='delayed_queue_size'; +@@global.delayed_queue_size = VARIABLE_VALUE +1 +SELECT @@delayed_queue_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='delayed_queue_size'; +@@delayed_queue_size = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_026_07----------------------#' +SET @@global.delayed_queue_size = TRUE; +SELECT @@global.delayed_queue_size; +@@global.delayed_queue_size +1 +SET @@global.delayed_queue_size = FALSE; +Warnings: +Warning 1292 Truncated incorrect delayed_queue_size value: '0' +SELECT @@global.delayed_queue_size; +@@global.delayed_queue_size +1 +'#---------------------FN_DYNVARS_026_08----------------------#' +SET @@global.delayed_queue_size = 1; +SELECT @@delayed_queue_size = @@global.delayed_queue_size; +@@delayed_queue_size = @@global.delayed_queue_size +1 +'#---------------------FN_DYNVARS_026_09----------------------#' +SET delayed_queue_size = 1; +ERROR HY000: Variable 'delayed_queue_size' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@delayed_queue_size; +@@delayed_queue_size +1 +SET local.delayed_queue_size = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'delayed_queue_size = 1' at line 1 +SELECT local.delayed_queue_size; +ERROR 42S02: Unknown table 'local' in field list +SET global.delayed_queue_size = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'delayed_queue_size = 1' at line 1 +SELECT global.delayed_queue_size; +ERROR 42S02: Unknown table 'global' in field list +SELECT delayed_queue_size = @@session.delayed_queue_size; +ERROR 42S22: Unknown column 'delayed_queue_size' in 'field list' +SET @@global.delayed_queue_size = @start_value; +SELECT @@global.delayed_queue_size; +@@global.delayed_queue_size +1000 diff --git a/mysql-test/r/distinct.result b/mysql-test/r/distinct.result index 15e4c3f15b3..1fbda27f5da 100644 --- a/mysql-test/r/distinct.result +++ b/mysql-test/r/distinct.result @@ -694,7 +694,7 @@ INSERT INTO t1(a, b, c) VALUES (1, 1, 1), (1, 2, 3); EXPLAIN SELECT DISTINCT a, b, d, c FROM t1; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 index NULL a 16 NULL 6 Using index +1 SIMPLE t1 range NULL PRIMARY 16 NULL 7 Using index for group-by; Using temporary SELECT DISTINCT a, b, d, c FROM t1; a b d c 1 1 0 1 diff --git a/mysql-test/r/div_precision_increment_basic.result b/mysql-test/r/div_precision_increment_basic.result new file mode 100644 index 00000000000..d0311afa681 --- /dev/null +++ b/mysql-test/r/div_precision_increment_basic.result @@ -0,0 +1,186 @@ +SET @start_global_value = @@global.div_precision_increment; +SELECT @start_global_value; +@start_global_value +4 +SET @start_session_value = @@session.div_precision_increment; +SELECT @start_session_value; +@start_session_value +4 +'#--------------------FN_DYNVARS_027_01-------------------------#' +SET @@global.div_precision_increment = 100; +Warnings: +Warning 1292 Truncated incorrect div_precision_increment value: '100' +SET @@global.div_precision_increment = DEFAULT; +SELECT @@global.div_precision_increment; +@@global.div_precision_increment +4 +SET @@session.div_precision_increment = 200; +Warnings: +Warning 1292 Truncated incorrect div_precision_increment value: '200' +SET @@session.div_precision_increment = DEFAULT; +SELECT @@session.div_precision_increment; +@@session.div_precision_increment +4 +'#--------------------FN_DYNVARS_027_02-------------------------#' +SET @@global.div_precision_increment = @start_global_value; +SELECT @@global.div_precision_increment = 4; +@@global.div_precision_increment = 4 +1 +SET @@session.div_precision_increment = @start_session_value; +SELECT @@session.div_precision_increment = 4; +@@session.div_precision_increment = 4 +1 +'#--------------------FN_DYNVARS_027_03-------------------------#' +SET @@global.div_precision_increment = 1; +SELECT @@global.div_precision_increment; +@@global.div_precision_increment +1 +SET @@global.div_precision_increment = 0; +SELECT @@global.div_precision_increment; +@@global.div_precision_increment +0 +SET @@global.div_precision_increment = 10; +SELECT @@global.div_precision_increment; +@@global.div_precision_increment +10 +SET @@global.div_precision_increment = 30; +SELECT @@global.div_precision_increment; +@@global.div_precision_increment +30 +'#--------------------FN_DYNVARS_027_04-------------------------#' +SET @@session.div_precision_increment = 1; +SELECT @@session.div_precision_increment; +@@session.div_precision_increment +1 +SET @@session.div_precision_increment = 0; +SELECT @@session.div_precision_increment; +@@session.div_precision_increment +0 +SET @@session.div_precision_increment = 7; +SELECT @@session.div_precision_increment; +@@session.div_precision_increment +7 +SET @@session.div_precision_increment = 30; +SELECT @@session.div_precision_increment; +@@session.div_precision_increment +30 +'#------------------FN_DYNVARS_027_05-----------------------#' +SET @@global.div_precision_increment = 31; +Warnings: +Warning 1292 Truncated incorrect div_precision_increment value: '31' +SELECT @@global.div_precision_increment; +@@global.div_precision_increment +30 +SET @@global.div_precision_increment = 40; +Warnings: +Warning 1292 Truncated incorrect div_precision_increment value: '40' +SELECT @@global.div_precision_increment; +@@global.div_precision_increment +30 +SET @@global.div_precision_increment = -1024; +SELECT @@global.div_precision_increment; +@@global.div_precision_increment +0 +SET @@global.div_precision_increment = 65536; +Warnings: +Warning 1292 Truncated incorrect div_precision_increment value: '65536' +SELECT @@global.div_precision_increment; +@@global.div_precision_increment +30 +SET @@session.div_precision_increment = 40; +Warnings: +Warning 1292 Truncated incorrect div_precision_increment value: '40' +SELECT @@session.div_precision_increment; +@@session.div_precision_increment +30 +SET @@session.div_precision_increment = 31; +Warnings: +Warning 1292 Truncated incorrect div_precision_increment value: '31' +SELECT @@session.div_precision_increment; +@@session.div_precision_increment +30 +SET @@session.div_precision_increment = -2; +SELECT @@session.div_precision_increment; +@@session.div_precision_increment +0 +SET @@session.div_precision_increment = 65550; +Warnings: +Warning 1292 Truncated incorrect div_precision_increment value: '65550' +SELECT @@session.div_precision_increment; +@@session.div_precision_increment +30 +'Bug # 34837: Errors are not coming on assigning invalid values to variable' +SET @@global.div_precision_increment = 65530.30; +ERROR 42000: Incorrect argument type to variable 'div_precision_increment' +SELECT @@global.div_precision_increment; +@@global.div_precision_increment +30 +SET @@global.div_precision_increment = OFF; +ERROR 42000: Incorrect argument type to variable 'div_precision_increment' +SELECT @@global.div_precision_increment; +@@global.div_precision_increment +30 +SET @@session.div_precision_increment = ON; +ERROR 42000: Incorrect argument type to variable 'div_precision_increment' +SELECT @@session.div_precision_increment; +@@session.div_precision_increment +30 +SET @@session.div_precision_increment = 65530.30; +ERROR 42000: Incorrect argument type to variable 'div_precision_increment' +SELECT @@session.div_precision_increment; +@@session.div_precision_increment +30 +'#------------------FN_DYNVARS_027_06-----------------------#' +SELECT @@global.div_precision_increment = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='div_precision_increment'; +@@global.div_precision_increment = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_027_07-----------------------#' +SELECT @@session.div_precision_increment = VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='div_precision_increment'; +@@session.div_precision_increment = VARIABLE_VALUE +1 +SET @@global.div_precision_increment = TRUE; +SELECT @@global.div_precision_increment; +@@global.div_precision_increment +1 +SET @@global.div_precision_increment = FALSE; +SELECT @@global.div_precision_increment; +@@global.div_precision_increment +0 +'#---------------------FN_DYNVARS_027_08----------------------#' +SET @@global.div_precision_increment = 0; +SELECT @@div_precision_increment = @@global.div_precision_increment; +@@div_precision_increment = @@global.div_precision_increment +0 +'#---------------------FN_DYNVARS_027_09----------------------#' +SET @@div_precision_increment = 1; +SELECT @@div_precision_increment = @@local.div_precision_increment; +@@div_precision_increment = @@local.div_precision_increment +1 +SELECT @@local.div_precision_increment = @@session.div_precision_increment; +@@local.div_precision_increment = @@session.div_precision_increment +1 +'#---------------------FN_DYNVARS_027_10----------------------#' +SET div_precision_increment = 1; +SELECT @@div_precision_increment; +@@div_precision_increment +1 +SET local.div_precision_increment = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'div_precision_increment = 1' at line 1 +SELECT local.div_precision_increment; +ERROR 42S02: Unknown table 'local' in field list +SET session.div_precision_increment = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'div_precision_increment = 1' at line 1 +SELECT session.div_precision_increment; +ERROR 42S02: Unknown table 'session' in field list +SELECT div_precision_increment = @@session.div_precision_increment; +ERROR 42S22: Unknown column 'div_precision_increment' in 'field list' +SET @@global.div_precision_increment = @start_global_value; +SELECT @@global.div_precision_increment; +@@global.div_precision_increment +4 +SET @@session.div_precision_increment = @start_session_value; +SELECT @@session.div_precision_increment; +@@session.div_precision_increment +4 diff --git a/mysql-test/r/div_precision_increment_func.result b/mysql-test/r/div_precision_increment_func.result new file mode 100644 index 00000000000..eb1fc7ae3a7 --- /dev/null +++ b/mysql-test/r/div_precision_increment_func.result @@ -0,0 +1,80 @@ +drop table if exists t1; +## Creating new table ## +CREATE TABLE t1 +( +id INT NOT NULL auto_increment, +PRIMARY KEY (id), +name VARCHAR(30), +salary LONG +); +'#--------------------FN_DYNVARS_027_01-------------------------#' +## Setting initial session value of variable to 3 ## +SET @@session.div_precision_increment = 3; +## Inserting some rows in table ## +INSERT into t1(name, salary) values('Record_1', 100011); +INSERT into t1(name, salary) values('Record_2', 501); +INSERT into t1(name, salary) values('Record_3', 210); +SELECT name, salary, ((salary * 2.5)/1000) AS INCOME from t1; +name salary INCOME +Record_1 100011 250.0275 +Record_2 501 1.2525 +Record_3 210 0.525 +'Bug#35374: div_precision is not working with table column' +## Verifying variable's behavior with direct division ## +SELECT 1/7; +1/7 +0.143 +'#--------------------FN_DYNVARS_027_02-------------------------#' +drop table if exists t1; +## Creating new table ## +CREATE TABLE t1 +( +id INT NOT NULL auto_increment, +PRIMARY KEY (id), +name VARCHAR(30), +salary LONG, +income_tax FLOAT +); +## Creating new connection test_con1 ## +## Setting global & session scope value of variable ## +SET @@global.div_precision_increment = 2; +SET @@session.div_precision_increment = 1; +SELECT @@global.div_precision_increment; +@@global.div_precision_increment +2 +SELECT @@session.div_precision_increment; +@@session.div_precision_increment +1 +## Inserting some data and verifying behavior of variable ## +INSERT into t1(name, salary, income_tax) values('Record_1', 100011, 100011*2.5/1000); +INSERT into t1(name, salary, income_tax) values('Record_2', 501, 501*2.5/1000); +INSERT into t1(name, salary, income_tax) values('Record_3', 210, 210*2.5/1000); +SELECT * from t1; +id name salary income_tax +1 Record_1 100011 250.027 +2 Record_2 501 1.2525 +3 Record_3 210 0.525 +## Creating new connection ## +## Verifying session & global value of variable ## +SELECT @@global.div_precision_increment = 2; +@@global.div_precision_increment = 2 +1 +SELECT @@session.div_precision_increment = 2; +@@session.div_precision_increment = 2 +1 +## Verifying behavior of variable by inserting some rows in table ## +INSERT into t1(name, salary, income_tax) values('Record_4', 100011, 100011*2.5/1000); +INSERT into t1(name, salary, income_tax) values('Record_5', 501, 501*2.5/1000); +INSERT into t1(name, salary, income_tax) values('Record_6', 210, 210*2.5/1000); +SELECT * from t1; +id name salary income_tax +1 Record_1 100011 250.027 +2 Record_2 501 1.2525 +3 Record_3 210 0.525 +4 Record_4 100011 250.027 +5 Record_5 501 1.2525 +6 Record_6 210 0.525 +## Dropping table t1 ## +drop table t1; +## Disconnection both the connections ## +SET @@global.div_precision_increment = 4; diff --git a/mysql-test/r/engine_condition_pushdown_basic.result b/mysql-test/r/engine_condition_pushdown_basic.result new file mode 100644 index 00000000000..7073066c2f1 --- /dev/null +++ b/mysql-test/r/engine_condition_pushdown_basic.result @@ -0,0 +1,174 @@ +SET @session_start_value = @@session.engine_condition_pushdown; +SELECT @session_start_value; +@session_start_value +1 +SET @global_start_value = @@global.engine_condition_pushdown; +SELECT @global_start_value; +@global_start_value +1 +'#--------------------FN_DYNVARS_028_01------------------------#' +SET @@session.engine_condition_pushdown = 0; +SET @@session.engine_condition_pushdown = DEFAULT; +SELECT @@session.engine_condition_pushdown; +@@session.engine_condition_pushdown +1 +SET @@global.engine_condition_pushdown = 0; +SET @@global.engine_condition_pushdown = DEFAULT; +SELECT @@global.engine_condition_pushdown; +@@global.engine_condition_pushdown +1 +'#---------------------FN_DYNVARS_028_02-------------------------#' +SET engine_condition_pushdown = 1; +SELECT @@engine_condition_pushdown; +@@engine_condition_pushdown +1 +SELECT session.engine_condition_pushdown; +ERROR 42S02: Unknown table 'session' in field list +SELECT local.engine_condition_pushdown; +ERROR 42S02: Unknown table 'local' in field list +SELECT global.engine_condition_pushdown; +ERROR 42S02: Unknown table 'global' in field list +SET session engine_condition_pushdown = 0; +SELECT @@session.engine_condition_pushdown; +@@session.engine_condition_pushdown +0 +SET global engine_condition_pushdown = 0; +SELECT @@global.engine_condition_pushdown; +@@global.engine_condition_pushdown +0 +'#--------------------FN_DYNVARS_028_03------------------------#' +SET @@session.engine_condition_pushdown = 0; +SELECT @@session.engine_condition_pushdown; +@@session.engine_condition_pushdown +0 +SET @@session.engine_condition_pushdown = 1; +SELECT @@session.engine_condition_pushdown; +@@session.engine_condition_pushdown +1 +SET @@global.engine_condition_pushdown = 0; +SELECT @@global.engine_condition_pushdown; +@@global.engine_condition_pushdown +0 +SET @@global.engine_condition_pushdown = 1; +SELECT @@global.engine_condition_pushdown; +@@global.engine_condition_pushdown +1 +'#--------------------FN_DYNVARS_028_04-------------------------#' +SET @@session.engine_condition_pushdown = -1; +ERROR 42000: Variable 'engine_condition_pushdown' can't be set to the value of '-1' +SET @@session.engine_condition_pushdown = 1.6; +ERROR 42000: Variable 'engine_condition_pushdown' can't be set to the value of '2' +SET @@session.engine_condition_pushdown = "T"; +ERROR 42000: Variable 'engine_condition_pushdown' can't be set to the value of 'T' +SET @@session.engine_condition_pushdown = "Y"; +ERROR 42000: Variable 'engine_condition_pushdown' can't be set to the value of 'Y' +SET @@session.engine_condition_pushdown = TRÜE; +ERROR 42000: Variable 'engine_condition_pushdown' can't be set to the value of 'TRÜE' +SET @@session.engine_condition_pushdown = ÕN; +ERROR 42000: Variable 'engine_condition_pushdown' can't be set to the value of 'ÕN' +SET @@session.engine_condition_pushdown = OF; +SELECT @@session.engine_condition_pushdown; +@@session.engine_condition_pushdown +0 +'Bug# 34828: OF is taken as OFF and a value of 0 is set.' +SET @@session.engine_condition_pushdown = ÓFF; +ERROR 42000: Variable 'engine_condition_pushdown' can't be set to the value of 'ÓFF' +SET @@global.engine_condition_pushdown = -1; +ERROR 42000: Variable 'engine_condition_pushdown' can't be set to the value of '-1' +SET @@global.engine_condition_pushdown = 2; +ERROR 42000: Variable 'engine_condition_pushdown' can't be set to the value of '2' +SET @@global.engine_condition_pushdown = "T"; +ERROR 42000: Variable 'engine_condition_pushdown' can't be set to the value of 'T' +SET @@global.engine_condition_pushdown = "Y"; +ERROR 42000: Variable 'engine_condition_pushdown' can't be set to the value of 'Y' +SET @@global.engine_condition_pushdown = TRÜE; +ERROR 42000: Variable 'engine_condition_pushdown' can't be set to the value of 'TRÜE' +SET @@global.engine_condition_pushdown = ÕN; +ERROR 42000: Variable 'engine_condition_pushdown' can't be set to the value of 'ÕN' +SET @@global.engine_condition_pushdown = OF; +SELECT @@global.engine_condition_pushdown; +@@global.engine_condition_pushdown +0 +'Bug# 34828: OF is taken as OFF and a value of 0 is set.' +SET @@global.engine_condition_pushdown = ÓFF; +ERROR 42000: Variable 'engine_condition_pushdown' can't be set to the value of 'ÓFF' +'#-------------------FN_DYNVARS_028_05----------------------------#' +SET @@global.engine_condition_pushdown = 0; +SET @@session.engine_condition_pushdown = 1; +SELECT @@global.engine_condition_pushdown AS res_is_0; +res_is_0 +0 +SET @@global.engine_condition_pushdown = 0; +SELECT @@session.engine_condition_pushdown AS res_is_1; +res_is_1 +1 +'#----------------------FN_DYNVARS_028_06------------------------#' +SELECT @@global.engine_condition_pushdown = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='engine_condition_pushdown'; +@@global.engine_condition_pushdown = VARIABLE_VALUE +1 +SELECT @@global.engine_condition_pushdown; +@@global.engine_condition_pushdown +0 +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='engine_condition_pushdown'; +VARIABLE_VALUE +OFF +'#----------------------FN_DYNVARS_028_07------------------------#' +SELECT @@session.engine_condition_pushdown = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='engine_condition_pushdown'; +@@session.engine_condition_pushdown = VARIABLE_VALUE +0 +SELECT @@session.engine_condition_pushdown; +@@session.engine_condition_pushdown +1 +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='engine_condition_pushdown'; +VARIABLE_VALUE +ON +'#---------------------FN_DYNVARS_028_08-------------------------#' +SET @@session.engine_condition_pushdown = OFF; +SELECT @@session.engine_condition_pushdown; +@@session.engine_condition_pushdown +0 +SET @@session.engine_condition_pushdown = ON; +SELECT @@session.engine_condition_pushdown; +@@session.engine_condition_pushdown +1 +SET @@global.engine_condition_pushdown = OFF; +SELECT @@global.engine_condition_pushdown; +@@global.engine_condition_pushdown +0 +SET @@global.engine_condition_pushdown = ON; +SELECT @@global.engine_condition_pushdown; +@@global.engine_condition_pushdown +1 +'#---------------------FN_DYNVARS_028_09----------------------#' +SET @@session.engine_condition_pushdown = TRUE; +SELECT @@session.engine_condition_pushdown; +@@session.engine_condition_pushdown +1 +SET @@session.engine_condition_pushdown = FALSE; +SELECT @@session.engine_condition_pushdown; +@@session.engine_condition_pushdown +0 +SET @@global.engine_condition_pushdown = TRUE; +SELECT @@global.engine_condition_pushdown; +@@global.engine_condition_pushdown +1 +SET @@global.engine_condition_pushdown = FALSE; +SELECT @@global.engine_condition_pushdown; +@@global.engine_condition_pushdown +0 +SET @@session.engine_condition_pushdown = @session_start_value; +SELECT @@session.engine_condition_pushdown; +@@session.engine_condition_pushdown +1 +SET @@global.engine_condition_pushdown = @global_start_value; +SELECT @@global.engine_condition_pushdown; +@@global.engine_condition_pushdown +1 diff --git a/mysql-test/r/error_count_basic.result b/mysql-test/r/error_count_basic.result new file mode 100644 index 00000000000..ea48b7d5b73 --- /dev/null +++ b/mysql-test/r/error_count_basic.result @@ -0,0 +1,54 @@ +'#---------------------BS_STVARS_005_01----------------------#' +SELECT COUNT(@@SESSION.error_count); +COUNT(@@SESSION.error_count) +1 +1 Expected +'#---------------------BS_STVARS_005_02----------------------#' +SET @@SESSION.error_count=1; +ERROR HY000: Variable 'error_count' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@SESSION.error_count); +COUNT(@@SESSION.error_count) +1 +1 Expected +'#---------------------BS_STVARS_005_03----------------------#' +SELECT @@SESSION.error_count = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='error_count'; +@@SESSION.error_count = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@SESSION.error_count); +COUNT(@@SESSION.error_count) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='error_count'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_005_04----------------------#' +SELECT @@error_count = @@SESSION.error_count; +@@error_count = @@SESSION.error_count +1 +1 Expected +'#---------------------BS_STVARS_005_05----------------------#' +SELECT COUNT(@@error_count); +COUNT(@@error_count) +1 +1 Expected +SELECT COUNT(@@local.error_count); +COUNT(@@local.error_count) +1 +1 Expected +SELECT COUNT(@@SESSION.error_count); +COUNT(@@SESSION.error_count) +1 +1 Expected +SELECT COUNT(@@GLOBAL.error_count); +ERROR HY000: Variable 'error_count' is a SESSION variable +Expected error 'Variable is a SESSION variable' +SELECT COUNT(error_count = @@GLOBAL.error_count); +ERROR 42S22: Unknown column 'error_count' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/event_scheduler_basic.result b/mysql-test/r/event_scheduler_basic.result new file mode 100644 index 00000000000..8042187d39d --- /dev/null +++ b/mysql-test/r/event_scheduler_basic.result @@ -0,0 +1,98 @@ +SET @start_value = @@global.event_scheduler; +SELECT @start_value; +@start_value +OFF +'#---------------------FN_DYNVARS_004_01-------------------------#' +SET @@global.event_scheduler = DEFAULT; +ERROR 42000: Variable 'event_scheduler' doesn't have a default value +'Bug# 34878: According to documentation the default value of variable is OFF'; +'#--------------------FN_DYNVARS_004_02------------------------#' +SET @@global.event_scheduler = ON; +SELECT @@global.event_scheduler; +@@global.event_scheduler +ON +SET @@global.event_scheduler = OFF; +SELECT @@global.event_scheduler; +@@global.event_scheduler +OFF +SET @@global.event_scheduler = DISABLED; +ERROR 42000: Variable 'event_scheduler' can't be set to the value of 'DISABLED' +SELECT @@global.event_scheduler; +@@global.event_scheduler +OFF +'#--------------------FN_DYNVARS_004_03-------------------------#' +SET @@global.event_scheduler = 2; +ERROR 42000: Variable 'event_scheduler' can't be set to the value of '2' +SET @@global.event_scheduler = -1; +ERROR 42000: Variable 'event_scheduler' can't be set to the value of '-1' +SET @@global.event_scheduler = TRUEF; +ERROR 42000: Variable 'event_scheduler' can't be set to the value of 'TRUEF' +SET @@global.event_scheduler = TRUE_F; +ERROR 42000: Variable 'event_scheduler' can't be set to the value of 'TRUE_F' +SET @@global.event_scheduler = FALSE0; +ERROR 42000: Variable 'event_scheduler' can't be set to the value of 'FALSE0' +SET @@global.event_scheduler = OON; +ERROR 42000: Variable 'event_scheduler' can't be set to the value of 'OON' +SET @@global.event_scheduler = ONN; +ERROR 42000: Variable 'event_scheduler' can't be set to the value of 'ONN' +SET @@global.event_scheduler = OOFF; +ERROR 42000: Variable 'event_scheduler' can't be set to the value of 'OOFF' +SET @@global.event_scheduler = 0FF; +ERROR 42000: Variable 'event_scheduler' can't be set to the value of '0FF' +SET @@global.event_scheduler = ' '; +ERROR 42000: Variable 'event_scheduler' can't be set to the value of ' ' +SET @@global.event_scheduler = " "; +ERROR 42000: Variable 'event_scheduler' can't be set to the value of ' ' +SET @@global.event_scheduler = ''; +ERROR 42000: Variable 'event_scheduler' can't be set to the value of '' +'#-------------------FN_DYNVARS_004_04----------------------------#' +SET @@session.event_scheduler = OFF; +ERROR HY000: Variable 'event_scheduler' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@session.event_scheduler; +ERROR HY000: Variable 'event_scheduler' is a GLOBAL variable +'#----------------------FN_DYNVARS_004_05------------------------#' +SELECT @@global.event_scheduler = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='event_scheduler'; +@@global.event_scheduler = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_004_06----------------------#' +SET @@global.event_scheduler = 0; +SELECT @@global.event_scheduler; +@@global.event_scheduler +OFF +SET @@global.event_scheduler = 1; +SELECT @@global.event_scheduler; +@@global.event_scheduler +ON +'#---------------------FN_DYNVARS_004_07----------------------#' +SET @@global.event_scheduler = TRUE; +SELECT @@global.event_scheduler; +@@global.event_scheduler +ON +SET @@global.event_scheduler = FALSE; +SELECT @@global.event_scheduler; +@@global.event_scheduler +OFF +'#---------------------FN_DYNVARS_004_08----------------------#' +SET @@global.event_scheduler = ON; +SELECT @@event_scheduler = @@global.event_scheduler; +@@event_scheduler = @@global.event_scheduler +1 +'#---------------------FN_DYNVARS_004_09----------------------#' +SET event_scheduler = ON; +ERROR HY000: Variable 'event_scheduler' is a GLOBAL variable and should be set with SET GLOBAL +SET local.event_scheduler = OFF; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'event_scheduler = OFF' at line 1 +SELECT local.event_scheduler; +ERROR 42S02: Unknown table 'local' in field list +SET global.event_scheduler = ON; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'event_scheduler = ON' at line 1 +SELECT global.event_scheduler; +ERROR 42S02: Unknown table 'global' in field list +SELECT event_scheduler = @@session.event_scheduler; +ERROR 42S22: Unknown column 'event_scheduler' in 'field list' +SET @@global.event_scheduler = @start_value; +SELECT @@global.event_scheduler; +@@global.event_scheduler +OFF diff --git a/mysql-test/r/event_scheduler_func.result b/mysql-test/r/event_scheduler_func.result new file mode 100644 index 00000000000..8da942e919c --- /dev/null +++ b/mysql-test/r/event_scheduler_func.result @@ -0,0 +1,44 @@ +drop table if exists t1; +## Creating new table ## +CREATE TABLE t1 +( +id INT NOT NULL auto_increment, +PRIMARY KEY (id), +name VARCHAR(30) +); +'#--------------------FN_DYNVARS_018_01-------------------------#' +## Setting initial value of variable to ON ## +SET @@global.event_scheduler = ON; +SELECT @@event_scheduler; +@@event_scheduler +ON +## Creating new event ## +CREATE EVENT test_event_1 +ON SCHEDULE EVERY 3 SECOND +DO +INSERT into t1(name) values('Record_1'); +SELECT * from t1; +id name +1 Record_1 +2 Record_1 +DROP EVENT test_event_1; +DELETE from t1; +select * from t1; +id name +'#--------------------FN_DYNVARS_018_02-------------------------#' +## Setting value of variable to OFF ## +SET @@global.event_scheduler = OFF; +SELECT @@event_scheduler; +@@event_scheduler +OFF +## Creating new event ## +CREATE EVENT test_event_1 +ON SCHEDULE EVERY 3 SECOND +DO +INSERT into t1(name) values('Record_2'); +## Table should be empty ## +SELECT * from t1; +id name +DROP EVENT test_event_1; +## Dropping table ## +DROP table t1; diff --git a/mysql-test/r/events_2.result b/mysql-test/r/events_2.result index 9da8c37edae..64d643505c5 100644 --- a/mysql-test/r/events_2.result +++ b/mysql-test/r/events_2.result @@ -318,4 +318,14 @@ insert into t1 (a) values (1)| ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger. drop table t1| drop event e1| +set names utf8; +create event имÑ_ÑобытиÑ_в_кодировке_утф8_длиной_больше_чем_48 on schedule every 2 year do select 1; +select EVENT_NAME from information_schema.events +where event_schema='test'; +EVENT_NAME +drop event имÑ_ÑобытиÑ_в_кодировке_утф8_длиной_больше_чем_48; +create event +очень_очень_очень_очень_очень_очень_очень_очень_длиннаÑ_Ñтрока_66 +on schedule every 2 year do select 1; +ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длинна' is too long drop database events_test; diff --git a/mysql-test/r/events_embedded.result b/mysql-test/r/events_embedded.result new file mode 100644 index 00000000000..1a02188f2df --- /dev/null +++ b/mysql-test/r/events_embedded.result @@ -0,0 +1,2 @@ +set global event_scheduler=ON; +ERROR HY000: Unknown system variable 'event_scheduler' diff --git a/mysql-test/r/expire_logs_days_basic.result b/mysql-test/r/expire_logs_days_basic.result new file mode 100644 index 00000000000..66aa5fa42a5 --- /dev/null +++ b/mysql-test/r/expire_logs_days_basic.result @@ -0,0 +1,126 @@ +SET @start_value = @@global.expire_logs_days; +SELECT @start_value; +@start_value +0 +'#--------------------FN_DYNVARS_029_01------------------------#' +SET @@global.expire_logs_days = 99; +SET @@global.expire_logs_days = DEFAULT; +SELECT @@global.expire_logs_days; +@@global.expire_logs_days +0 +'#---------------------FN_DYNVARS_029_02-------------------------#' +SET @@global.expire_logs_days = @start_value; +SELECT @@global.expire_logs_days = 0; +@@global.expire_logs_days = 0 +1 +'#--------------------FN_DYNVARS_029_03------------------------#' +SET @@global.expire_logs_days = 0; +SELECT @@global.expire_logs_days; +@@global.expire_logs_days +0 +SET @@global.expire_logs_days = 99; +SELECT @@global.expire_logs_days; +@@global.expire_logs_days +99 +SET @@global.expire_logs_days = 10; +SELECT @@global.expire_logs_days; +@@global.expire_logs_days +10 +SET @@global.expire_logs_days = 21; +SELECT @@global.expire_logs_days; +@@global.expire_logs_days +21 +'#--------------------FN_DYNVARS_029_04-------------------------#' +SET @@global.expire_logs_days = -1; +SELECT @@global.expire_logs_days; +@@global.expire_logs_days +0 +SET @@global.expire_logs_days = 100; +Warnings: +Warning 1292 Truncated incorrect expire_logs_days value: '100' +SELECT @@global.expire_logs_days; +@@global.expire_logs_days +99 +SET @@global.expire_logs_days = 1024; +Warnings: +Warning 1292 Truncated incorrect expire_logs_days value: '1024' +SELECT @@global.expire_logs_days; +@@global.expire_logs_days +99 +SET @@global.expire_logs_days = 10000.01; +ERROR 42000: Incorrect argument type to variable 'expire_logs_days' +SELECT @@global.expire_logs_days; +@@global.expire_logs_days +99 +SET @@global.expire_logs_days = -1024; +SELECT @@global.expire_logs_days; +@@global.expire_logs_days +0 +SET @@global.expire_logs_days = 42949672950; +Warnings: +Warning 1292 Truncated incorrect expire_logs_days value: '42949672950' +SELECT @@global.expire_logs_days; +@@global.expire_logs_days +99 +'Bug # 34837: Errors are not coming on assigning invalid values to variable' +SET @@global.expire_logs_days = ON; +ERROR 42000: Incorrect argument type to variable 'expire_logs_days' +SELECT @@global.expire_logs_days; +@@global.expire_logs_days +99 +SET @@global.expire_logs_days = 'test'; +ERROR 42000: Incorrect argument type to variable 'expire_logs_days' +SELECT @@global.expire_logs_days; +@@global.expire_logs_days +99 +'#-------------------FN_DYNVARS_029_05----------------------------#' +SET @@session.expire_logs_days = 0; +ERROR HY000: Variable 'expire_logs_days' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@expire_logs_days; +@@expire_logs_days +99 +'#----------------------FN_DYNVARS_029_06------------------------#' +SELECT @@global.expire_logs_days = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='expire_logs_days'; +@@global.expire_logs_days = VARIABLE_VALUE +1 +SELECT @@expire_logs_days = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='expire_logs_days'; +@@expire_logs_days = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_029_07----------------------#' +SET @@global.expire_logs_days = TRUE; +SELECT @@global.expire_logs_days; +@@global.expire_logs_days +1 +SET @@global.expire_logs_days = FALSE; +SELECT @@global.expire_logs_days; +@@global.expire_logs_days +0 +'#---------------------FN_DYNVARS_029_08----------------------#' +SET @@global.expire_logs_days = 1; +SELECT @@expire_logs_days = @@global.expire_logs_days; +@@expire_logs_days = @@global.expire_logs_days +1 +'#---------------------FN_DYNVARS_029_09----------------------#' +SET expire_logs_days = 1; +ERROR HY000: Variable 'expire_logs_days' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@expire_logs_days; +@@expire_logs_days +1 +SET local.expire_logs_days = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'expire_logs_days = 1' at line 1 +SELECT local.expire_logs_days; +ERROR 42S02: Unknown table 'local' in field list +SET global.expire_logs_days = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'expire_logs_days = 1' at line 1 +SELECT global.expire_logs_days; +ERROR 42S02: Unknown table 'global' in field list +SELECT expire_logs_days = @@session.expire_logs_days; +ERROR 42S22: Unknown column 'expire_logs_days' in 'field list' +SET @@global.expire_logs_days = @start_value; +SELECT @@global.expire_logs_days; +@@global.expire_logs_days +0 diff --git a/mysql-test/r/flush_basic.result b/mysql-test/r/flush_basic.result new file mode 100644 index 00000000000..259f8f929a1 --- /dev/null +++ b/mysql-test/r/flush_basic.result @@ -0,0 +1,97 @@ +SET @start_value = @@global.flush; +SELECT @start_value; +@start_value +0 +'#--------------------FN_DYNVARS_030_01------------------------#' +SET @@global.flush = ON; +SET @@global.flush = DEFAULT; +ERROR 42000: Variable 'flush' doesn't have a default value +'Bug# 34878: FN_DYNVARS_002_01 - Default value is off according to Documentation of MySQL'; +SELECT @@global.flush; +@@global.flush +1 +'#---------------------FN_DYNVARS_030_02-------------------------#' +SET @@global.flush = @start_value; +SELECT @@global.flush; +@@global.flush +0 +'#--------------------FN_DYNVARS_030_03------------------------#' +SET @@global.flush = ON; +SELECT @@global.flush; +@@global.flush +1 +SET @@global.flush = OFF; +SELECT @@global.flush; +@@global.flush +0 +SET @@global.flush = 0; +SELECT @@global.flush; +@@global.flush +0 +SET @@global.flush = 1; +SELECT @@global.flush; +@@global.flush +1 +'#--------------------FN_DYNVARS_030_04-------------------------#' +SET @@global.flush = 2; +ERROR 42000: Variable 'flush' can't be set to the value of '2' +SET @@global.flush = -1; +ERROR 42000: Variable 'flush' can't be set to the value of '-1' +SET @@global.flush = TRUEF; +ERROR 42000: Variable 'flush' can't be set to the value of 'TRUEF' +SET @@global.flush = TRUE_F; +ERROR 42000: Variable 'flush' can't be set to the value of 'TRUE_F' +SET @@global.flush = FALSE0; +ERROR 42000: Variable 'flush' can't be set to the value of 'FALSE0' +SET @@global.flush = OON; +ERROR 42000: Variable 'flush' can't be set to the value of 'OON' +SET @@global.flush = ONN; +ERROR 42000: Variable 'flush' can't be set to the value of 'ONN' +SET @@global.flush = OOFF; +ERROR 42000: Variable 'flush' can't be set to the value of 'OOFF' +SET @@global.flush = 0FF; +ERROR 42000: Variable 'flush' can't be set to the value of '0FF' +SET @@global.flush = ' '; +ERROR 42000: Variable 'flush' can't be set to the value of ' ' +SET @@global.flush = " "; +ERROR 42000: Variable 'flush' can't be set to the value of ' ' +SET @@global.flush = ''; +ERROR 42000: Variable 'flush' can't be set to the value of '' +'#-------------------FN_DYNVARS_030_05----------------------------#' +SET @@session.flush = 1; +ERROR HY000: Variable 'flush' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@session.flush; +ERROR HY000: Variable 'flush' is a GLOBAL variable +'#----------------------FN_DYNVARS_030_06------------------------#' +SELECT @@global.flush = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='flush'; +@@global.flush = VARIABLE_VALUE +0 +'#---------------------FN_DYNVARS_030_07----------------------#' +SET @@global.flush = TRUE; +SELECT @@global.flush; +@@global.flush +1 +SET @@global.flush = FALSE; +SELECT @@global.flush; +@@global.flush +0 +'#---------------------FN_DYNVARS_030_08----------------------#' +SET @@global.flush = 1; +SELECT @@flush = @@global.flush; +@@flush = @@global.flush +1 +'#---------------------FN_DYNVARS_030_09----------------------#' +SET flush = 1; +ERROR HY000: Variable 'flush' is a GLOBAL variable and should be set with SET GLOBAL +SET global.flush = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'flush = 1' at line 1 +SELECT global.flush; +ERROR 42S02: Unknown table 'global' in field list +SELECT flush = @@session.flush; +ERROR 42S22: Unknown column 'flush' in 'field list' +SET @@global.flush = @start_value; +SELECT @@global.flush; +@@global.flush +0 diff --git a/mysql-test/r/foreign_key_checks_basic.result b/mysql-test/r/foreign_key_checks_basic.result new file mode 100644 index 00000000000..e09e680fe99 --- /dev/null +++ b/mysql-test/r/foreign_key_checks_basic.result @@ -0,0 +1,102 @@ +SET @session_start_value = @@session.foreign_key_checks; +SELECT @session_start_value; +@session_start_value +1 +'#--------------------FN_DYNVARS_032_01------------------------#' +SET @@session.foreign_key_checks = 1; +SET @@session.foreign_key_checks = DEFAULT; +SELECT @@session.foreign_key_checks; +@@session.foreign_key_checks +1 +'Bug# 34878: No DEFAULT value for variable. Also setting DEFAULT does not give error' +'#---------------------FN_DYNVARS_032_02-------------------------#' +SET foreign_key_checks = 1; +SELECT @@foreign_key_checks; +@@foreign_key_checks +1 +SELECT session.foreign_key_checks; +ERROR 42S02: Unknown table 'session' in field list +SELECT local.foreign_key_checks; +ERROR 42S02: Unknown table 'local' in field list +SET session foreign_key_checks = 0; +SELECT @@session.foreign_key_checks; +@@session.foreign_key_checks +0 +'#--------------------FN_DYNVARS_032_03------------------------#' +SET @@session.foreign_key_checks = 0; +SELECT @@session.foreign_key_checks; +@@session.foreign_key_checks +0 +SET @@session.foreign_key_checks = 1; +SELECT @@session.foreign_key_checks; +@@session.foreign_key_checks +1 +'#--------------------FN_DYNVARS_032_04-------------------------#' +SET @@session.foreign_key_checks = -1; +ERROR 42000: Variable 'foreign_key_checks' can't be set to the value of '-1' +SET @@session.foreign_key_checks = 2; +ERROR 42000: Variable 'foreign_key_checks' can't be set to the value of '2' +SET @@session.foreign_key_checks = "T"; +ERROR 42000: Variable 'foreign_key_checks' can't be set to the value of 'T' +SET @@session.foreign_key_checks = "Y"; +ERROR 42000: Variable 'foreign_key_checks' can't be set to the value of 'Y' +SET @@session.foreign_key_checks = TRÜE; +ERROR 42000: Variable 'foreign_key_checks' can't be set to the value of 'TRÜE' +SET @@session.foreign_key_checks = ÕN; +ERROR 42000: Variable 'foreign_key_checks' can't be set to the value of 'ÕN' +SET @@session.foreign_key_checks = OF; +SELECT @@session.foreign_key_checks; +@@session.foreign_key_checks +0 +'Bug# 34828: OF is taken as OFF and a value of 0 is set.' +SET @@session.foreign_key_checks = ÓFF; +ERROR 42000: Variable 'foreign_key_checks' can't be set to the value of 'ÓFF' +SET @@session.foreign_key_checks = '¹'; +ERROR 42000: Variable 'foreign_key_checks' can't be set to the value of '¹' +SET @@session.foreign_key_checks = NO; +ERROR 42000: Variable 'foreign_key_checks' can't be set to the value of 'NO' +'#-------------------FN_DYNVARS_032_05----------------------------#' +SET @@global.foreign_key_checks = 0; +ERROR HY000: Variable 'foreign_key_checks' is a SESSION variable and can't be used with SET GLOBAL +SELECT @@global.foreign_key_checks; +ERROR HY000: Variable 'foreign_key_checks' is a SESSION variable +'#----------------------FN_DYNVARS_032_06------------------------#' +SELECT count(VARIABLE_VALUE) FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='foreign_key_checks'; +count(VARIABLE_VALUE) +1 +'#----------------------FN_DYNVARS_032_07------------------------#' +SELECT @@session.foreign_key_checks = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='foreign_key_checks'; +@@session.foreign_key_checks = VARIABLE_VALUE +1 +SELECT @@session.foreign_key_checks; +@@session.foreign_key_checks +0 +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='foreign_key_checks'; +VARIABLE_VALUE +OFF +'#---------------------FN_DYNVARS_032_08-------------------------#' +SET @@session.foreign_key_checks = OFF; +SELECT @@session.foreign_key_checks; +@@session.foreign_key_checks +0 +SET @@session.foreign_key_checks = ON; +SELECT @@session.foreign_key_checks; +@@session.foreign_key_checks +1 +'#---------------------FN_DYNVARS_032_09----------------------#' +SET @@session.foreign_key_checks = TRUE; +SELECT @@session.foreign_key_checks; +@@session.foreign_key_checks +1 +SET @@session.foreign_key_checks = FALSE; +SELECT @@session.foreign_key_checks; +@@session.foreign_key_checks +0 +SET @@session.foreign_key_checks = @session_start_value; +SELECT @@session.foreign_key_checks; +@@session.foreign_key_checks +1 diff --git a/mysql-test/r/foreign_key_checks_func.result b/mysql-test/r/foreign_key_checks_func.result new file mode 100644 index 00000000000..c2898293f83 --- /dev/null +++ b/mysql-test/r/foreign_key_checks_func.result @@ -0,0 +1,59 @@ +'#--------------------FN_DYNVARS_032_01-------------------------#' +SET @@session.foreign_key_checks = 0; +'connect (con1,localhost,root,,,,)' +'connection con1' +SELECT @@session.foreign_key_checks; +@@session.foreign_key_checks +1 +SET @@session.foreign_key_checks = 1; +'connect (con2,localhost,root,,,,)' +'connection con2' +SELECT @@session.foreign_key_checks; +@@session.foreign_key_checks +1 +'#--------------------FN_DYNVARS_032_02-------------------------#' +'connection con1' +DROP TABLE IF EXISTS t1,t2; +CREATE TABLE t1(a INT PRIMARY KEY)ENGINE = INNODB; +CREATE TABLE t2(a INT PRIMARY KEY,b INT)ENGINE = INNODB; +ALTER TABLE t2 +ADD CONSTRAINT fk FOREIGN KEY (b) REFERENCES t1 (a); +'---Check when foreign_key_checks is enabled---' +SET @@session.foreign_key_checks = 1; +INSERT INTO t1 values (1),(2),(3); +INSERT INTO t2 values (10,1); +INSERT INTO t2 values (20,22); +ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `fk` FOREIGN KEY (`b`) REFERENCES `t1` (`a`)) +'---Check when foreign_key_checks is disabled---' +TRUNCATE t1; +ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `fk` FOREIGN KEY (`b`) REFERENCES `t1` (`a`)) +SET @@session.foreign_key_checks = 0; +TRUNCATE t1; +TRUNCATE t2; +INSERT INTO t1 values (1),(2),(3); +INSERT INTO t2 values (10,1); +INSERT INTO t2 values (20,4); +'try enabling foreign_key_checks again'; +SET @@session.foreign_key_checks = 1; +UPDATE t2 SET b=4 where a=20; +'Bug#35358: Updating an incorrect foreign key(inserted by disabling ' +'foreign_key_checks)to the same value does not raise error after ' +'enabling foreign_key_checks' +'Check when foreign_key_checks is enabled and FK constraint is re-created' +SET @@session.foreign_key_checks = 0; +TRUNCATE t2; +TRUNCATE t1; +INSERT INTO t1 values (1),(2),(3); +INSERT INTO t2 values (10,1),(20,4); +ALTER TABLE t2 DROP FOREIGN KEY fk; +SET @@session.foreign_key_checks = 1; +DELETE FROM t2 WHERE b not in (SELECT a from t1); +ALTER TABLE t2 +ADD CONSTRAINT fk FOREIGN KEY (b) REFERENCES t1 (a); +INSERT INTO t2 values (20,2); +SELECT * from t2; +a b +10 1 +20 2 +DROP TABLE IF EXISTS t2; +DROP TABLE IF EXISTS t1; diff --git a/mysql-test/r/ft_boolean_syntax_basic.result b/mysql-test/r/ft_boolean_syntax_basic.result new file mode 100644 index 00000000000..94a052172bb --- /dev/null +++ b/mysql-test/r/ft_boolean_syntax_basic.result @@ -0,0 +1,102 @@ +SET @global_start_value = @@global.ft_boolean_syntax; +SELECT @global_start_value; +@global_start_value ++ -><()~*:""&| +'#--------------------FN_DYNVARS_033_01------------------#' +SELECT ft_boolean_syntax; +ERROR 42S22: Unknown column 'ft_boolean_syntax' in 'field list' +SELECT @@ft_boolean_syntax; +@@ft_boolean_syntax ++ -><()~*:""&| +SET @@global.ft_boolean_syntax='+ -><()~*:""&|'; +SELECT @@global.ft_boolean_syntax; +@@global.ft_boolean_syntax ++ -><()~*:""&| +SET global ft_boolean_syntax='$ -><()`*:""&|'; +SELECT global ft_boolean_syntax; +ERROR 42S22: Unknown column 'global' in 'field list' +'#--------------------FN_DYNVARS_033_02-------------------------#' +SET @@global.ft_boolean_syntax = '# -><()!*:""&|'; +SET @@global.ft_boolean_syntax = DEFAULT; +SELECT @@global.ft_boolean_syntax; +@@global.ft_boolean_syntax ++ -><()~*:""&| +'#--------------------FN_DYNVARS_033_03-------------------------#' +SET @@session.ft_boolean_syntax = '# -><()!*:""&|'; +ERROR HY000: Variable 'ft_boolean_syntax' is a GLOBAL variable and should be set with SET GLOBAL +SET @@ft_boolean_syntax = '# -><()!*:""&|'; +ERROR HY000: Variable 'ft_boolean_syntax' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@session.ft_boolean_syntax; +ERROR HY000: Variable 'ft_boolean_syntax' is a GLOBAL variable +SELECT @@local.ft_boolean_syntax; +ERROR HY000: Variable 'ft_boolean_syntax' is a GLOBAL variable +'#--------------------FN_DYNVARS_033_04-------------------------#' +SET @@global.ft_boolean_syntax='+ -><()~*:""&|'; +SELECT @@global.ft_boolean_syntax; +@@global.ft_boolean_syntax ++ -><()~*:""&| +SET @@global.ft_boolean_syntax=' +-><()~*:""&|'; +SELECT @@global.ft_boolean_syntax; +@@global.ft_boolean_syntax + +-><()~*:""&| +SET @@global.ft_boolean_syntax=' -+()<>~*:``&|'; +SELECT @@global.ft_boolean_syntax; +@@global.ft_boolean_syntax + -+()<>~*:``&| +SET @@global.ft_boolean_syntax='+ -><()~*:""@!'; +SELECT @@global.ft_boolean_syntax; +@@global.ft_boolean_syntax ++ -><()~*:""@! +SET @@global.ft_boolean_syntax=" +-><()~*:''&|"; +SELECT @@global.ft_boolean_syntax; +@@global.ft_boolean_syntax + +-><()~*:''&| +SET @@global.ft_boolean_syntax=' ~/!@#$%^&*()-'; +SELECT @@global.ft_boolean_syntax; +@@global.ft_boolean_syntax + ~/!@#$%^&*()- +'#--------------------FN_DYNVARS_033_05-------------------------#' +SET @@global.ft_boolean_syntax = '+-> <()~*:""&|'; +ERROR 42000: Variable 'ft_boolean_syntax' can't be set to the value of '+-> <()~*:""&|' +SET @@global.ft_boolean_syntax = '0'; +ERROR 42000: Variable 'ft_boolean_syntax' can't be set to the value of '0' +SET @@global.ft_boolean_syntax = '1 -><()~*:11&|'; +ERROR 42000: Variable 'ft_boolean_syntax' can't be set to the value of '1 -><()~*:11&|' +SET @@global.ft_boolean_syntax = '# -><()~*:11&1'; +ERROR 42000: Variable 'ft_boolean_syntax' can't be set to the value of '# -><()~*:11&1' +SET @@global.ft_boolean_syntax = '1234567890ABCD'; +ERROR 42000: Variable 'ft_boolean_syntax' can't be set to the value of '1234567890ABCD' +SET @@global.ft_boolean_syntax = -1; +ERROR 42000: Incorrect argument type to variable 'ft_boolean_syntax' +SET @@global.ft_boolean_syntax = '+-> <((~*:".&|'; +ERROR 42000: Variable 'ft_boolean_syntax' can't be set to the value of '+-> <((~*:".&|' +SET @@global.ft_boolean_syntax = ' '; +ERROR 42000: Variable 'ft_boolean_syntax' can't be set to the value of ' ' +SET @@global.ft_boolean_syntax = ON; +ERROR 42000: Variable 'ft_boolean_syntax' can't be set to the value of 'ON' +SET @@global.ft_boolean_syntax = true; +ERROR 42000: Incorrect argument type to variable 'ft_boolean_syntax' +SET @@global.ft_boolean_syntax = + -><()~*:""&|; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '><()~*:""&|' at line 1 +SET @@global.ft_boolean_syntax = ENABLE; +ERROR 42000: Variable 'ft_boolean_syntax' can't be set to the value of 'ENABLE' +SET @@global.ft_boolean_syntax = 'IGNORE'; +ERROR 42000: Variable 'ft_boolean_syntax' can't be set to the value of 'IGNORE' +'#--------------------FN_DYNVARS_033_06-------------------------#' +SELECT @@global.ft_boolean_syntax = (SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='ft_boolean_syntax') AS res; +res +1 +'#--------------------FN_DYNVARS_033_07-------------------------#' +SELECT @global_start_value; +@global_start_value ++ -><()~*:""&| +SET @@global.ft_boolean_syntax = @global_start_value; +ERROR 42000: Variable 'ft_boolean_syntax' can't be set to the value of '' +'Bug# 34883: ft_boolean_syntax cant be assigned values from session temporary'; +'variables'; +SET @@global.ft_boolean_syntax = DEFAULT; +SELECT @@global.ft_boolean_syntax; +@@global.ft_boolean_syntax ++ -><()~*:""&| diff --git a/mysql-test/r/ft_boolean_syntax_func.result b/mysql-test/r/ft_boolean_syntax_func.result new file mode 100644 index 00000000000..4a3159c77c3 --- /dev/null +++ b/mysql-test/r/ft_boolean_syntax_func.result @@ -0,0 +1,108 @@ +'#--------------------FN_DYNVARS_033_01-------------------------#' +SET @@global.ft_boolean_syntax = ' -+()<>~*:``&|'; +'connect (con1,localhost,root,,,,)' +'connection con1' +SELECT @@global.ft_boolean_syntax; +@@global.ft_boolean_syntax + -+()<>~*:``&| +SET @@global.ft_boolean_syntax = '+ -><()~*:""&|'; +'connect (con2,localhost,root,,,,)' +'connection con2' +SELECT @@global.ft_boolean_syntax; +@@global.ft_boolean_syntax ++ -><()~*:""&| +'#--------------------FN_DYNVARS_033_02-------------------------#' +'connection default' +DROP TABLE IF EXISTS t1; +CREATE TABLE articles ( +id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY, +title VARCHAR(200), +body TEXT, +FULLTEXT (title,body) +); +INSERT INTO articles (title,body) VALUES +('MySQL Tutorial','DBMS stands for DataBase ...'), +('How To',''), +('How To Use MySQL Well','After you went through a ...'), +('Optimizing MySQL','In this tutorial we will show .... Run command line ...'), +('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'), +('100 Tips for Myisam','1. Myisam is faster than innodb 2. Tricks and Tips for Myisam...'), +('MySQL vs. YourSQL','In the following database comparison ...'), +('MySQL Security','When configured properly, MySQL ...'), +('Database Security','Configuring MySQL for ...'); +SET @@global.ft_boolean_syntax = DEFAULT; +SELECT * FROM articles WHERE MATCH (title,body) +AGAINST ('+mySQL -yourSQL' IN BOOLEAN MODE); +id title body +1 MySQL Tutorial DBMS stands for DataBase ... +3 How To Use MySQL Well After you went through a ... +4 Optimizing MySQL In this tutorial we will show .... Run command line ... +5 1001 MySQL Tricks 1. Never run mysqld as root. 2. ... +8 MySQL Security When configured properly, MySQL ... +9 Database Security Configuring MySQL for ... +SELECT * FROM articles WHERE MATCH (title,body) +AGAINST ('+MySQL +YourSQL' IN BOOLEAN MODE); +id title body +7 MySQL vs. YourSQL In the following database comparison ... +SELECT * FROM articles WHERE MATCH (title,body) +AGAINST ('MySQL' IN BOOLEAN MODE); +id title body +1 MySQL Tutorial DBMS stands for DataBase ... +3 How To Use MySQL Well After you went through a ... +4 Optimizing MySQL In this tutorial we will show .... Run command line ... +5 1001 MySQL Tricks 1. Never run mysqld as root. 2. ... +7 MySQL vs. YourSQL In the following database comparison ... +8 MySQL Security When configured properly, MySQL ... +9 Database Security Configuring MySQL for ... +SELECT * FROM articles WHERE MATCH (title,body) +AGAINST ('mysql tutorial dbms' IN BOOLEAN MODE); +id title body +1 MySQL Tutorial DBMS stands for DataBase ... +3 How To Use MySQL Well After you went through a ... +4 Optimizing MySQL In this tutorial we will show .... Run command line ... +5 1001 MySQL Tricks 1. Never run mysqld as root. 2. ... +7 MySQL vs. YourSQL In the following database comparison ... +8 MySQL Security When configured properly, MySQL ... +9 Database Security Configuring MySQL for ... +SELECT id,title,body, (MATCH (title,body) +AGAINST ('+security configuring' IN BOOLEAN MODE)) AS relevance +FROM articles WHERE MATCH (title,body) +AGAINST ('+security configuring' IN BOOLEAN MODE); +id title body relevance +8 MySQL Security When configured properly, MySQL ... 1 +9 Database Security Configuring MySQL for ... 1.3333333730698 +SELECT * FROM articles WHERE MATCH (title,body) +AGAINST ('"faster than"' IN BOOLEAN MODE); +id title body +6 100 Tips for Myisam 1. Myisam is faster than innodb 2. Tricks and Tips for Myisam... +SELECT * FROM articles WHERE MATCH (title,body) +AGAINST ('+run ~line' IN BOOLEAN MODE); +id title body +'Bug#35359: ~ is not working correctly. Its behaving like -' +SELECT * FROM articles WHERE MATCH (title,body) +AGAINST ('10*' IN BOOLEAN MODE); +id title body +5 1001 MySQL Tricks 1. Never run mysqld as root. 2. ... +'Bug#35360: * is not working correctly. Not all rows are returned' +SELECT id,title,body, (MATCH (title,body) +AGAINST ('+MySQL +(>show show <()~*:""&|'--' +SET @@global.ft_boolean_syntax='~ /!@#$%^&*()-'; +SELECT * FROM articles WHERE MATCH (title,body) +AGAINST ('~mySQL /yourSQL' IN BOOLEAN MODE); +id title body +1 MySQL Tutorial DBMS stands for DataBase ... +3 How To Use MySQL Well After you went through a ... +4 Optimizing MySQL In this tutorial we will show .... Run command line ... +5 1001 MySQL Tricks 1. Never run mysqld as root. 2. ... +8 MySQL Security When configured properly, MySQL ... +9 Database Security Configuring MySQL for ... +'Bug#35361: Different syntax does not produce result as default operators' +SET @@global.ft_boolean_syntax=DEFAULT; +DROP TABLE articles; diff --git a/mysql-test/r/func_concat.result b/mysql-test/r/func_concat.result index 66808afd4e9..7e7c163716e 100644 --- a/mysql-test/r/func_concat.result +++ b/mysql-test/r/func_concat.result @@ -82,3 +82,10 @@ a 1234562 x drop table t1; +CREATE TABLE t1 (c1 varchar(100), c2 varchar(100)); +INSERT INTO t1 VALUES ('',''), ('','First'), ('Random','Random'); +SELECT * FROM t1 WHERE CONCAT(c1,' ',c2) REGEXP 'First.*'; +c1 c2 + First +DROP TABLE t1; +# End of 5.0 tests diff --git a/mysql-test/r/func_gconcat.result b/mysql-test/r/func_gconcat.result index 04f83788571..3b78851a1b9 100644 --- a/mysql-test/r/func_gconcat.result +++ b/mysql-test/r/func_gconcat.result @@ -952,4 +952,30 @@ GROUP BY 1 d1 NULL DROP TABLE t1; +CREATE TABLE t1 (a INT); +CREATE TABLE t2 (a INT); +INSERT INTO t1 VALUES(1); +SELECT GROUP_CONCAT(DISTINCT t2.a) FROM t1 LEFT JOIN t2 ON t2.a = t1.a GROUP BY t1.a; +GROUP_CONCAT(DISTINCT t2.a) +NULL +DROP TABLE t1, t2; +CREATE TABLE t1 (a INT, KEY(a)); +CREATE TABLE t2 (b INT); +INSERT INTO t1 VALUES (NULL), (8), (2); +INSERT INTO t2 VALUES (4), (10); +SELECT 1 FROM t1 WHERE t1.a NOT IN +( +SELECT GROUP_CONCAT(DISTINCT t1.a) +FROM t1 WHERE t1.a IN +( +SELECT b FROM t2 +) +AND NOT t1.a >= (SELECT t1.a FROM t1 LIMIT 1) +GROUP BY t1.a +); +1 +1 +1 +1 +DROP TABLE t1, t2; End of 5.0 tests diff --git a/mysql-test/r/func_rollback.result b/mysql-test/r/func_rollback.result new file mode 100644 index 00000000000..57968910051 --- /dev/null +++ b/mysql-test/r/func_rollback.result @@ -0,0 +1,461 @@ +DROP TABLE IF EXISTS t1_select; +DROP TABLE IF EXISTS t1_aux; +DROP TABLE IF EXISTS t1_not_null; +DROP VIEW IF EXISTS v1_not_null; +DROP VIEW IF EXISTS v1_func; +DROP TABLE IF EXISTS t1_fail; +DROP FUNCTION IF EXISTS f1_simple_insert; +DROP FUNCTION IF EXISTS f1_two_inserts; +DROP FUNCTION IF EXISTS f1_insert_select; +SET SESSION AUTOCOMMIT=0; +SET SESSION sql_mode = ''; +CREATE TABLE t1_select (f1 BIGINT, f2 BIGINT) ENGINE = MEMORY; +INSERT INTO t1_select(f1,f2) VALUES (1,-1),(2,NULL),(3,0),(4,1),(5,2); +SELECT * FROM t1_select; +f1 f2 +1 -1 +2 NULL +3 0 +4 1 +5 2 +CREATE TABLE t1_not_null (f1 BIGINT, f2 BIGINT NOT NULL) +ENGINE = ; +SELECT * FROM t1_not_null; +f1 f2 +CREATE TABLE t1_aux (f1 BIGINT, f2 BIGINT) +ENGINE = ; +SELECT * FROM t1_aux; +f1 f2 +COMMIT; +CREATE FUNCTION f1_simple_insert(my_f1 INTEGER) RETURNS INTEGER +BEGIN +INSERT INTO t1_not_null SET f1 = 10, f2 = my_f1; +RETURN 1; +END// + +# One f1_simple_insert execution per row, no NOT NULL violation +SELECT f1_simple_insert(1); +f1_simple_insert(1) +1 +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +10 1 +ROLLBACK; +SELECT * FROM t1_not_null; +f1 f2 +SELECT f1_simple_insert(1) FROM t1_select; +f1_simple_insert(1) +1 +1 +1 +1 +1 +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +10 1 +10 1 +10 1 +10 1 +10 1 +ROLLBACK; +SELECT * FROM t1_not_null; +f1 f2 + +# One f1_simple_insert execution per row, NOT NULL violation when the +# SELECT processes the first row. +SELECT f1_simple_insert(NULL); +ERROR 23000: Column 'f2' cannot be null +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +ROLLBACK; +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +SELECT f1_simple_insert(NULL) FROM t1_select; +ERROR 23000: Column 'f2' cannot be null +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +ROLLBACK; +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +SELECT 1 FROM (SELECT 1 AS f1,1 AS f2 UNION ALL SELECT 1,NULL) AS t1 WHERE f1_simple_insert(NULL) = 1; +ERROR 23000: Column 'f2' cannot be null +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +ROLLBACK; +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 + +# One f1_simple_insert execution per row, NOT NULL violation when the +# SELECT processes the non first row +SELECT f1_simple_insert(f2) FROM (SELECT 1 AS f1,1 AS f2 UNION ALL SELECT 1,NULL) AS t1; +ERROR 23000: Column 'f2' cannot be null +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +ROLLBACK; +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +SELECT f1_simple_insert(f2) FROM t1_select; +ERROR 23000: Column 'f2' cannot be null +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +ROLLBACK; +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 + +# Two f1_simple_insert executions per row, NOT NULL violation when the +# SELECT processes the first row. +SELECT f1_simple_insert(1),f1_simple_insert(NULL); +ERROR 23000: Column 'f2' cannot be null +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +ROLLBACK; +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +SELECT f1_simple_insert(NULL),f1_simple_insert(1); +ERROR 23000: Column 'f2' cannot be null +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +ROLLBACK; +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 + +# Two f1_simple_insert executions per row, NOT NULL violation when the +# SELECT processes the non first row +SELECT f1_simple_insert(f1),f1_simple_insert(f2) FROM (SELECT 1 AS f1,1 AS f2 UNION ALL SELECT 1,NULL) AS t1; +ERROR 23000: Column 'f2' cannot be null +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +ROLLBACK; +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +SELECT f1_simple_insert(f2),f1_simple_insert(f1) FROM (SELECT 1 AS f1,1 AS f2 UNION ALL SELECT 1,NULL) AS t1; +ERROR 23000: Column 'f2' cannot be null +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +ROLLBACK; +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +SELECT f1_simple_insert(f1),f1_simple_insert(f2) FROM t1_select; +ERROR 23000: Column 'f2' cannot be null +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +ROLLBACK; +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +SELECT f1_simple_insert(f2),f1_simple_insert(f1) FROM t1_select; +ERROR 23000: Column 'f2' cannot be null +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +ROLLBACK; +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +SELECT 1 FROM (SELECT 1 AS f1,1 AS f2 UNION ALL SELECT 1,NULL) AS t1 +WHERE 1 = f1_simple_insert(f2) AND 1 = f1_simple_insert(f1); +ERROR 23000: Column 'f2' cannot be null +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +ROLLBACK; +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 + +# Nested functions, the inner fails +SELECT f1_simple_insert(f1_simple_insert(NULL)) FROM t1_select; +ERROR 23000: Column 'f2' cannot be null +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +ROLLBACK; +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 + +# Nested functions, the outer fails +SELECT f1_simple_insert(f1_simple_insert(1) + NULL) FROM t1_select; +ERROR 23000: Column 'f2' cannot be null +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +ROLLBACK; +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +DROP FUNCTION f1_simple_insert; +CREATE FUNCTION f1_insert_select(my_f1 INTEGER) RETURNS INTEGER +BEGIN +INSERT INTO t1_not_null SELECT * FROM t1_select WHERE f1 = my_f1; +RETURN 1; +END; + +# f1_insert_select(2), tries to INSERT SELECT one row containing NULL +# The fact that +# - SELECT f1_insert_select(2); gives any result set and +# - t1_not_null gets a row inserted +# is covered by the manual. +SELECT f1_insert_select(2); +f1_insert_select(2) +1 +Warnings: +Warning 1048 Column 'f2' cannot be null +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +2 0 +ROLLBACK; +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +DROP FUNCTION f1_insert_select; +SET SESSION sql_mode = 'traditional'; +CREATE FUNCTION f1_insert_select(my_f1 INTEGER) RETURNS INTEGER +BEGIN +INSERT INTO t1_not_null SELECT * FROM t1_select WHERE f1 = my_f1; +RETURN 1; +END; +SELECT f1_insert_select(2); +ERROR 23000: Column 'f2' cannot be null +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +ROLLBACK; +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +DROP FUNCTION f1_insert_select; +SET SESSION sql_mode = ''; + +# Function tries to +# 1. INSERT statement: Insert one row with NULL -> NOT NULL violation +# 2. INSERT statement: Insert one row without NULL +CREATE FUNCTION f1_two_inserts() RETURNS INTEGER +BEGIN +INSERT INTO t1_not_null SET f1 = 10, f2 = NULL; +INSERT INTO t1_not_null SET f1 = 10, f2 = 10; +RETURN 1; +END// +SELECT f1_two_inserts(); +ERROR 23000: Column 'f2' cannot be null +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +ROLLBACK; +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +DROP FUNCTION f1_two_inserts; + +# Function tries to +# 1. INSERT statement: Insert one row without NULL +# 2. INSERT statement: Insert one row with NULL -> NOT NULL violation +CREATE FUNCTION f1_two_inserts() RETURNS INTEGER +BEGIN +INSERT INTO t1_not_null SET f1 = 10, f2 = 10; +INSERT INTO t1_not_null SET f1 = 10, f2 = NULL; +RETURN 1; +END// +SELECT f1_two_inserts(); +ERROR 23000: Column 'f2' cannot be null +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +ROLLBACK; +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 + +# Function tries to +# INSERT statement: Insert two rows +# first row without NULL +# second row with NULL -> NOT NULL violation +# -> NOT NULL violation +CREATE FUNCTION f1_insert_with_two_rows() RETURNS INTEGER +BEGIN +INSERT INTO t1_not_null(f1,f2) VALUES (10,10),(10,NULL); +RETURN 1; +END; +# The fact that +# - SELECT f1_insert_with_two_rows(); gives any result set and +# - t1_not_null gets a row inserted +# is covered by the manual. +SELECT f1_insert_with_two_rows(); +f1_insert_with_two_rows() +1 +Warnings: +Warning 1048 Column 'f2' cannot be null +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +10 0 +10 10 +ROLLBACK; +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +DROP FUNCTION f1_insert_with_two_rows; +SET SESSION sql_mode = 'traditional'; +CREATE FUNCTION f1_insert_with_two_rows() RETURNS INTEGER +BEGIN +INSERT INTO t1_not_null(f1,f2) VALUES (10,10),(10,NULL); +RETURN 1; +END; +SELECT f1_insert_with_two_rows(); +ERROR 23000: Column 'f2' cannot be null +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +ROLLBACK; +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +SET SESSION sql_mode = ''; + +# FUNCTION in Correlated Subquery +SELECT 1 FROM t1_select t1 +WHERE 1 = (SELECT f1_insert_with_two_rows() FROM t1_select t2 +WHERE t2.f1 = t1.f1); +ERROR 23000: Column 'f2' cannot be null +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +ROLLBACK; +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 + +# FUNCTION in JOIN +SELECT 1 FROM t1_select t1, t1_select t2 +WHERE t1.f1 = t2.f1 AND t2.f1 = f1_insert_with_two_rows(); +ERROR 23000: Column 'f2' cannot be null +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +ROLLBACK; +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +SELECT STRAIGHT_JOIN * FROM t1_select t2 RIGHT JOIN t1_select t1 +ON t1.f1 = t1.f1 WHERE 1 = f1_insert_with_two_rows(); +ERROR 23000: Column 'f2' cannot be null +DROP FUNCTION f1_insert_with_two_rows; + +# FUNCTION in UNION +SELECT 1 +UNION ALL +SELECT f1_two_inserts(); +ERROR 23000: Column 'f2' cannot be null +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +ROLLBACK; +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 + +# FUNCTION in INSERT +INSERT INTO t1_aux SET f1 = 1, f2 = f1_two_inserts(); +ERROR 23000: Column 'f2' cannot be null +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +ROLLBACK; +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +INSERT INTO t1_aux SELECT 1, f1_two_inserts(); +ERROR 23000: Column 'f2' cannot be null +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +ROLLBACK; +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +SELECT * FROM t1_aux ORDER BY f1,f2; +f1 f2 +INSERT INTO t1_aux VALUES(1,f1_two_inserts()); +ERROR 23000: Column 'f2' cannot be null +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +SELECT * FROM t1_aux ORDER BY f1,f2; +f1 f2 + +# FUNCTION in DELETE +INSERT INTO t1_aux VALUES (1,1); +COMMIT; +DELETE FROM t1_aux WHERE f1 = f1_two_inserts(); +ERROR 23000: Column 'f2' cannot be null +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +ROLLBACK; +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +SELECT * FROM t1_aux ORDER BY f1,f2; +f1 f2 +1 1 + +# FUNCTION in UPDATE SET +UPDATE t1_aux SET f2 = f1_two_inserts() + 1; +ERROR 23000: Column 'f2' cannot be null +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +ROLLBACK; +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +SELECT * FROM t1_aux ORDER BY f1,f2; +f1 f2 +1 1 + +# FUNCTION in VIEW definition +CREATE VIEW v1_func AS SELECT f1_two_inserts() FROM t1_select; +SELECT * FROM v1_func; +ERROR 23000: Column 'f2' cannot be null +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +ROLLBACK; +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +DROP VIEW v1_func; + +# FUNCTION in CREATE TABLE ... AS SELECT +CREATE TABLE t1_fail AS SELECT f1_two_inserts() FROM t1_select; +ERROR 23000: Column 'f2' cannot be null +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +CREATE TABLE t1_fail AS SELECT * FROM t1_select WHERE 1 = f1_two_inserts(); +ERROR 23000: Column 'f2' cannot be null +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 + +# FUNCTION in ORDER BY +SELECT * FROM t1_select ORDER BY f1,f1_two_inserts(); +ERROR 23000: Column 'f2' cannot be null +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 + +# FUNCTION in aggregate function +SELECT AVG(f1_two_inserts()) FROM t1_select; +ERROR 23000: Column 'f2' cannot be null +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 + +# FUNCTION in HAVING +SELECT 1 FROM t1_select HAVING AVG(f1) = f1_two_inserts() + 2; +ERROR 23000: Column 'f2' cannot be null +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +DROP FUNCTION f1_two_inserts; + +# FUNCTION modifies Updatable VIEW +CREATE VIEW v1_not_null AS SELECT f1,f2 FROM t1_not_null WITH CHECK OPTION; +CREATE FUNCTION f1_two_inserts_v1() RETURNS INTEGER +BEGIN +INSERT INTO v1_not_null SET f1 = 10, f2 = 10; +INSERT INTO v1_not_null SET f1 = 10, f2 = NULL; +RETURN 1; +END// +SELECT f1_two_inserts_v1(); +ERROR 23000: Column 'f2' cannot be null +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +ROLLBACK; +SELECT * FROM t1_not_null ORDER BY f1,f2; +f1 f2 +DROP FUNCTION f1_two_inserts_v1; +DROP VIEW v1_not_null; + +# FUNCTION causes FOREIGN KEY constraint violation +CREATE TABLE t1_parent (f1 BIGINT, f2 BIGINT, PRIMARY KEY(f1)) +ENGINE = InnoDB; +INSERT INTO t1_parent VALUES (1,1); +CREATE TABLE t1_child (f1 BIGINT, f2 BIGINT, PRIMARY KEY(f1), +FOREIGN KEY (f1) REFERENCES t1_parent(f1)) +ENGINE = InnoDB; +CREATE FUNCTION f1_two_inserts() RETURNS INTEGER +BEGIN +INSERT INTO t1_child SET f1 = 1, f2 = 1; +INSERT INTO t1_child SET f1 = 2, f2 = 2; +RETURN 1; +END// +SELECT f1_two_inserts(); +ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`t1_child`, CONSTRAINT `t1_child_ibfk_1` FOREIGN KEY (`f1`) REFERENCES `t1_parent` (`f1`)) +SELECT * FROM t1_child; +f1 f2 +DROP TABLE t1_child; +DROP TABLE t1_parent; +DROP FUNCTION f1_two_inserts; +DROP TABLE t1_select; +DROP TABLE t1_aux; +DROP TABLE t1_not_null; diff --git a/mysql-test/r/general_log_basic.result b/mysql-test/r/general_log_basic.result new file mode 100644 index 00000000000..18a5fde45c0 --- /dev/null +++ b/mysql-test/r/general_log_basic.result @@ -0,0 +1,94 @@ +SET @start_value = @@global.general_log; +SELECT @start_value; +@start_value +1 +'#---------------------FN_DYNVARS_004_01-------------------------#' +SET @@global.general_log = DEFAULT; +SELECT @@global.general_log = 0; +@@global.general_log = 0 +1 +'#--------------------FN_DYNVARS_004_02------------------------#' +SET @@global.general_log = ON; +SELECT @@global.general_log; +@@global.general_log +1 +SET @@global.general_log = OFF; +SELECT @@global.general_log; +@@global.general_log +0 +'#--------------------FN_DYNVARS_004_03-------------------------#' +SET @@global.general_log = 2; +ERROR 42000: Variable 'general_log' can't be set to the value of '2' +SET @@global.general_log = -1; +ERROR 42000: Variable 'general_log' can't be set to the value of '-1' +SET @@global.general_log = TRUEF; +ERROR 42000: Variable 'general_log' can't be set to the value of 'TRUEF' +SET @@global.general_log = TRUE_F; +ERROR 42000: Variable 'general_log' can't be set to the value of 'TRUE_F' +SET @@global.general_log = FALSE0; +ERROR 42000: Variable 'general_log' can't be set to the value of 'FALSE0' +SET @@global.general_log = OON; +ERROR 42000: Variable 'general_log' can't be set to the value of 'OON' +SET @@global.general_log = ONN; +ERROR 42000: Variable 'general_log' can't be set to the value of 'ONN' +SET @@global.general_log = OOFF; +ERROR 42000: Variable 'general_log' can't be set to the value of 'OOFF' +SET @@global.general_log = 0FF; +ERROR 42000: Variable 'general_log' can't be set to the value of '0FF' +SET @@global.general_log = ' '; +ERROR 42000: Variable 'general_log' can't be set to the value of ' ' +SET @@global.general_log = " "; +ERROR 42000: Variable 'general_log' can't be set to the value of ' ' +SET @@global.general_log = ''; +ERROR 42000: Variable 'general_log' can't be set to the value of '' +'#-------------------FN_DYNVARS_004_04----------------------------#' +SET @@session.general_log = OFF; +ERROR HY000: Variable 'general_log' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@session.general_log; +ERROR HY000: Variable 'general_log' is a GLOBAL variable +'#----------------------FN_DYNVARS_004_05------------------------#' +SELECT @@global.general_log = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='general_log'; +@@global.general_log = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_004_06----------------------#' +SET @@global.general_log = 0; +SELECT @@global.general_log; +@@global.general_log +0 +SET @@global.general_log = 1; +SELECT @@global.general_log; +@@global.general_log +1 +'#---------------------FN_DYNVARS_004_07----------------------#' +SET @@global.general_log = TRUE; +SELECT @@global.general_log; +@@global.general_log +1 +SET @@global.general_log = FALSE; +SELECT @@global.general_log; +@@global.general_log +0 +'#---------------------FN_DYNVARS_004_08----------------------#' +SET @@global.general_log = ON; +SELECT @@general_log = @@global.general_log; +@@general_log = @@global.general_log +1 +'#---------------------FN_DYNVARS_004_09----------------------#' +SET general_log = ON; +ERROR HY000: Variable 'general_log' is a GLOBAL variable and should be set with SET GLOBAL +SET local.general_log = OFF; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'general_log = OFF' at line 1 +SELECT local.general_log; +ERROR 42S02: Unknown table 'local' in field list +SET global.general_log = ON; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'general_log = ON' at line 1 +SELECT global.general_log; +ERROR 42S02: Unknown table 'global' in field list +SELECT general_log = @@session.general_log; +ERROR 42S22: Unknown column 'general_log' in 'field list' +SET @@global.general_log = @start_value; +SELECT @@global.general_log; +@@global.general_log +1 diff --git a/mysql-test/r/general_log_file_basic.result b/mysql-test/r/general_log_file_basic.result new file mode 100644 index 00000000000..2d98da6f1a0 --- /dev/null +++ b/mysql-test/r/general_log_file_basic.result @@ -0,0 +1,19 @@ +SET @start_value = @@global.general_log_file; +SELECT @start_value; +@start_value +test.log +'#---------------------FN_DYNVARS_004_01-------------------------#' +SET @@global.general_log_file = DEFAULT; +SELECT RIGHT(@@global.general_log_file,10) AS log_file; +log_file +mysqld.log +'#--------------------FN_DYNVARS_004_02------------------------#' +SET @@global.general_log_file = mytest.log; +SET @@global.general_log_file = 12; +ERROR 42000: Incorrect argument type to variable 'general_log_file' +'#----------------------FN_DYNVARS_004_03------------------------#' +SELECT @@global.general_log_file = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='general_log_file'; +@@global.general_log_file = VARIABLE_VALUE +1 diff --git a/mysql-test/r/general_log_file_func.result b/mysql-test/r/general_log_file_func.result new file mode 100644 index 00000000000..42ef723e644 --- /dev/null +++ b/mysql-test/r/general_log_file_func.result @@ -0,0 +1,19 @@ +drop table if exists t1; +## Creating new table ## +CREATE TABLE t1 +( +id INT NOT NULL auto_increment, +PRIMARY KEY (id), +name VARCHAR(30) +); +'#--------------------FN_DYNVARS_018_01-------------------------#' +SELECT @@general_log_file; +@@general_log_file +mysql-test.log +INSERT into t1(name) values('Record_1'); +INSERT into t1(name) values('Record_2'); +INSERT into t1(name) values('Record_3'); +INSERT into t1(name) values('Record_4'); +## Verifying general log file ## +## Dropping table ## +DROP TABLE t1; diff --git a/mysql-test/r/general_log_func.result b/mysql-test/r/general_log_func.result new file mode 100644 index 00000000000..012a1383497 --- /dev/null +++ b/mysql-test/r/general_log_func.result @@ -0,0 +1,35 @@ +drop table if exists t1; +## Creating new table ## +CREATE TABLE t1 +( +id INT NOT NULL auto_increment, +PRIMARY KEY (id), +name VARCHAR(30) +); +'#--------------------FN_DYNVARS_018_01-------------------------#' +## Setting initial value of variable to OFF ## +SET @@global.general_log = OFF; +SELECT @@general_log; +@@general_log +0 +## Inserting some Records & Verifying output in log ## +INSERT into t1(name) values('Record_1'); +INSERT into t1(name) values('Record_2'); +## There should be no difference, case should pass ## +'#--------------------FN_DYNVARS_018_01-------------------------#' +## Setting initial value of variable to OFF ## +SET @@global.general_log = ON; +SELECT @@general_log; +@@general_log +1 +## Inserting some Records & Verifying output in log ## +INSERT into t1(name) values('Record_3'); +INSERT into t1(name) values('Record_4'); +## There should be a difference ## +SET @@session.max_allowed_packet= 1024*1024*1024; +select +STRCMP(load_file('MYSQLD_LOGFILE.orig'), load_file('MYSQLD_LOGFILE.copy')); +STRCMP(load_file('MYSQLD_LOGFILE.orig'), load_file('MYSQLD_LOGFILE.copy')) +1 +## Dropping tables ## +DROP TABLE t1; diff --git a/mysql-test/r/grant.result b/mysql-test/r/grant.result index a56cce50259..16be3eb966d 100644 --- a/mysql-test/r/grant.result +++ b/mysql-test/r/grant.result @@ -1218,6 +1218,12 @@ DROP USER mysqltest_1@localhost; DROP DATABASE db27878; use test; DROP TABLE t1; +# +# Bug#33275 Server crash when creating temporary table mysql.user +# +CREATE TEMPORARY TABLE mysql.user (id INT); +FLUSH PRIVILEGES; +DROP TABLE mysql.user; drop table if exists test; Warnings: Note 1051 Unknown table 'test' diff --git a/mysql-test/r/group_concat_max_len_basic.result b/mysql-test/r/group_concat_max_len_basic.result new file mode 100644 index 00000000000..5704f00c014 --- /dev/null +++ b/mysql-test/r/group_concat_max_len_basic.result @@ -0,0 +1,168 @@ +SET @start_global_value = @@global.group_concat_max_len; +SELECT @start_global_value; +@start_global_value +1024 +SET @start_session_value = @@session.group_concat_max_len; +SELECT @start_session_value; +@start_session_value +1024 +'#--------------------FN_DYNVARS_034_01-------------------------#' +SET @@global.group_concat_max_len = 100; +SET @@global.group_concat_max_len = DEFAULT; +SELECT @@global.group_concat_max_len; +@@global.group_concat_max_len +1024 +SET @@session.group_concat_max_len = 200; +SET @@session.group_concat_max_len = DEFAULT; +SELECT @@session.group_concat_max_len; +@@session.group_concat_max_len +1024 +'#--------------------FN_DYNVARS_034_02-------------------------#' +SET @@global.group_concat_max_len = DEFAULT; +SELECT @@global.group_concat_max_len = 1; +@@global.group_concat_max_len = 1 +0 +SET @@session.group_concat_max_len = DEFAULT; +SELECT @@session.group_concat_max_len = 1; +@@session.group_concat_max_len = 1 +0 +'#--------------------FN_DYNVARS_034_03-------------------------#' +SET @@global.group_concat_max_len = 1; +Warnings: +Warning 1292 Truncated incorrect group_concat_max_len value: '1' +SELECT @@global.group_concat_max_len; +@@global.group_concat_max_len +4 +SET @@global.group_concat_max_len = 60020; +SELECT @@global.group_concat_max_len; +@@global.group_concat_max_len +60020 +SET @@global.group_concat_max_len = 65535; +SELECT @@global.group_concat_max_len; +@@global.group_concat_max_len +65535 +'#--------------------FN_DYNVARS_034_04-------------------------#' +SET @@session.group_concat_max_len = 1; +Warnings: +Warning 1292 Truncated incorrect group_concat_max_len value: '1' +SELECT @@session.group_concat_max_len; +@@session.group_concat_max_len +4 +SET @@session.group_concat_max_len = 50050; +SELECT @@session.group_concat_max_len; +@@session.group_concat_max_len +50050 +SET @@session.group_concat_max_len = 65535; +SELECT @@session.group_concat_max_len; +@@session.group_concat_max_len +65535 +'#------------------FN_DYNVARS_034_05-----------------------#' +SET @@global.group_concat_max_len = 0; +Warnings: +Warning 1292 Truncated incorrect group_concat_max_len value: '0' +SELECT @@global.group_concat_max_len; +@@global.group_concat_max_len +4 +SET @@global.group_concat_max_len = -1024; +Warnings: +Warning 1292 Truncated incorrect group_concat_max_len value: '0' +SELECT @@global.group_concat_max_len; +@@global.group_concat_max_len +4 +SET @@global.group_concat_max_len = 65536; +SELECT @@global.group_concat_max_len; +@@global.group_concat_max_len +65536 +SET @@global.group_concat_max_len = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.group_concat_max_len; +@@global.group_concat_max_len +65536 +SET @@global.group_concat_max_len = test; +ERROR 42000: Incorrect argument type to variable 'group_concat_max_len' +SELECT @@global.group_concat_max_len; +@@global.group_concat_max_len +65536 +SET @@session.group_concat_max_len = 0; +Warnings: +Warning 1292 Truncated incorrect group_concat_max_len value: '0' +SELECT @@session.group_concat_max_len; +@@session.group_concat_max_len +4 +SET @@session.group_concat_max_len = -2; +Warnings: +Warning 1292 Truncated incorrect group_concat_max_len value: '0' +SELECT @@session.group_concat_max_len; +@@session.group_concat_max_len +4 +SET @@session.group_concat_max_len = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.group_concat_max_len = 65550; +SELECT @@session.group_concat_max_len; +@@session.group_concat_max_len +65550 +'Bug # 34837: Errors are not coming on assigning invalid values to variable' +SET @@session.group_concat_max_len = test; +ERROR 42000: Incorrect argument type to variable 'group_concat_max_len' +SELECT @@session.group_concat_max_len; +@@session.group_concat_max_len +65550 +'#------------------FN_DYNVARS_034_06-----------------------#' +SELECT @@global.group_concat_max_len = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='group_concat_max_len'; +@@global.group_concat_max_len = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_034_07-----------------------#' +SELECT @@session.group_concat_max_len = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='group_concat_max_len'; +@@session.group_concat_max_len = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_034_08-----------------------#' +SET @@global.group_concat_max_len = TRUE; +Warnings: +Warning 1292 Truncated incorrect group_concat_max_len value: '1' +SELECT @@global.group_concat_max_len; +@@global.group_concat_max_len +4 +SET @@global.group_concat_max_len = FALSE; +Warnings: +Warning 1292 Truncated incorrect group_concat_max_len value: '0' +SELECT @@global.group_concat_max_len; +@@global.group_concat_max_len +4 +'#---------------------FN_DYNVARS_001_09----------------------#' +SET @@global.group_concat_max_len = 10; +SELECT @@group_concat_max_len = @@global.group_concat_max_len; +@@group_concat_max_len = @@global.group_concat_max_len +0 +'#---------------------FN_DYNVARS_001_10----------------------#' +SET @@group_concat_max_len = 100; +SELECT @@group_concat_max_len = @@local.group_concat_max_len; +@@group_concat_max_len = @@local.group_concat_max_len +1 +SELECT @@local.group_concat_max_len = @@session.group_concat_max_len; +@@local.group_concat_max_len = @@session.group_concat_max_len +1 +'#---------------------FN_DYNVARS_001_11----------------------#' +SET group_concat_max_len = 1; +Warnings: +Warning 1292 Truncated incorrect group_concat_max_len value: '1' +SELECT @@group_concat_max_len; +@@group_concat_max_len +4 +SELECT local.group_concat_max_len; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.group_concat_max_len; +ERROR 42S02: Unknown table 'session' in field list +SELECT group_concat_max_len = @@session.group_concat_max_len; +ERROR 42S22: Unknown column 'group_concat_max_len' in 'field list' +SET @@global.group_concat_max_len = @start_global_value; +SELECT @@global.group_concat_max_len; +@@global.group_concat_max_len +1024 +SET @@session.group_concat_max_len = @start_session_value; +SELECT @@session.group_concat_max_len; +@@session.group_concat_max_len +1024 diff --git a/mysql-test/r/group_concat_max_len_func.result b/mysql-test/r/group_concat_max_len_func.result new file mode 100644 index 00000000000..715a84ce72b --- /dev/null +++ b/mysql-test/r/group_concat_max_len_func.result @@ -0,0 +1,79 @@ +SET @save = @@global.group_concat_max_len; +drop table if exists t1; +## Creating new table t1 ## +CREATE TABLE t1 +( +id INT NOT NULL auto_increment, +PRIMARY KEY (id), +rollno int NOT NULL, +name VARCHAR(30) +); +'#--------------------FN_DYNVARS_034_01-------------------------#' +## Setting initial value of variable to 4 ## +SET @@global.group_concat_max_len = 4; +## Inserting some rows in table ## +INSERT into t1(rollno, name) values(1, 'Record_1'); +INSERT into t1(rollno, name) values(2, 'Record_2'); +INSERT into t1(rollno, name) values(1, 'Record_3'); +INSERT into t1(rollno, name) values(3, 'Record_4'); +INSERT into t1(rollno, name) values(1, 'Record_5'); +INSERT into t1(rollno, name) values(3, 'Record_6'); +INSERT into t1(rollno, name) values(4, 'Record_7'); +INSERT into t1(rollno, name) values(4, 'Record_8'); +## Creating two new connections ## +'#--------------------FN_DYNVARS_034_02-------------------------#' +## Connecting with test_con1 ## +## Accessing data and using group_concat on column whose value is greater than 4 ## +SELECT id, rollno, group_concat(name) FROM t1 GROUP BY rollno; +id rollno group_concat(name) +1 1 Reco +2 2 Reco +4 3 Reco +7 4 Reco +Warnings: +Warning 1260 4 line(s) were cut by GROUP_CONCAT() +## Changing session value of variable and verifying its behavior, ## +## warning should come here ## +SET @@session.group_concat_max_len = 10; +SELECT id, rollno, group_concat(name) FROM t1 GROUP BY rollno; +id rollno group_concat(name) +1 1 Record_1,R +2 2 Record_2 +4 3 Record_4,R +7 4 Record_7,R +Warnings: +Warning 1260 3 line(s) were cut by GROUP_CONCAT() +'#--------------------FN_DYNVARS_034_03-------------------------#' +## Connecting with new connection test_con2 ## +## Verifying initial value of variable. It should be 4 ## +SELECT @@session.group_concat_max_len = 4; +@@session.group_concat_max_len = 4 +1 +## Setting session value of variable to 20 and verifying variable is concating ## +## column's value to 20 or not ## +SET @@session.group_concat_max_len = 20; +## Verifying value of name column, it should not me more than 20 characters ## +## Warning should come here ## +SELECT id, rollno, group_concat(name) FROM t1 GROUP BY rollno; +id rollno group_concat(name) +1 1 Record_1,Record_3,Re +2 2 Record_2 +4 3 Record_4,Record_6 +7 4 Record_7,Record_8 +Warnings: +Warning 1260 1 line(s) were cut by GROUP_CONCAT() +'#--------------------FN_DYNVARS_034_04-------------------------#' +## Setting session value of variable to 26. No warning should appear here ## +## because the value after concatination is less than 30 ## +SET @@session.group_concat_max_len = 26; +## Verifying value of name column, it should not give warning now ## +SELECT id, rollno, group_concat(name) FROM t1 GROUP BY rollno; +id rollno group_concat(name) +1 1 Record_1,Record_3,Record_5 +2 2 Record_2 +4 3 Record_4,Record_6 +7 4 Record_7,Record_8 +## Dropping table t1 ## +DROP table t1; +## Disconnecting both the connection ## +SET @@global.group_concat_max_len = @save; diff --git a/mysql-test/r/have_compress_basic.result b/mysql-test/r/have_compress_basic.result new file mode 100644 index 00000000000..9b48d0c4dff --- /dev/null +++ b/mysql-test/r/have_compress_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_006_01----------------------#' +SELECT COUNT(@@GLOBAL.have_compress); +COUNT(@@GLOBAL.have_compress) +1 +1 Expected +'#---------------------BS_STVARS_006_02----------------------#' +SET @@GLOBAL.have_compress=1; +ERROR HY000: Variable 'have_compress' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.have_compress); +COUNT(@@GLOBAL.have_compress) +1 +1 Expected +'#---------------------BS_STVARS_006_03----------------------#' +SELECT @@GLOBAL.have_compress = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='have_compress'; +@@GLOBAL.have_compress = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.have_compress); +COUNT(@@GLOBAL.have_compress) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='have_compress'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_006_04----------------------#' +SELECT @@have_compress = @@GLOBAL.have_compress; +@@have_compress = @@GLOBAL.have_compress +1 +1 Expected +'#---------------------BS_STVARS_006_05----------------------#' +SELECT COUNT(@@have_compress); +COUNT(@@have_compress) +1 +1 Expected +SELECT COUNT(@@local.have_compress); +ERROR HY000: Variable 'have_compress' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.have_compress); +ERROR HY000: Variable 'have_compress' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.have_compress); +COUNT(@@GLOBAL.have_compress) +1 +1 Expected +SELECT have_compress = @@SESSION.have_compress; +ERROR 42S22: Unknown column 'have_compress' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/have_crypt_basic.result b/mysql-test/r/have_crypt_basic.result new file mode 100644 index 00000000000..3a3c221290b --- /dev/null +++ b/mysql-test/r/have_crypt_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_007_01----------------------#' +SELECT COUNT(@@GLOBAL.have_crypt); +COUNT(@@GLOBAL.have_crypt) +1 +1 Expected +'#---------------------BS_STVARS_007_02----------------------#' +SET @@GLOBAL.have_crypt=1; +ERROR HY000: Variable 'have_crypt' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.have_crypt); +COUNT(@@GLOBAL.have_crypt) +1 +1 Expected +'#---------------------BS_STVARS_007_03----------------------#' +SELECT @@GLOBAL.have_crypt = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='have_crypt'; +@@GLOBAL.have_crypt = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.have_crypt); +COUNT(@@GLOBAL.have_crypt) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='have_crypt'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_007_04----------------------#' +SELECT @@have_crypt = @@GLOBAL.have_crypt; +@@have_crypt = @@GLOBAL.have_crypt +1 +1 Expected +'#---------------------BS_STVARS_007_05----------------------#' +SELECT COUNT(@@have_crypt); +COUNT(@@have_crypt) +1 +1 Expected +SELECT COUNT(@@local.have_crypt); +ERROR HY000: Variable 'have_crypt' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.have_crypt); +ERROR HY000: Variable 'have_crypt' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.have_crypt); +COUNT(@@GLOBAL.have_crypt) +1 +1 Expected +SELECT have_crypt = @@SESSION.have_crypt; +ERROR 42S22: Unknown column 'have_crypt' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/have_csv_basic.result b/mysql-test/r/have_csv_basic.result new file mode 100644 index 00000000000..3427d633f98 --- /dev/null +++ b/mysql-test/r/have_csv_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_008_01----------------------#' +SELECT COUNT(@@GLOBAL.have_csv); +COUNT(@@GLOBAL.have_csv) +1 +1 Expected +'#---------------------BS_STVARS_008_02----------------------#' +SET @@GLOBAL.have_csv=1; +ERROR HY000: Variable 'have_csv' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.have_csv); +COUNT(@@GLOBAL.have_csv) +1 +1 Expected +'#---------------------BS_STVARS_008_03----------------------#' +SELECT @@GLOBAL.have_csv = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='have_csv'; +@@GLOBAL.have_csv = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.have_csv); +COUNT(@@GLOBAL.have_csv) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='have_csv'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_008_04----------------------#' +SELECT @@have_csv = @@GLOBAL.have_csv; +@@have_csv = @@GLOBAL.have_csv +1 +1 Expected +'#---------------------BS_STVARS_008_05----------------------#' +SELECT COUNT(@@have_csv); +COUNT(@@have_csv) +1 +1 Expected +SELECT COUNT(@@local.have_csv); +ERROR HY000: Variable 'have_csv' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.have_csv); +ERROR HY000: Variable 'have_csv' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.have_csv); +COUNT(@@GLOBAL.have_csv) +1 +1 Expected +SELECT have_csv = @@SESSION.have_csv; +ERROR 42S22: Unknown column 'have_csv' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/have_dynamic_loading_basic.result b/mysql-test/r/have_dynamic_loading_basic.result new file mode 100644 index 00000000000..fba43958a69 --- /dev/null +++ b/mysql-test/r/have_dynamic_loading_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_009_01----------------------#' +SELECT COUNT(@@GLOBAL.have_dynamic_loading); +COUNT(@@GLOBAL.have_dynamic_loading) +1 +1 Expected +'#---------------------BS_STVARS_009_02----------------------#' +SET @@GLOBAL.have_dynamic_loading=1; +ERROR HY000: Variable 'have_dynamic_loading' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.have_dynamic_loading); +COUNT(@@GLOBAL.have_dynamic_loading) +1 +1 Expected +'#---------------------BS_STVARS_009_03----------------------#' +SELECT @@GLOBAL.have_dynamic_loading = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='have_dynamic_loading'; +@@GLOBAL.have_dynamic_loading = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.have_dynamic_loading); +COUNT(@@GLOBAL.have_dynamic_loading) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='have_dynamic_loading'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_009_04----------------------#' +SELECT @@have_dynamic_loading = @@GLOBAL.have_dynamic_loading; +@@have_dynamic_loading = @@GLOBAL.have_dynamic_loading +1 +1 Expected +'#---------------------BS_STVARS_009_05----------------------#' +SELECT COUNT(@@have_dynamic_loading); +COUNT(@@have_dynamic_loading) +1 +1 Expected +SELECT COUNT(@@local.have_dynamic_loading); +ERROR HY000: Variable 'have_dynamic_loading' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.have_dynamic_loading); +ERROR HY000: Variable 'have_dynamic_loading' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.have_dynamic_loading); +COUNT(@@GLOBAL.have_dynamic_loading) +1 +1 Expected +SELECT have_dynamic_loading = @@SESSION.have_dynamic_loading; +ERROR 42S22: Unknown column 'have_dynamic_loading' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/have_geometry_basic.result b/mysql-test/r/have_geometry_basic.result new file mode 100644 index 00000000000..1d5a379c7bc --- /dev/null +++ b/mysql-test/r/have_geometry_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_010_01----------------------#' +SELECT COUNT(@@GLOBAL.have_geometry); +COUNT(@@GLOBAL.have_geometry) +1 +1 Expected +'#---------------------BS_STVARS_010_02----------------------#' +SET @@GLOBAL.have_geometry=1; +ERROR HY000: Variable 'have_geometry' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.have_geometry); +COUNT(@@GLOBAL.have_geometry) +1 +1 Expected +'#---------------------BS_STVARS_010_03----------------------#' +SELECT @@GLOBAL.have_geometry = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='have_geometry'; +@@GLOBAL.have_geometry = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.have_geometry); +COUNT(@@GLOBAL.have_geometry) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='have_geometry'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_010_04----------------------#' +SELECT @@have_geometry = @@GLOBAL.have_geometry; +@@have_geometry = @@GLOBAL.have_geometry +1 +1 Expected +'#---------------------BS_STVARS_010_05----------------------#' +SELECT COUNT(@@have_geometry); +COUNT(@@have_geometry) +1 +1 Expected +SELECT COUNT(@@local.have_geometry); +ERROR HY000: Variable 'have_geometry' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.have_geometry); +ERROR HY000: Variable 'have_geometry' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.have_geometry); +COUNT(@@GLOBAL.have_geometry) +1 +1 Expected +SELECT have_geometry = @@SESSION.have_geometry; +ERROR 42S22: Unknown column 'have_geometry' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/have_innodb_basic.result b/mysql-test/r/have_innodb_basic.result new file mode 100644 index 00000000000..017512f3ae0 --- /dev/null +++ b/mysql-test/r/have_innodb_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_011_01----------------------#' +SELECT COUNT(@@GLOBAL.have_innodb); +COUNT(@@GLOBAL.have_innodb) +1 +1 Expected +'#---------------------BS_STVARS_011_02----------------------#' +SET @@GLOBAL.have_innodb=1; +ERROR HY000: Variable 'have_innodb' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.have_innodb); +COUNT(@@GLOBAL.have_innodb) +1 +1 Expected +'#---------------------BS_STVARS_011_03----------------------#' +SELECT @@GLOBAL.have_innodb = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='have_innodb'; +@@GLOBAL.have_innodb = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.have_innodb); +COUNT(@@GLOBAL.have_innodb) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='have_innodb'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_011_04----------------------#' +SELECT @@have_innodb = @@GLOBAL.have_innodb; +@@have_innodb = @@GLOBAL.have_innodb +1 +1 Expected +'#---------------------BS_STVARS_011_05----------------------#' +SELECT COUNT(@@have_innodb); +COUNT(@@have_innodb) +1 +1 Expected +SELECT COUNT(@@local.have_innodb); +ERROR HY000: Variable 'have_innodb' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.have_innodb); +ERROR HY000: Variable 'have_innodb' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.have_innodb); +COUNT(@@GLOBAL.have_innodb) +1 +1 Expected +SELECT have_innodb = @@SESSION.have_innodb; +ERROR 42S22: Unknown column 'have_innodb' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/have_ndbcluster_basic.result b/mysql-test/r/have_ndbcluster_basic.result new file mode 100644 index 00000000000..1b662311072 --- /dev/null +++ b/mysql-test/r/have_ndbcluster_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_012_01----------------------#' +SELECT COUNT(@@GLOBAL.have_ndbcluster); +COUNT(@@GLOBAL.have_ndbcluster) +1 +1 Expected +'#---------------------BS_STVARS_012_02----------------------#' +SET @@GLOBAL.have_ndbcluster=1; +ERROR HY000: Variable 'have_ndbcluster' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.have_ndbcluster); +COUNT(@@GLOBAL.have_ndbcluster) +1 +1 Expected +'#---------------------BS_STVARS_012_03----------------------#' +SELECT @@GLOBAL.have_ndbcluster = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='have_ndbcluster'; +@@GLOBAL.have_ndbcluster = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.have_ndbcluster); +COUNT(@@GLOBAL.have_ndbcluster) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='have_ndbcluster'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_012_04----------------------#' +SELECT @@have_ndbcluster = @@GLOBAL.have_ndbcluster; +@@have_ndbcluster = @@GLOBAL.have_ndbcluster +1 +1 Expected +'#---------------------BS_STVARS_012_05----------------------#' +SELECT COUNT(@@have_ndbcluster); +COUNT(@@have_ndbcluster) +1 +1 Expected +SELECT COUNT(@@local.have_ndbcluster); +ERROR HY000: Variable 'have_ndbcluster' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.have_ndbcluster); +ERROR HY000: Variable 'have_ndbcluster' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.have_ndbcluster); +COUNT(@@GLOBAL.have_ndbcluster) +1 +1 Expected +SELECT have_ndbcluster = @@SESSION.have_ndbcluster; +ERROR 42S22: Unknown column 'have_ndbcluster' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/have_openssl_basic.result b/mysql-test/r/have_openssl_basic.result new file mode 100644 index 00000000000..1fce883a02f --- /dev/null +++ b/mysql-test/r/have_openssl_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_013_01----------------------#' +SELECT COUNT(@@GLOBAL.have_openssl); +COUNT(@@GLOBAL.have_openssl) +1 +1 Expected +'#---------------------BS_STVARS_013_02----------------------#' +SET @@GLOBAL.have_openssl=1; +ERROR HY000: Variable 'have_openssl' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.have_openssl); +COUNT(@@GLOBAL.have_openssl) +1 +1 Expected +'#---------------------BS_STVARS_013_03----------------------#' +SELECT @@GLOBAL.have_openssl = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='have_openssl'; +@@GLOBAL.have_openssl = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.have_openssl); +COUNT(@@GLOBAL.have_openssl) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='have_openssl'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_013_04----------------------#' +SELECT @@have_openssl = @@GLOBAL.have_openssl; +@@have_openssl = @@GLOBAL.have_openssl +1 +1 Expected +'#---------------------BS_STVARS_013_05----------------------#' +SELECT COUNT(@@have_openssl); +COUNT(@@have_openssl) +1 +1 Expected +SELECT COUNT(@@local.have_openssl); +ERROR HY000: Variable 'have_openssl' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.have_openssl); +ERROR HY000: Variable 'have_openssl' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.have_openssl); +COUNT(@@GLOBAL.have_openssl) +1 +1 Expected +SELECT have_openssl = @@SESSION.have_openssl; +ERROR 42S22: Unknown column 'have_openssl' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/have_partitioning_basic.result b/mysql-test/r/have_partitioning_basic.result new file mode 100644 index 00000000000..8a18288a3ec --- /dev/null +++ b/mysql-test/r/have_partitioning_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_014_01----------------------#' +SELECT COUNT(@@GLOBAL.have_partitioning); +COUNT(@@GLOBAL.have_partitioning) +1 +1 Expected +'#---------------------BS_STVARS_014_02----------------------#' +SET @@GLOBAL.have_partitioning=1; +ERROR HY000: Variable 'have_partitioning' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.have_partitioning); +COUNT(@@GLOBAL.have_partitioning) +1 +1 Expected +'#---------------------BS_STVARS_014_03----------------------#' +SELECT @@GLOBAL.have_partitioning = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='have_partitioning'; +@@GLOBAL.have_partitioning = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.have_partitioning); +COUNT(@@GLOBAL.have_partitioning) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='have_partitioning'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_014_04----------------------#' +SELECT @@have_partitioning = @@GLOBAL.have_partitioning; +@@have_partitioning = @@GLOBAL.have_partitioning +1 +1 Expected +'#---------------------BS_STVARS_014_05----------------------#' +SELECT COUNT(@@have_partitioning); +COUNT(@@have_partitioning) +1 +1 Expected +SELECT COUNT(@@local.have_partitioning); +ERROR HY000: Variable 'have_partitioning' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.have_partitioning); +ERROR HY000: Variable 'have_partitioning' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.have_partitioning); +COUNT(@@GLOBAL.have_partitioning) +1 +1 Expected +SELECT have_partitioning = @@SESSION.have_partitioning; +ERROR 42S22: Unknown column 'have_partitioning' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/have_query_cache_basic.result b/mysql-test/r/have_query_cache_basic.result new file mode 100644 index 00000000000..4baca716698 --- /dev/null +++ b/mysql-test/r/have_query_cache_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_015_01----------------------#' +SELECT COUNT(@@GLOBAL.have_query_cache); +COUNT(@@GLOBAL.have_query_cache) +1 +1 Expected +'#---------------------BS_STVARS_015_02----------------------#' +SET @@GLOBAL.have_query_cache=1; +ERROR HY000: Variable 'have_query_cache' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.have_query_cache); +COUNT(@@GLOBAL.have_query_cache) +1 +1 Expected +'#---------------------BS_STVARS_015_03----------------------#' +SELECT @@GLOBAL.have_query_cache = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='have_query_cache'; +@@GLOBAL.have_query_cache = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.have_query_cache); +COUNT(@@GLOBAL.have_query_cache) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='have_query_cache'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_015_04----------------------#' +SELECT @@have_query_cache = @@GLOBAL.have_query_cache; +@@have_query_cache = @@GLOBAL.have_query_cache +1 +1 Expected +'#---------------------BS_STVARS_015_05----------------------#' +SELECT COUNT(@@have_query_cache); +COUNT(@@have_query_cache) +1 +1 Expected +SELECT COUNT(@@local.have_query_cache); +ERROR HY000: Variable 'have_query_cache' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.have_query_cache); +ERROR HY000: Variable 'have_query_cache' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.have_query_cache); +COUNT(@@GLOBAL.have_query_cache) +1 +1 Expected +SELECT have_query_cache = @@SESSION.have_query_cache; +ERROR 42S22: Unknown column 'have_query_cache' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/have_rtree_keys_basic.result b/mysql-test/r/have_rtree_keys_basic.result new file mode 100644 index 00000000000..7d34f1faaed --- /dev/null +++ b/mysql-test/r/have_rtree_keys_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_016_01----------------------#' +SELECT COUNT(@@GLOBAL.have_rtree_keys); +COUNT(@@GLOBAL.have_rtree_keys) +1 +1 Expected +'#---------------------BS_STVARS_016_02----------------------#' +SET @@GLOBAL.have_rtree_keys=1; +ERROR HY000: Variable 'have_rtree_keys' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.have_rtree_keys); +COUNT(@@GLOBAL.have_rtree_keys) +1 +1 Expected +'#---------------------BS_STVARS_016_03----------------------#' +SELECT @@GLOBAL.have_rtree_keys = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='have_rtree_keys'; +@@GLOBAL.have_rtree_keys = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.have_rtree_keys); +COUNT(@@GLOBAL.have_rtree_keys) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='have_rtree_keys'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_016_04----------------------#' +SELECT @@have_rtree_keys = @@GLOBAL.have_rtree_keys; +@@have_rtree_keys = @@GLOBAL.have_rtree_keys +1 +1 Expected +'#---------------------BS_STVARS_016_05----------------------#' +SELECT COUNT(@@have_rtree_keys); +COUNT(@@have_rtree_keys) +1 +1 Expected +SELECT COUNT(@@local.have_rtree_keys); +ERROR HY000: Variable 'have_rtree_keys' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.have_rtree_keys); +ERROR HY000: Variable 'have_rtree_keys' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.have_rtree_keys); +COUNT(@@GLOBAL.have_rtree_keys) +1 +1 Expected +SELECT have_rtree_keys = @@SESSION.have_rtree_keys; +ERROR 42S22: Unknown column 'have_rtree_keys' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/have_ssl_basic.result b/mysql-test/r/have_ssl_basic.result new file mode 100644 index 00000000000..a425363c03c --- /dev/null +++ b/mysql-test/r/have_ssl_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_017_01----------------------#' +SELECT COUNT(@@GLOBAL.have_ssl); +COUNT(@@GLOBAL.have_ssl) +1 +1 Expected +'#---------------------BS_STVARS_017_02----------------------#' +SET @@GLOBAL.have_ssl=1; +ERROR HY000: Variable 'have_ssl' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.have_ssl); +COUNT(@@GLOBAL.have_ssl) +1 +1 Expected +'#---------------------BS_STVARS_017_03----------------------#' +SELECT @@GLOBAL.have_ssl = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='have_ssl'; +@@GLOBAL.have_ssl = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.have_ssl); +COUNT(@@GLOBAL.have_ssl) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='have_ssl'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_017_04----------------------#' +SELECT @@have_ssl = @@GLOBAL.have_ssl; +@@have_ssl = @@GLOBAL.have_ssl +1 +1 Expected +'#---------------------BS_STVARS_017_05----------------------#' +SELECT COUNT(@@have_ssl); +COUNT(@@have_ssl) +1 +1 Expected +SELECT COUNT(@@local.have_ssl); +ERROR HY000: Variable 'have_ssl' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.have_ssl); +ERROR HY000: Variable 'have_ssl' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.have_ssl); +COUNT(@@GLOBAL.have_ssl) +1 +1 Expected +SELECT have_ssl = @@SESSION.have_ssl; +ERROR 42S22: Unknown column 'have_ssl' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/have_symlink_basic.result b/mysql-test/r/have_symlink_basic.result new file mode 100644 index 00000000000..999cbb66519 --- /dev/null +++ b/mysql-test/r/have_symlink_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_018_01----------------------#' +SELECT COUNT(@@GLOBAL.have_symlink); +COUNT(@@GLOBAL.have_symlink) +1 +1 Expected +'#---------------------BS_STVARS_018_02----------------------#' +SET @@GLOBAL.have_symlink=1; +ERROR HY000: Variable 'have_symlink' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.have_symlink); +COUNT(@@GLOBAL.have_symlink) +1 +1 Expected +'#---------------------BS_STVARS_018_03----------------------#' +SELECT @@GLOBAL.have_symlink = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='have_symlink'; +@@GLOBAL.have_symlink = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.have_symlink); +COUNT(@@GLOBAL.have_symlink) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='have_symlink'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_018_04----------------------#' +SELECT @@have_symlink = @@GLOBAL.have_symlink; +@@have_symlink = @@GLOBAL.have_symlink +1 +1 Expected +'#---------------------BS_STVARS_018_05----------------------#' +SELECT COUNT(@@have_symlink); +COUNT(@@have_symlink) +1 +1 Expected +SELECT COUNT(@@local.have_symlink); +ERROR HY000: Variable 'have_symlink' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.have_symlink); +ERROR HY000: Variable 'have_symlink' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.have_symlink); +COUNT(@@GLOBAL.have_symlink) +1 +1 Expected +SELECT have_symlink = @@SESSION.have_symlink; +ERROR 42S22: Unknown column 'have_symlink' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/heap.result b/mysql-test/r/heap.result index a2c208ee3e1..ddf675e2f73 100644 --- a/mysql-test/r/heap.result +++ b/mysql-test/r/heap.result @@ -256,7 +256,6 @@ set @a=repeat(' ',20); insert into t1 values (concat('+',@a),concat('+',@a),concat('+',@a)); Warnings: Note 1265 Data truncated for column 'v' at row 1 -Note 1265 Data truncated for column 'c' at row 1 select concat('*',v,'*',c,'*',t,'*') from t1; concat('*',v,'*',c,'*',t,'*') *+ *+*+ * diff --git a/mysql-test/r/hostname_basic.result b/mysql-test/r/hostname_basic.result new file mode 100644 index 00000000000..c4357a4fbb4 --- /dev/null +++ b/mysql-test/r/hostname_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_019_01----------------------#' +SELECT COUNT(@@GLOBAL.hostname); +COUNT(@@GLOBAL.hostname) +1 +1 Expected +'#---------------------BS_STVARS_019_02----------------------#' +SET @@GLOBAL.hostname=1; +ERROR HY000: Variable 'hostname' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.hostname); +COUNT(@@GLOBAL.hostname) +1 +1 Expected +'#---------------------BS_STVARS_019_03----------------------#' +SELECT @@GLOBAL.hostname = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='hostname'; +@@GLOBAL.hostname = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.hostname); +COUNT(@@GLOBAL.hostname) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='hostname'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_019_04----------------------#' +SELECT @@hostname = @@GLOBAL.hostname; +@@hostname = @@GLOBAL.hostname +1 +1 Expected +'#---------------------BS_STVARS_019_05----------------------#' +SELECT COUNT(@@hostname); +COUNT(@@hostname) +1 +1 Expected +SELECT COUNT(@@local.hostname); +ERROR HY000: Variable 'hostname' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.hostname); +ERROR HY000: Variable 'hostname' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.hostname); +COUNT(@@GLOBAL.hostname) +1 +1 Expected +SELECT hostname = @@SESSION.hostname; +ERROR 42S22: Unknown column 'hostname' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/identity_basic.result b/mysql-test/r/identity_basic.result new file mode 100644 index 00000000000..60f3edcc030 --- /dev/null +++ b/mysql-test/r/identity_basic.result @@ -0,0 +1,121 @@ +SET @start_value = @@session.identity; +SELECT @start_value; +@start_value +0 +'#--------------------FN_DYNVARS_035_01------------------------#' +SET @@session.identity = 99; +'Variable is giving error on assigning Default value'; +SELECT @@session.identity; +@@session.identity +99 +'#---------------------FN_DYNVARS_035_02-------------------------#' +SET @@session.identity = @start_value; +SELECT @@session.identity = 0; +@@session.identity = 0 +1 +'#--------------------FN_DYNVARS_035_03------------------------#' +SET @@session.identity = 0; +SELECT @@session.identity; +@@session.identity +0 +SET @@session.identity = 1099; +SELECT @@session.identity; +@@session.identity +1099 +SET @@session.identity = 1800; +SELECT @@session.identity; +@@session.identity +1800 +SET @@session.identity = 65535; +SELECT @@session.identity; +@@session.identity +65535 +'#--------------------FN_DYNVARS_035_04-------------------------#' +SET @@session.identity = -1; +SELECT @@session.identity; +@@session.identity +-1 +SET @@session.identity = 100000000000; +SELECT @@session.identity; +@@session.identity +100000000000 +SET @@session.identity = 10000.01; +ERROR 42000: Incorrect argument type to variable 'identity' +SELECT @@session.identity; +@@session.identity +100000000000 +SET @@session.identity = -1024; +SELECT @@session.identity; +@@session.identity +-1024 +SET @@session.identity = 42949672950; +SELECT @@session.identity; +@@session.identity +42949672950 +'Bug # 34837: Errors are not coming on assigning invalid values to variable' +SET @@session.identity = ON; +ERROR 42000: Incorrect argument type to variable 'identity' +SELECT @@session.identity; +@@session.identity +42949672950 +SET @@session.identity = 'test'; +ERROR 42000: Incorrect argument type to variable 'identity' +SELECT @@session.identity; +@@session.identity +42949672950 +'#-------------------FN_DYNVARS_035_05----------------------------#' +SET @@global.identity = 0; +ERROR HY000: Variable 'identity' is a SESSION variable and can't be used with SET GLOBAL +SELECT @@global.identity; +ERROR HY000: Variable 'identity' is a SESSION variable +'#----------------------FN_DYNVARS_035_06------------------------#' +SELECT @@global.identity = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='identity'; +ERROR HY000: Variable 'identity' is a SESSION variable +SELECT @@session.identity = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='identity'; +@@session.identity = VARIABLE_VALUE +1 +'#-------------------FN_DYNVARS_035_07----------------------------#' +SET @@global.identity = 0; +ERROR HY000: Variable 'identity' is a SESSION variable and can't be used with SET GLOBAL +SELECT @@global.identity; +ERROR HY000: Variable 'identity' is a SESSION variable +'#---------------------FN_DYNVARS_035_08----------------------#' +SET @@session.identity = TRUE; +SELECT @@session.identity; +@@session.identity +1 +SET @@session.identity = FALSE; +SELECT @@session.identity; +@@session.identity +0 +'#---------------------FN_DYNVARS_035_09----------------------#' +SET @@session.identity = 1; +SELECT @@identity = @@session.identity; +@@identity = @@session.identity +1 +SELECT @@session.identity = @@local.identity; +@@session.identity = @@local.identity +1 +'#---------------------FN_DYNVARS_035_10----------------------#' +SET identity = 1; +SELECT @@identity; +@@identity +1 +SET local.identity = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identity = 1' at line 1 +SELECT local.identity; +ERROR 42S02: Unknown table 'local' in field list +SET session.identity = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identity = 1' at line 1 +SELECT session.identity; +ERROR 42S02: Unknown table 'session' in field list +SELECT identity = @@session.identity; +ERROR 42S22: Unknown column 'identity' in 'field list' +SET @@session.identity = @start_value; +SELECT @@session.identity; +@@session.identity +0 diff --git a/mysql-test/r/identity_func.result b/mysql-test/r/identity_func.result new file mode 100644 index 00000000000..ba430e72a1f --- /dev/null +++ b/mysql-test/r/identity_func.result @@ -0,0 +1,105 @@ +drop table if exists t1; +drop table if exists t2; +## Creating new table t1 ## +CREATE TABLE t1 +( +id INT NOT NULL auto_increment, +PRIMARY KEY (id), +name VARCHAR(30) +) ENGINE = INNODB; +## Creating another new table t2 ## +CREATE TABLE t2 +( +id INT NOT NULL auto_increment, +PRIMARY KEY (id), +name VARCHAR(30) +) ENGINE = INNODB; +'#--------------------FN_DYNVARS_035_01-------------------------#' +## It should be zero ## +SELECT @@identity = 0; +@@identity = 0 +1 +## Creating and connecting with new connection test_con1 ## +SET @@autocommit = 0; +## Inserting rows in table t1 ## +INSERT into t1(name) values('Record_1'); +INSERT into t1(name) values('Record_2'); +INSERT into t1(name) values('Record_3'); +## Verifying total values in t1 ## +SELECT @@identity from t1; +@@identity +3 +3 +3 +## Now inserting some data in table t2 ## +INSERT into t2(name) values('Record_1'); +## Verifying total values in t2 ## +SELECT @@identity from t2; +@@identity +1 +'#--------------------FN_DYNVARS_035_02-------------------------#' +## Creating and connecting with new connection test_con2 ## +SELECT * from t1; +id name +## Verifying total values in t1 ## +SELECT @@identity from t1; +@@identity +## Verifying total values in t2 ## +SELECT @@identity from t2; +@@identity +## Inserting some more records in table t1 ## +INSERT into t1(name) values('Record_1_1'); +INSERT into t1(name) values('Record_1_2'); +## Verifying total values in t1 ## +SELECT @@identity from t1; +@@identity +5 +5 +## Inserting row in table t2 ## +INSERT into t2(name) values('Record_1_3'); +## Verifying total values in t2 ## +SELECT @@identity from t2; +@@identity +2 +'#--------------------FN_DYNVARS_035_03-------------------------#' +## Switching to connection test_con1 ## +## Commiting rows added in test_con1 ## +COMMIT; +## Verifying records in both tables ## +SELECT * from t1; +id name +1 Record_1 +2 Record_2 +3 Record_3 +4 Record_1_1 +5 Record_1_2 +SELECT * from t2; +id name +1 Record_1 +2 Record_1_3 +## Verifying total values in t1 after commiting data ## +SELECT @@identity from t1; +@@identity +1 +1 +1 +1 +1 +## Verifying total values in t2 after commiting data ## +SELECT @@identity from t2; +@@identity +1 +1 +INSERT into t1(name) values('Record_4'); +## Now verifying value of variable after inserting 1 row in this connection ## +SELECT @@identity from t1; +@@identity +6 +6 +6 +6 +6 +6 +## Dropping tables t1 & t2 ## +drop table t1, t2; +## Disconnecting both the connections ## diff --git a/mysql-test/r/init_connect_basic.result b/mysql-test/r/init_connect_basic.result new file mode 100644 index 00000000000..58f7a9d2ccd --- /dev/null +++ b/mysql-test/r/init_connect_basic.result @@ -0,0 +1,98 @@ +SET @global_start_value = @@global.init_connect; +SELECT @global_start_value AS INIT_VALUE; +INIT_VALUE + +'#--------------------FN_DYNVARS_036_01------------------#' +SELECT init_connect; +ERROR 42S22: Unknown column 'init_connect' in 'field list' +SELECT @@init_connect; +@@init_connect + +SET @@global.init_connect='SET autocomit=0'; +SELECT @@global.init_connect; +@@global.init_connect +SET autocomit=0 +SET global init_connect='SET autocomit=0'; +SELECT global init_connect; +ERROR 42S22: Unknown column 'global' in 'field list' +SELECT @@global init_connect; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'init_connect' at line 1 +'#--------------------FN_DYNVARS_036_02-------------------------#' +SET @@global.init_connect = 'SET join_buffer_size=8200'; +SET @@global.init_connect = DEFAULT; +SELECT @@global.init_connect; +@@global.init_connect + +'#--------------------FN_DYNVARS_036_03-------------------------#' +SET @@session.init_connect = ''; +ERROR HY000: Variable 'init_connect' is a GLOBAL variable and should be set with SET GLOBAL +SET @@init_connect = ''; +ERROR HY000: Variable 'init_connect' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@session.init_connect; +ERROR HY000: Variable 'init_connect' is a GLOBAL variable +SELECT @@local.init_connect; +ERROR HY000: Variable 'init_connect' is a GLOBAL variable +'#--------------------FN_DYNVARS_036_04-------------------------#' +SET @@global.init_connect=""; +SELECT @@global.init_connect; +@@global.init_connect + +SET @@global.init_connect='SELECT 1,"abc"'; +SELECT @@global.init_connect; +@@global.init_connect +SELECT 1,"abc" +SET @@global.init_connect='SET @yoursql="mysql"'; +SELECT @@global.init_connect; +@@global.init_connect +SET @yoursql="mysql" +SET @@global.init_connect="SET autocomit=0;REVOKE ALL ON INFORMATION_SCHEMA.*"; +SELECT @@global.init_connect; +@@global.init_connect +SET autocomit=0;REVOKE ALL ON INFORMATION_SCHEMA.* +SET @@global.init_connect='SHOW VARIABLES'; +SELECT @@global.init_connect; +@@global.init_connect +SHOW VARIABLES +SET @@global.init_connect = NULL; +SELECT @@global.init_connect; +@@global.init_connect + +SET @@global.init_connect='abc 123 +-*/'; +SELECT @@global.init_connect; +@@global.init_connect +abc 123 +-*/ +SET @@global.init_connect=this_will_give_syntax_error; +SELECT @@global.init_connect; +@@global.init_connect +this_will_give_syntax_error +SET @@global.init_connect = init_slave; +SELECT @@global.init_connect; +@@global.init_connect +init_slave +'#--------------------FN_DYNVARS_036_05-------------------------#' +SET @@global.init_connect = true; +ERROR 42000: Incorrect argument type to variable 'init_connect' +SET @@global.init_connect = false; +ERROR 42000: Incorrect argument type to variable 'init_connect' +SET @@global.init_connect = 1.1; +ERROR 42000: Incorrect argument type to variable 'init_connect' +SET @@global.init_connect = 0; +ERROR 42000: Incorrect argument type to variable 'init_connect' +SET @@global.init_connect = 1; +ERROR 42000: Incorrect argument type to variable 'init_connect' +SET @@global.init_connect = -1; +ERROR 42000: Incorrect argument type to variable 'init_connect' +SET @@global.init_connect = ON; +SELECT @@global.init_connect; +@@global.init_connect +ON +'#--------------------FN_DYNVARS_036_06-------------------------#' +SELECT @@global.init_connect = (SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='init_connect') AS res; +res +1 +SET @@global.init_connect = @global_start_value; +SELECT @@global.init_connect; +@@global.init_connect + diff --git a/mysql-test/r/init_slave_basic.result b/mysql-test/r/init_slave_basic.result new file mode 100644 index 00000000000..87272f1489b --- /dev/null +++ b/mysql-test/r/init_slave_basic.result @@ -0,0 +1,98 @@ +SET @global_start_value = @@global.init_slave; +SELECT @global_start_value AS INIT_VALUE; +INIT_VALUE + +'#--------------------FN_DYNVARS_037_01------------------#' +SELECT init_slave; +ERROR 42S22: Unknown column 'init_slave' in 'field list' +SELECT @@init_slave; +@@init_slave + +SET @@global.init_slave='SET autocomit=0'; +SELECT @@global.init_slave; +@@global.init_slave +SET autocomit=0 +SET global init_slave='SET autocomit=0'; +SELECT global init_slave; +ERROR 42S22: Unknown column 'global' in 'field list' +SELECT @@global init_slave; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'init_slave' at line 1 +'#--------------------FN_DYNVARS_037_02-------------------------#' +SET @@global.init_slave = 'SET join_buffer_size=8200'; +SET @@global.init_slave = DEFAULT; +SELECT @@global.init_slave; +@@global.init_slave + +'#--------------------FN_DYNVARS_037_03-------------------------#' +SET @@session.init_slave = ''; +ERROR HY000: Variable 'init_slave' is a GLOBAL variable and should be set with SET GLOBAL +SET @@init_slave = ""; +ERROR HY000: Variable 'init_slave' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@session.init_slave; +ERROR HY000: Variable 'init_slave' is a GLOBAL variable +SELECT @@local.init_slave; +ERROR HY000: Variable 'init_slave' is a GLOBAL variable +'#--------------------FN_DYNVARS_037_04-------------------------#' +SET @@global.init_slave=""; +SELECT @@global.init_slave; +@@global.init_slave + +SET @@global.init_slave='SELECT 1,"abc"'; +SELECT @@global.init_slave; +@@global.init_slave +SELECT 1,"abc" +SET @@global.init_slave='SET @a="b"'; +SELECT @@global.init_slave; +@@global.init_slave +SET @a="b" +SET @@global.init_slave="SET autocomit=1;REVOKE ALL ON INFORMATION_SCHEMA.*"; +SELECT @@global.init_slave; +@@global.init_slave +SET autocomit=1;REVOKE ALL ON INFORMATION_SCHEMA.* +SET @@global.init_slave='SHOW VARIABLES'; +SELECT @@global.init_slave; +@@global.init_slave +SHOW VARIABLES +SET @@global.init_slave = NULL; +SELECT @@global.init_slave; +@@global.init_slave + +SET @@global.init_slave='abc 123 +-*/'; +SELECT @@global.init_slave; +@@global.init_slave +abc 123 +-*/ +SET @@global.init_slave=this_will_give_syntax_error; +SELECT @@global.init_slave; +@@global.init_slave +this_will_give_syntax_error +SET @@global.init_slave = init_slave; +SELECT @@global.init_slave; +@@global.init_slave +init_slave +'#--------------------FN_DYNVARS_037_05-------------------------#' +SET @@global.init_slave = true; +ERROR 42000: Incorrect argument type to variable 'init_slave' +SET @@global.init_slave = false; +ERROR 42000: Incorrect argument type to variable 'init_slave' +SET @@global.init_slave = 1.1; +ERROR 42000: Incorrect argument type to variable 'init_slave' +SET @@global.init_slave = 0; +ERROR 42000: Incorrect argument type to variable 'init_slave' +SET @@global.init_slave = 1; +ERROR 42000: Incorrect argument type to variable 'init_slave' +SET @@global.init_slave = -1; +ERROR 42000: Incorrect argument type to variable 'init_slave' +SET @@global.init_slave = ON; +SELECT @@global.init_slave; +@@global.init_slave +ON +'#--------------------FN_DYNVARS_037_06-------------------------#' +SELECT @@global.init_slave = (SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='init_slave') AS res; +res +1 +SET @@global.init_slave = @global_start_value; +SELECT @@global.init_slave; +@@global.init_slave + diff --git a/mysql-test/r/innodb.result b/mysql-test/r/innodb.result index 0cd276852bf..03d3e019e99 100644 --- a/mysql-test/r/innodb.result +++ b/mysql-test/r/innodb.result @@ -925,7 +925,7 @@ id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 index NULL b 4 NULL # Using index explain select a,b from t1; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 index NULL PRIMARY 4 NULL # +1 SIMPLE t1 index NULL b 4 NULL # Using index explain select a,b,c from t1; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 ALL NULL NULL NULL NULL # @@ -1166,14 +1166,14 @@ UPDATE t1 set a=a+100 where b between 2 and 3 and a < 1000; SELECT * from t1; a b 1 1 +102 2 +103 3 4 4 5 5 6 6 7 7 8 8 9 9 -102 2 -103 3 drop table t1; CREATE TABLE t1 (a int not null primary key, b int not null, key (b)) engine=innodb; CREATE TABLE t2 (a int not null primary key, b int not null, key (b)) engine=innodb; @@ -1197,6 +1197,7 @@ a b update t1,t2 set t1.a=t1.a+100 where t1.a=101; select * from t1; a b +201 1 102 2 103 3 104 4 @@ -1208,11 +1209,10 @@ a b 110 10 111 11 112 12 -201 1 update t1,t2 set t1.b=t1.b+10 where t1.b=2; select * from t1; a b -102 12 +201 1 103 3 104 4 105 5 @@ -1222,34 +1222,34 @@ a b 109 9 110 10 111 11 +102 12 112 12 -201 1 update t1,t2 set t1.b=t1.b+2,t2.b=t1.b+10 where t1.b between 3 and 5 and t1.a=t2.a+100; select * from t1; a b -102 12 +201 1 103 5 104 6 -105 7 106 6 +105 7 107 7 108 8 109 9 110 10 111 11 +102 12 112 12 -201 1 select * from t2; a b 1 1 2 2 -3 13 -4 14 -5 15 6 6 7 7 8 8 9 9 +3 13 +4 14 +5 15 drop table t1,t2; CREATE TABLE t2 ( NEXT_T BIGINT NOT NULL PRIMARY KEY) ENGINE=MyISAM; CREATE TABLE t1 ( B_ID INTEGER NOT NULL PRIMARY KEY) ENGINE=InnoDB; @@ -1300,11 +1300,11 @@ insert into t1 (id) values (null),(null),(null),(null),(null); update t1 set fk=69 where fk is null order by id limit 1; SELECT * from t1; id fk -1 69 2 NULL 3 NULL 4 NULL 5 NULL +1 69 drop table t1; create table t1 (a int not null, b int not null, key (a)); insert into t1 values (1,1),(1,2),(1,3),(3,1),(3,2),(3,3),(3,1),(3,2),(3,3),(2,1),(2,2),(2,3); @@ -1836,7 +1836,6 @@ set @a=repeat(' ',20); insert into t1 values (concat('+',@a),concat('+',@a),concat('+',@a)); Warnings: Note 1265 Data truncated for column 'v' at row 1 -Note 1265 Data truncated for column 'c' at row 1 select concat('*',v,'*',c,'*',t,'*') from t1; concat('*',v,'*',c,'*',t,'*') *+ *+*+ * @@ -2438,8 +2437,8 @@ insert into t1 (b) values (1); replace into t1 (b) values (2), (1), (3); select * from t1; a b -2 2 3 1 +2 2 4 3 truncate table t1; insert into t1 (b) values (1); @@ -2448,8 +2447,8 @@ replace into t1 (b) values (1); replace into t1 (b) values (3); select * from t1; a b -2 2 3 1 +2 2 4 3 drop table t1; create table t1 (rowid int not null auto_increment, val int not null,primary diff --git a/mysql-test/r/innodb_additional_mem_pool_size_basic.result b/mysql-test/r/innodb_additional_mem_pool_size_basic.result new file mode 100644 index 00000000000..fb062d62bc6 --- /dev/null +++ b/mysql-test/r/innodb_additional_mem_pool_size_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_020_01----------------------#' +SELECT COUNT(@@GLOBAL.innodb_additional_mem_pool_size); +COUNT(@@GLOBAL.innodb_additional_mem_pool_size) +1 +1 Expected +'#---------------------BS_STVARS_020_02----------------------#' +SET @@GLOBAL.innodb_additional_mem_pool_size=1; +ERROR HY000: Variable 'innodb_additional_mem_pool_size' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.innodb_additional_mem_pool_size); +COUNT(@@GLOBAL.innodb_additional_mem_pool_size) +1 +1 Expected +'#---------------------BS_STVARS_020_03----------------------#' +SELECT @@GLOBAL.innodb_additional_mem_pool_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_additional_mem_pool_size'; +@@GLOBAL.innodb_additional_mem_pool_size = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.innodb_additional_mem_pool_size); +COUNT(@@GLOBAL.innodb_additional_mem_pool_size) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_additional_mem_pool_size'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_020_04----------------------#' +SELECT @@innodb_additional_mem_pool_size = @@GLOBAL.innodb_additional_mem_pool_size; +@@innodb_additional_mem_pool_size = @@GLOBAL.innodb_additional_mem_pool_size +1 +1 Expected +'#---------------------BS_STVARS_020_05----------------------#' +SELECT COUNT(@@innodb_additional_mem_pool_size); +COUNT(@@innodb_additional_mem_pool_size) +1 +1 Expected +SELECT COUNT(@@local.innodb_additional_mem_pool_size); +ERROR HY000: Variable 'innodb_additional_mem_pool_size' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.innodb_additional_mem_pool_size); +ERROR HY000: Variable 'innodb_additional_mem_pool_size' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.innodb_additional_mem_pool_size); +COUNT(@@GLOBAL.innodb_additional_mem_pool_size) +1 +1 Expected +SELECT innodb_additional_mem_pool_size = @@SESSION.innodb_additional_mem_pool_size; +ERROR 42S22: Unknown column 'innodb_additional_mem_pool_size' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/innodb_autoextend_increment_basic.result b/mysql-test/r/innodb_autoextend_increment_basic.result new file mode 100644 index 00000000000..dafc71fd25d --- /dev/null +++ b/mysql-test/r/innodb_autoextend_increment_basic.result @@ -0,0 +1,94 @@ +SET @global_start_value = @@global.innodb_autoextend_increment ; +SELECT @global_start_value; +@global_start_value +8 +'#--------------------FN_DYNVARS_046_01------------------------#' +SET @@global.innodb_autoextend_increment = 0; +Warnings: +Warning 1292 Truncated incorrect autoextend_increment value: '0' +SET @@global.innodb_autoextend_increment = DEFAULT; +SELECT @@global.innodb_autoextend_increment ; +@@global.innodb_autoextend_increment +8 +'#---------------------FN_DYNVARS_046_02-------------------------#' +SET innodb_autoextend_increment = 1; +ERROR HY000: Variable 'innodb_autoextend_increment' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@innodb_autoextend_increment ; +@@innodb_autoextend_increment +8 +SELECT local.innodb_autoextend_increment ; +ERROR 42S02: Unknown table 'local' in field list +SET global innodb_autoextend_increment = 0; +Warnings: +Warning 1292 Truncated incorrect autoextend_increment value: '0' +SELECT @@global.innodb_autoextend_increment ; +@@global.innodb_autoextend_increment +1 +'#--------------------FN_DYNVARS_046_03------------------------#' +SET @@global.innodb_autoextend_increment = 1; +SELECT @@global.innodb_autoextend_increment ; +@@global.innodb_autoextend_increment +1 +SET @@global.innodb_autoextend_increment = 1000; +SELECT @@global.innodb_autoextend_increment ; +@@global.innodb_autoextend_increment +1000 +'#--------------------FN_DYNVARS_046_04-------------------------#' +SET @@global.innodb_autoextend_increment = -1; +Warnings: +Warning 1292 Truncated incorrect autoextend_increment value: '18446744073709551615' +SELECT @@global.innodb_autoextend_increment; +@@global.innodb_autoextend_increment +1000 +SET @@global.innodb_autoextend_increment = "T"; +ERROR 42000: Incorrect argument type to variable 'innodb_autoextend_increment' +SELECT @@global.innodb_autoextend_increment; +@@global.innodb_autoextend_increment +1000 +SET @@global.innodb_autoextend_increment = "Y"; +ERROR 42000: Incorrect argument type to variable 'innodb_autoextend_increment' +SELECT @@global.innodb_autoextend_increment; +@@global.innodb_autoextend_increment +1000 +SET @@global.innodb_autoextend_increment = 1001; +Warnings: +Warning 1292 Truncated incorrect autoextend_increment value: '1001' +SELECT @@global.innodb_autoextend_increment; +@@global.innodb_autoextend_increment +1000 +'#----------------------FN_DYNVARS_046_05------------------------#' +SELECT @@global.innodb_autoextend_increment = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_autoextend_increment '; +@@global.innodb_autoextend_increment = VARIABLE_VALUE +1 +SELECT @@global.innodb_autoextend_increment ; +@@global.innodb_autoextend_increment +1000 +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_autoextend_increment '; +VARIABLE_VALUE +1000 +'#---------------------FN_DYNVARS_046_06-------------------------#' +SET @@global.innodb_autoextend_increment = OFF; +ERROR 42000: Incorrect argument type to variable 'innodb_autoextend_increment' +SELECT @@global.innodb_autoextend_increment ; +@@global.innodb_autoextend_increment +1000 +SET @@global.innodb_autoextend_increment = ON; +ERROR 42000: Incorrect argument type to variable 'innodb_autoextend_increment' +SELECT @@global.innodb_autoextend_increment ; +@@global.innodb_autoextend_increment +1000 +'#---------------------FN_DYNVARS_046_07----------------------#' +SET @@global.innodb_autoextend_increment = TRUE; +SELECT @@global.innodb_autoextend_increment ; +@@global.innodb_autoextend_increment +1 +SET @@global.innodb_autoextend_increment = FALSE; +Warnings: +Warning 1292 Truncated incorrect autoextend_increment value: '0' +SELECT @@global.innodb_autoextend_increment ; +@@global.innodb_autoextend_increment +1 diff --git a/mysql-test/r/innodb_autoinc_lock_mode_basic.result b/mysql-test/r/innodb_autoinc_lock_mode_basic.result new file mode 100644 index 00000000000..9188cf07417 --- /dev/null +++ b/mysql-test/r/innodb_autoinc_lock_mode_basic.result @@ -0,0 +1,35 @@ +SET @global_start_value = @@global.innodb_autoinc_lock_mode; +SELECT @global_start_value; +@global_start_value +1 +'#--------------------FN_DYNVARS_046_01------------------------#' +SET @@global.innodb_autoinc_lock_mode = 0; +ERROR HY000: Variable 'innodb_autoinc_lock_mode' is a read only variable +SET @@global.innodb_autoinc_lock_mode = DEFAULT; +ERROR HY000: Variable 'innodb_autoinc_lock_mode' is a read only variable +SELECT @@global.innodb_autoinc_lock_mode; +@@global.innodb_autoinc_lock_mode +1 +'#---------------------FN_DYNVARS_046_02-------------------------#' +SELECT @@innodb_autoinc_lock_mode; +@@innodb_autoinc_lock_mode +1 +SELECT local.innodb_autoinc_lock_mode; +ERROR 42S02: Unknown table 'local' in field list +SELECT @@global.innodb_autoinc_lock_mode; +@@global.innodb_autoinc_lock_mode +1 +'#----------------------FN_DYNVARS_046_03------------------------#' +SELECT @@global.innodb_autoinc_lock_mode = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_autoinc_lock_mode'; +@@global.innodb_autoinc_lock_mode = VARIABLE_VALUE +1 +SELECT @@global.innodb_autoinc_lock_mode; +@@global.innodb_autoinc_lock_mode +1 +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_autoinc_lock_mode'; +VARIABLE_VALUE +1 diff --git a/mysql-test/r/innodb_autoinc_lock_mode_func.result b/mysql-test/r/innodb_autoinc_lock_mode_func.result new file mode 100644 index 00000000000..4c594558a6f --- /dev/null +++ b/mysql-test/r/innodb_autoinc_lock_mode_func.result @@ -0,0 +1,22 @@ +'#--------------------FN_DYNVARS_039_01-------------------------#' +SET global innodb_autoinc_lock_mode = 1; +ERROR HY000: Variable 'innodb_autoinc_lock_mode' is a read only variable +'--innodb_autoinc_lock_mode is 1 (consecutive)--' +SELECT @@global.innodb_autoinc_lock_mode; +@@global.innodb_autoinc_lock_mode +1 +DROP TABLE IF EXISTS t1; +CREATE TABLE t1( +a INT AUTO_INCREMENT PRIMARY KEY, +b CHAR +)ENGINE=INNODB, AUTO_INCREMENT=100; +INSERT INTO t1 (a,b) VALUES (5,'a'), (NULL,'b'), (1,'c'), (NULL,'d'); +INSERT INTO t1 (a,b) VALUES (NULL,'e'); +'the new auto incremented value should be 104' +SELECT * from t1; +a b +1 c +5 a +100 b +101 d +104 e diff --git a/mysql-test/r/innodb_buffer_pool_size_basic.result b/mysql-test/r/innodb_buffer_pool_size_basic.result new file mode 100644 index 00000000000..27e6cae41ef --- /dev/null +++ b/mysql-test/r/innodb_buffer_pool_size_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_022_01----------------------#' +SELECT COUNT(@@GLOBAL.innodb_buffer_pool_size); +COUNT(@@GLOBAL.innodb_buffer_pool_size) +1 +1 Expected +'#---------------------BS_STVARS_022_02----------------------#' +SET @@GLOBAL.innodb_buffer_pool_size=1; +ERROR HY000: Variable 'innodb_buffer_pool_size' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.innodb_buffer_pool_size); +COUNT(@@GLOBAL.innodb_buffer_pool_size) +1 +1 Expected +'#---------------------BS_STVARS_022_03----------------------#' +SELECT @@GLOBAL.innodb_buffer_pool_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_buffer_pool_size'; +@@GLOBAL.innodb_buffer_pool_size = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.innodb_buffer_pool_size); +COUNT(@@GLOBAL.innodb_buffer_pool_size) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_buffer_pool_size'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_022_04----------------------#' +SELECT @@innodb_buffer_pool_size = @@GLOBAL.innodb_buffer_pool_size; +@@innodb_buffer_pool_size = @@GLOBAL.innodb_buffer_pool_size +1 +1 Expected +'#---------------------BS_STVARS_022_05----------------------#' +SELECT COUNT(@@innodb_buffer_pool_size); +COUNT(@@innodb_buffer_pool_size) +1 +1 Expected +SELECT COUNT(@@local.innodb_buffer_pool_size); +ERROR HY000: Variable 'innodb_buffer_pool_size' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.innodb_buffer_pool_size); +ERROR HY000: Variable 'innodb_buffer_pool_size' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.innodb_buffer_pool_size); +COUNT(@@GLOBAL.innodb_buffer_pool_size) +1 +1 Expected +SELECT innodb_buffer_pool_size = @@SESSION.innodb_buffer_pool_size; +ERROR 42S22: Unknown column 'innodb_buffer_pool_size' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/innodb_checksums_basic.result b/mysql-test/r/innodb_checksums_basic.result new file mode 100644 index 00000000000..ac4bed60eb5 --- /dev/null +++ b/mysql-test/r/innodb_checksums_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_023_01----------------------#' +SELECT COUNT(@@GLOBAL.innodb_checksums); +COUNT(@@GLOBAL.innodb_checksums) +1 +1 Expected +'#---------------------BS_STVARS_023_02----------------------#' +SET @@GLOBAL.innodb_checksums=1; +ERROR HY000: Variable 'innodb_checksums' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.innodb_checksums); +COUNT(@@GLOBAL.innodb_checksums) +1 +1 Expected +'#---------------------BS_STVARS_023_03----------------------#' +SELECT @@GLOBAL.innodb_checksums = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_checksums'; +@@GLOBAL.innodb_checksums = VARIABLE_VALUE +0 +1 Expected +SELECT COUNT(@@GLOBAL.innodb_checksums); +COUNT(@@GLOBAL.innodb_checksums) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_checksums'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_023_04----------------------#' +SELECT @@innodb_checksums = @@GLOBAL.innodb_checksums; +@@innodb_checksums = @@GLOBAL.innodb_checksums +1 +1 Expected +'#---------------------BS_STVARS_023_05----------------------#' +SELECT COUNT(@@innodb_checksums); +COUNT(@@innodb_checksums) +1 +1 Expected +SELECT COUNT(@@local.innodb_checksums); +ERROR HY000: Variable 'innodb_checksums' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.innodb_checksums); +ERROR HY000: Variable 'innodb_checksums' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.innodb_checksums); +COUNT(@@GLOBAL.innodb_checksums) +1 +1 Expected +SELECT innodb_checksums = @@SESSION.innodb_checksums; +ERROR 42S22: Unknown column 'innodb_checksums' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/innodb_commit_concurrency_basic.result b/mysql-test/r/innodb_commit_concurrency_basic.result new file mode 100644 index 00000000000..301016d4362 --- /dev/null +++ b/mysql-test/r/innodb_commit_concurrency_basic.result @@ -0,0 +1,96 @@ +SET @global_start_value = @@global.innodb_commit_concurrency; +SELECT @global_start_value; +@global_start_value +0 +'#--------------------FN_DYNVARS_046_01------------------------#' +SET @@global.innodb_commit_concurrency = 0; +SET @@global.innodb_commit_concurrency = DEFAULT; +SELECT @@global.innodb_commit_concurrency; +@@global.innodb_commit_concurrency +0 +'#---------------------FN_DYNVARS_046_02-------------------------#' +SET innodb_commit_concurrency = 1; +ERROR HY000: Variable 'innodb_commit_concurrency' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@innodb_commit_concurrency; +@@innodb_commit_concurrency +0 +SELECT local.innodb_commit_concurrency; +ERROR 42S02: Unknown table 'local' in field list +SET global innodb_commit_concurrency = 0; +SELECT @@global.innodb_commit_concurrency; +@@global.innodb_commit_concurrency +0 +'#--------------------FN_DYNVARS_046_03------------------------#' +SET @@global.innodb_commit_concurrency = 0; +SELECT @@global.innodb_commit_concurrency; +@@global.innodb_commit_concurrency +0 +SET @@global.innodb_commit_concurrency = 1; +SELECT @@global.innodb_commit_concurrency; +@@global.innodb_commit_concurrency +1 +SET @@global.innodb_commit_concurrency = 1000; +SELECT @@global.innodb_commit_concurrency; +@@global.innodb_commit_concurrency +1000 +'#--------------------FN_DYNVARS_046_04-------------------------#' +SET @@global.innodb_commit_concurrency = -1; +Warnings: +Warning 1292 Truncated incorrect commit_concurrency value: '18446744073709551615' +SELECT @@global.innodb_commit_concurrency; +@@global.innodb_commit_concurrency +1000 +SET @@global.innodb_commit_concurrency = "T"; +ERROR 42000: Incorrect argument type to variable 'innodb_commit_concurrency' +SELECT @@global.innodb_commit_concurrency; +@@global.innodb_commit_concurrency +1000 +SET @@global.innodb_commit_concurrency = "Y"; +ERROR 42000: Incorrect argument type to variable 'innodb_commit_concurrency' +SELECT @@global.innodb_commit_concurrency; +@@global.innodb_commit_concurrency +1000 +SET @@global.innodb_commit_concurrency = 1001; +Warnings: +Warning 1292 Truncated incorrect commit_concurrency value: '1001' +SELECT @@global.innodb_commit_concurrency; +@@global.innodb_commit_concurrency +1000 +'#----------------------FN_DYNVARS_046_05------------------------#' +SELECT @@global.innodb_commit_concurrency = +VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_commit_concurrency'; +@@global.innodb_commit_concurrency = +VARIABLE_VALUE +1 +SELECT @@global.innodb_commit_concurrency; +@@global.innodb_commit_concurrency +1000 +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_commit_concurrency'; +VARIABLE_VALUE +1000 +'#---------------------FN_DYNVARS_046_06-------------------------#' +SET @@global.innodb_commit_concurrency = OFF; +ERROR 42000: Incorrect argument type to variable 'innodb_commit_concurrency' +SELECT @@global.innodb_commit_concurrency; +@@global.innodb_commit_concurrency +1000 +SET @@global.innodb_commit_concurrency = ON; +ERROR 42000: Incorrect argument type to variable 'innodb_commit_concurrency' +SELECT @@global.innodb_commit_concurrency; +@@global.innodb_commit_concurrency +1000 +'#---------------------FN_DYNVARS_046_07----------------------#' +SET @@global.innodb_commit_concurrency = TRUE; +SELECT @@global.innodb_commit_concurrency; +@@global.innodb_commit_concurrency +1 +SET @@global.innodb_commit_concurrency = FALSE; +SELECT @@global.innodb_commit_concurrency; +@@global.innodb_commit_concurrency +0 +SET @@global.innodb_commit_concurrency = @global_start_value; +SELECT @@global.innodb_commit_concurrency; +@@global.innodb_commit_concurrency +0 diff --git a/mysql-test/r/innodb_concurrency_tickets_basic_32.result b/mysql-test/r/innodb_concurrency_tickets_basic_32.result new file mode 100644 index 00000000000..1d1317d0d5e --- /dev/null +++ b/mysql-test/r/innodb_concurrency_tickets_basic_32.result @@ -0,0 +1,100 @@ +SET @global_start_value = @@global.innodb_concurrency_tickets; +SELECT @global_start_value; +@global_start_value +500 +'#--------------------FN_DYNVARS_046_01------------------------#' +SET @@global.innodb_concurrency_tickets = 0; +Warnings: +Warning 1292 Truncated incorrect concurrency_tickets value: '0' +SET @@global.innodb_concurrency_tickets = DEFAULT; +SELECT @@global.innodb_concurrency_tickets; +@@global.innodb_concurrency_tickets +500 +'#---------------------FN_DYNVARS_046_02-------------------------#' +SET innodb_concurrency_tickets = 1; +ERROR HY000: Variable 'innodb_concurrency_tickets' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@innodb_concurrency_tickets; +@@innodb_concurrency_tickets +500 +SELECT local.innodb_concurrency_tickets; +ERROR 42S02: Unknown table 'local' in field list +SET global innodb_concurrency_tickets = 0; +Warnings: +Warning 1292 Truncated incorrect concurrency_tickets value: '0' +SELECT @@global.innodb_concurrency_tickets; +@@global.innodb_concurrency_tickets +1 +'#--------------------FN_DYNVARS_046_03------------------------#' +SET @@global.innodb_concurrency_tickets = 1; +SELECT @@global.innodb_concurrency_tickets; +@@global.innodb_concurrency_tickets +1 +SET @@global.innodb_concurrency_tickets = 1000; +SELECT @@global.innodb_concurrency_tickets; +@@global.innodb_concurrency_tickets +1000 +SET @@global.innodb_concurrency_tickets = 4294967295; +SELECT @@global.innodb_concurrency_tickets; +@@global.innodb_concurrency_tickets +4294967295 +'#--------------------FN_DYNVARS_046_04-------------------------#' +SET @@global.innodb_concurrency_tickets = -1; +Warnings: +Warning 1292 Truncated incorrect concurrency_tickets value: '18446744073709551615' +SELECT @@global.innodb_concurrency_tickets; +@@global.innodb_concurrency_tickets +4294967295 +SET @@global.innodb_concurrency_tickets = "T"; +ERROR 42000: Incorrect argument type to variable 'innodb_concurrency_tickets' +SELECT @@global.innodb_concurrency_tickets; +@@global.innodb_concurrency_tickets +4294967295 +SET @@global.innodb_concurrency_tickets = "Y"; +ERROR 42000: Incorrect argument type to variable 'innodb_concurrency_tickets' +SELECT @@global.innodb_concurrency_tickets; +@@global.innodb_concurrency_tickets +4294967295 +SET @@global.innodb_concurrency_tickets = 1001; +SELECT @@global.innodb_concurrency_tickets; +@@global.innodb_concurrency_tickets +1001 +'#----------------------FN_DYNVARS_046_05------------------------#' +SELECT @@global.innodb_concurrency_tickets = +VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_concurrency_tickets'; +@@global.innodb_concurrency_tickets = +VARIABLE_VALUE +1 +SELECT @@global.innodb_concurrency_tickets; +@@global.innodb_concurrency_tickets +1001 +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_concurrency_tickets'; +VARIABLE_VALUE +1001 +'#---------------------FN_DYNVARS_046_06-------------------------#' +SET @@global.innodb_concurrency_tickets = OFF; +ERROR 42000: Incorrect argument type to variable 'innodb_concurrency_tickets' +SELECT @@global.innodb_concurrency_tickets; +@@global.innodb_concurrency_tickets +1001 +SET @@global.innodb_concurrency_tickets = ON; +ERROR 42000: Incorrect argument type to variable 'innodb_concurrency_tickets' +SELECT @@global.innodb_concurrency_tickets; +@@global.innodb_concurrency_tickets +1001 +'#---------------------FN_DYNVARS_046_07----------------------#' +SET @@global.innodb_concurrency_tickets = TRUE; +SELECT @@global.innodb_concurrency_tickets; +@@global.innodb_concurrency_tickets +1 +SET @@global.innodb_concurrency_tickets = FALSE; +Warnings: +Warning 1292 Truncated incorrect concurrency_tickets value: '0' +SELECT @@global.innodb_concurrency_tickets; +@@global.innodb_concurrency_tickets +1 +SET @@global.innodb_concurrency_tickets = @global_start_value; +SELECT @@global.innodb_concurrency_tickets; +@@global.innodb_concurrency_tickets +500 diff --git a/mysql-test/r/innodb_concurrency_tickets_basic_64.result b/mysql-test/r/innodb_concurrency_tickets_basic_64.result new file mode 100644 index 00000000000..40d307d8733 --- /dev/null +++ b/mysql-test/r/innodb_concurrency_tickets_basic_64.result @@ -0,0 +1,98 @@ +SET @global_start_value = @@global.innodb_concurrency_tickets; +SELECT @global_start_value; +@global_start_value +500 +'#--------------------FN_DYNVARS_046_01------------------------#' +SET @@global.innodb_concurrency_tickets = 0; +Warnings: +Warning 1292 Truncated incorrect concurrency_tickets value: '0' +SET @@global.innodb_concurrency_tickets = DEFAULT; +SELECT @@global.innodb_concurrency_tickets; +@@global.innodb_concurrency_tickets +500 +'#---------------------FN_DYNVARS_046_02-------------------------#' +SET innodb_concurrency_tickets = 1; +ERROR HY000: Variable 'innodb_concurrency_tickets' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@innodb_concurrency_tickets; +@@innodb_concurrency_tickets +500 +SELECT local.innodb_concurrency_tickets; +ERROR 42S02: Unknown table 'local' in field list +SET global innodb_concurrency_tickets = 0; +Warnings: +Warning 1292 Truncated incorrect concurrency_tickets value: '0' +SELECT @@global.innodb_concurrency_tickets; +@@global.innodb_concurrency_tickets +1 +'#--------------------FN_DYNVARS_046_03------------------------#' +SET @@global.innodb_concurrency_tickets = 1; +SELECT @@global.innodb_concurrency_tickets; +@@global.innodb_concurrency_tickets +1 +SET @@global.innodb_concurrency_tickets = 1000; +SELECT @@global.innodb_concurrency_tickets; +@@global.innodb_concurrency_tickets +1000 +SET @@global.innodb_concurrency_tickets = 4294967295; +SELECT @@global.innodb_concurrency_tickets; +@@global.innodb_concurrency_tickets +4294967295 +'#--------------------FN_DYNVARS_046_04-------------------------#' +SET @@global.innodb_concurrency_tickets = -1; +SELECT @@global.innodb_concurrency_tickets; +@@global.innodb_concurrency_tickets +18446744073709551615 +SET @@global.innodb_concurrency_tickets = "T"; +ERROR 42000: Incorrect argument type to variable 'innodb_concurrency_tickets' +SELECT @@global.innodb_concurrency_tickets; +@@global.innodb_concurrency_tickets +18446744073709551615 +SET @@global.innodb_concurrency_tickets = "Y"; +ERROR 42000: Incorrect argument type to variable 'innodb_concurrency_tickets' +SELECT @@global.innodb_concurrency_tickets; +@@global.innodb_concurrency_tickets +18446744073709551615 +SET @@global.innodb_concurrency_tickets = 1001; +SELECT @@global.innodb_concurrency_tickets; +@@global.innodb_concurrency_tickets +1001 +'#----------------------FN_DYNVARS_046_05------------------------#' +SELECT @@global.innodb_concurrency_tickets = +VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_concurrency_tickets'; +@@global.innodb_concurrency_tickets = +VARIABLE_VALUE +1 +SELECT @@global.innodb_concurrency_tickets; +@@global.innodb_concurrency_tickets +1001 +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_concurrency_tickets'; +VARIABLE_VALUE +1001 +'#---------------------FN_DYNVARS_046_06-------------------------#' +SET @@global.innodb_concurrency_tickets = OFF; +ERROR 42000: Incorrect argument type to variable 'innodb_concurrency_tickets' +SELECT @@global.innodb_concurrency_tickets; +@@global.innodb_concurrency_tickets +1001 +SET @@global.innodb_concurrency_tickets = ON; +ERROR 42000: Incorrect argument type to variable 'innodb_concurrency_tickets' +SELECT @@global.innodb_concurrency_tickets; +@@global.innodb_concurrency_tickets +1001 +'#---------------------FN_DYNVARS_046_07----------------------#' +SET @@global.innodb_concurrency_tickets = TRUE; +SELECT @@global.innodb_concurrency_tickets; +@@global.innodb_concurrency_tickets +1 +SET @@global.innodb_concurrency_tickets = FALSE; +Warnings: +Warning 1292 Truncated incorrect concurrency_tickets value: '0' +SELECT @@global.innodb_concurrency_tickets; +@@global.innodb_concurrency_tickets +1 +SET @@global.innodb_concurrency_tickets = @global_start_value; +SELECT @@global.innodb_concurrency_tickets; +@@global.innodb_concurrency_tickets +500 diff --git a/mysql-test/r/innodb_data_file_path_basic.result b/mysql-test/r/innodb_data_file_path_basic.result new file mode 100644 index 00000000000..8904c0dcac4 --- /dev/null +++ b/mysql-test/r/innodb_data_file_path_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_024_01----------------------#' +SELECT COUNT(@@GLOBAL.innodb_data_file_path); +COUNT(@@GLOBAL.innodb_data_file_path) +1 +1 Expected +'#---------------------BS_STVARS_024_02----------------------#' +SET @@GLOBAL.innodb_data_file_path=1; +ERROR HY000: Variable 'innodb_data_file_path' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.innodb_data_file_path); +COUNT(@@GLOBAL.innodb_data_file_path) +1 +1 Expected +'#---------------------BS_STVARS_024_03----------------------#' +SELECT @@GLOBAL.innodb_data_file_path = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_data_file_path'; +@@GLOBAL.innodb_data_file_path = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.innodb_data_file_path); +COUNT(@@GLOBAL.innodb_data_file_path) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_data_file_path'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_024_04----------------------#' +SELECT @@innodb_data_file_path = @@GLOBAL.innodb_data_file_path; +@@innodb_data_file_path = @@GLOBAL.innodb_data_file_path +1 +1 Expected +'#---------------------BS_STVARS_024_05----------------------#' +SELECT COUNT(@@innodb_data_file_path); +COUNT(@@innodb_data_file_path) +1 +1 Expected +SELECT COUNT(@@local.innodb_data_file_path); +ERROR HY000: Variable 'innodb_data_file_path' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.innodb_data_file_path); +ERROR HY000: Variable 'innodb_data_file_path' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.innodb_data_file_path); +COUNT(@@GLOBAL.innodb_data_file_path) +1 +1 Expected +SELECT innodb_data_file_path = @@SESSION.innodb_data_file_path; +ERROR 42S22: Unknown column 'innodb_data_file_path' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/innodb_data_home_dir_basic.result b/mysql-test/r/innodb_data_home_dir_basic.result new file mode 100644 index 00000000000..fb9a0b0bca5 --- /dev/null +++ b/mysql-test/r/innodb_data_home_dir_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_025_01----------------------#' +SELECT COUNT(@@GLOBAL.innodb_data_home_dir); +COUNT(@@GLOBAL.innodb_data_home_dir) +0 +1 Expected +'#---------------------BS_STVARS_025_02----------------------#' +SET @@GLOBAL.innodb_data_home_dir=1; +ERROR HY000: Variable 'innodb_data_home_dir' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.innodb_data_home_dir); +COUNT(@@GLOBAL.innodb_data_home_dir) +0 +1 Expected +'#---------------------BS_STVARS_025_03----------------------#' +SELECT @@GLOBAL.innodb_data_home_dir = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_data_home_dir'; +@@GLOBAL.innodb_data_home_dir = VARIABLE_VALUE +NULL +1 Expected +SELECT COUNT(@@GLOBAL.innodb_data_home_dir); +COUNT(@@GLOBAL.innodb_data_home_dir) +0 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_data_home_dir'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_025_04----------------------#' +SELECT @@innodb_data_home_dir = @@GLOBAL.innodb_data_home_dir; +@@innodb_data_home_dir = @@GLOBAL.innodb_data_home_dir +NULL +1 Expected +'#---------------------BS_STVARS_025_05----------------------#' +SELECT COUNT(@@innodb_data_home_dir); +COUNT(@@innodb_data_home_dir) +0 +1 Expected +SELECT COUNT(@@local.innodb_data_home_dir); +ERROR HY000: Variable 'innodb_data_home_dir' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.innodb_data_home_dir); +ERROR HY000: Variable 'innodb_data_home_dir' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.innodb_data_home_dir); +COUNT(@@GLOBAL.innodb_data_home_dir) +0 +1 Expected +SELECT innodb_data_home_dir = @@SESSION.innodb_data_home_dir; +ERROR 42S22: Unknown column 'innodb_data_home_dir' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/innodb_doublewrite_basic.result b/mysql-test/r/innodb_doublewrite_basic.result new file mode 100644 index 00000000000..6062399e8b8 --- /dev/null +++ b/mysql-test/r/innodb_doublewrite_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_026_01----------------------#' +SELECT COUNT(@@GLOBAL.innodb_doublewrite); +COUNT(@@GLOBAL.innodb_doublewrite) +1 +1 Expected +'#---------------------BS_STVARS_026_02----------------------#' +SET @@GLOBAL.innodb_doublewrite=1; +ERROR HY000: Variable 'innodb_doublewrite' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.innodb_doublewrite); +COUNT(@@GLOBAL.innodb_doublewrite) +1 +1 Expected +'#---------------------BS_STVARS_026_03----------------------#' +SELECT @@GLOBAL.innodb_doublewrite = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_doublewrite'; +@@GLOBAL.innodb_doublewrite = VARIABLE_VALUE +0 +1 Expected +SELECT COUNT(@@GLOBAL.innodb_doublewrite); +COUNT(@@GLOBAL.innodb_doublewrite) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_doublewrite'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_026_04----------------------#' +SELECT @@innodb_doublewrite = @@GLOBAL.innodb_doublewrite; +@@innodb_doublewrite = @@GLOBAL.innodb_doublewrite +1 +1 Expected +'#---------------------BS_STVARS_026_05----------------------#' +SELECT COUNT(@@innodb_doublewrite); +COUNT(@@innodb_doublewrite) +1 +1 Expected +SELECT COUNT(@@local.innodb_doublewrite); +ERROR HY000: Variable 'innodb_doublewrite' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.innodb_doublewrite); +ERROR HY000: Variable 'innodb_doublewrite' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.innodb_doublewrite); +COUNT(@@GLOBAL.innodb_doublewrite) +1 +1 Expected +SELECT innodb_doublewrite = @@SESSION.innodb_doublewrite; +ERROR 42S22: Unknown column 'innodb_doublewrite' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/innodb_fast_shutdown_basic.result b/mysql-test/r/innodb_fast_shutdown_basic.result new file mode 100644 index 00000000000..adbfb6ec867 --- /dev/null +++ b/mysql-test/r/innodb_fast_shutdown_basic.result @@ -0,0 +1,127 @@ +SET @global_start_value = @@global.innodb_fast_shutdown; +SELECT @@global.innodb_fast_shutdown; +@@global.innodb_fast_shutdown +1 +'#--------------------FN_DYNVARS_042_01------------------------#' +SET @@global.innodb_fast_shutdown = 0; +SET @@global.innodb_fast_shutdown = DEFAULT; +SELECT @@global.innodb_fast_shutdown; +@@global.innodb_fast_shutdown +1 +'#---------------------FN_DYNVARS_042_02-------------------------#' +SET innodb_fast_shutdown = 1; +ERROR HY000: Variable 'innodb_fast_shutdown' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@innodb_fast_shutdown; +@@innodb_fast_shutdown +1 +SELECT global.innodb_fast_shutdown; +ERROR 42S02: Unknown table 'global' in field list +SET global innodb_fast_shutdown = 1; +SELECT @@global.innodb_fast_shutdown; +@@global.innodb_fast_shutdown +1 +'#--------------------FN_DYNVARS_042_03------------------------#' +SET @@global.innodb_fast_shutdown = 0; +SELECT @@global.innodb_fast_shutdown; +@@global.innodb_fast_shutdown +0 +SET @@global.innodb_fast_shutdown = 1; +SELECT @@global.innodb_fast_shutdown; +@@global.innodb_fast_shutdown +1 +SET @@global.innodb_fast_shutdown = 2; +SELECT @@global.innodb_fast_shutdown; +@@global.innodb_fast_shutdown +2 +'#--------------------FN_DYNVARS_042_04-------------------------#' +SET @@global.innodb_fast_shutdown = -1; +Warnings: +Warning 1292 Truncated incorrect fast_shutdown value: '18446744073709551615' +SELECT @@global.innodb_fast_shutdown; +@@global.innodb_fast_shutdown +2 +SET @@global.innodb_fast_shutdown = TRU; +ERROR 42000: Incorrect argument type to variable 'innodb_fast_shutdown' +SELECT @@global.innodb_fast_shutdown; +@@global.innodb_fast_shutdown +2 +SET @@global.innodb_fast_shutdown = TRUE_F; +ERROR 42000: Incorrect argument type to variable 'innodb_fast_shutdown' +SELECT @@global.innodb_fast_shutdown; +@@global.innodb_fast_shutdown +2 +SET @@global.innodb_fast_shutdown = FALS; +ERROR 42000: Incorrect argument type to variable 'innodb_fast_shutdown' +SELECT @@global.innodb_fast_shutdown; +@@global.innodb_fast_shutdown +2 +SET @@global.innodb_fast_shutdown = OON; +ERROR 42000: Incorrect argument type to variable 'innodb_fast_shutdown' +SELECT @@global.innodb_fast_shutdown; +@@global.innodb_fast_shutdown +2 +SET @@global.innodb_fast_shutdown = ONN; +ERROR 42000: Incorrect argument type to variable 'innodb_fast_shutdown' +SELECT @@global.innodb_fast_shutdown; +@@global.innodb_fast_shutdown +2 +SET @@global.innodb_fast_shutdown = OOFF; +ERROR 42000: Incorrect argument type to variable 'innodb_fast_shutdown' +SELECT @@global.innodb_fast_shutdown; +@@global.innodb_fast_shutdown +2 +SET @@global.innodb_fast_shutdown = 0FF; +ERROR 42000: Incorrect argument type to variable 'innodb_fast_shutdown' +SELECT @@global.innodb_fast_shutdown; +@@global.innodb_fast_shutdown +2 +SET @@global.innodb_fast_shutdown = '1'; +ERROR 42000: Incorrect argument type to variable 'innodb_fast_shutdown' +SELECT @@global.innodb_fast_shutdown; +@@global.innodb_fast_shutdown +2 +SET @@global.innodb_fast_shutdown = "0"; +ERROR 42000: Incorrect argument type to variable 'innodb_fast_shutdown' +SELECT @@global.innodb_fast_shutdown; +@@global.innodb_fast_shutdown +2 +'#-------------------FN_DYNVARS_042_05----------------------------#' +SET @@session.innodb_fast_shutdown = 0; +ERROR HY000: Variable 'innodb_fast_shutdown' is a GLOBAL variable and should be set with SET GLOBAL +SET @@innodb_fast_shutdown = 0; +ERROR HY000: Variable 'innodb_fast_shutdown' is a GLOBAL variable and should be set with SET GLOBAL +SET @@local.innodb_fast_shutdown = 0; +ERROR HY000: Variable 'innodb_fast_shutdown' is a GLOBAL variable and should be set with SET GLOBAL +'#----------------------FN_DYNVARS_042_06------------------------#' +SELECT count(VARIABLE_VALUE) AS res_is_0 +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='innodb_fast_shutdown'; +res_is_0 +1 +'#----------------------FN_DYNVARS_042_07------------------------#' +SELECT @@global.innodb_fast_shutdown = +VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_fast_shutdown'; +@@global.innodb_fast_shutdown = +VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_042_08-------------------------#' +SET @@global.innodb_fast_shutdown = OFF; +ERROR 42000: Incorrect argument type to variable 'innodb_fast_shutdown' +SELECT @@global.innodb_fast_shutdown; +@@global.innodb_fast_shutdown +2 +SET @@global.innodb_fast_shutdown = ON; +ERROR 42000: Incorrect argument type to variable 'innodb_fast_shutdown' +SELECT @@global.innodb_fast_shutdown; +@@global.innodb_fast_shutdown +2 +'#---------------------FN_DYNVARS_042_09----------------------#' +SET @@global.innodb_fast_shutdown = TRUE; +SELECT @@global.innodb_fast_shutdown; +@@global.innodb_fast_shutdown +1 +SET @@global.innodb_fast_shutdown = FALSE; +SELECT @@global.innodb_fast_shutdown; +@@global.innodb_fast_shutdown +0 diff --git a/mysql-test/r/innodb_file_io_threads_basic.result b/mysql-test/r/innodb_file_io_threads_basic.result new file mode 100644 index 00000000000..4c1c3ae8d54 --- /dev/null +++ b/mysql-test/r/innodb_file_io_threads_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_027_01----------------------#' +SELECT COUNT(@@GLOBAL.innodb_file_io_threads); +COUNT(@@GLOBAL.innodb_file_io_threads) +1 +1 Expected +'#---------------------BS_STVARS_027_02----------------------#' +SET @@GLOBAL.innodb_file_io_threads=1; +ERROR HY000: Variable 'innodb_file_io_threads' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.innodb_file_io_threads); +COUNT(@@GLOBAL.innodb_file_io_threads) +1 +1 Expected +'#---------------------BS_STVARS_027_03----------------------#' +SELECT @@GLOBAL.innodb_file_io_threads = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_file_io_threads'; +@@GLOBAL.innodb_file_io_threads = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.innodb_file_io_threads); +COUNT(@@GLOBAL.innodb_file_io_threads) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_file_io_threads'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_027_04----------------------#' +SELECT @@innodb_file_io_threads = @@GLOBAL.innodb_file_io_threads; +@@innodb_file_io_threads = @@GLOBAL.innodb_file_io_threads +1 +1 Expected +'#---------------------BS_STVARS_027_05----------------------#' +SELECT COUNT(@@innodb_file_io_threads); +COUNT(@@innodb_file_io_threads) +1 +1 Expected +SELECT COUNT(@@local.innodb_file_io_threads); +ERROR HY000: Variable 'innodb_file_io_threads' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.innodb_file_io_threads); +ERROR HY000: Variable 'innodb_file_io_threads' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.innodb_file_io_threads); +COUNT(@@GLOBAL.innodb_file_io_threads) +1 +1 Expected +SELECT innodb_file_io_threads = @@SESSION.innodb_file_io_threads; +ERROR 42S22: Unknown column 'innodb_file_io_threads' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/innodb_file_per_table_basic.result b/mysql-test/r/innodb_file_per_table_basic.result new file mode 100644 index 00000000000..77595639400 --- /dev/null +++ b/mysql-test/r/innodb_file_per_table_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_028_01----------------------#' +SELECT COUNT(@@GLOBAL.innodb_file_per_table); +COUNT(@@GLOBAL.innodb_file_per_table) +1 +1 Expected +'#---------------------BS_STVARS_028_02----------------------#' +SET @@GLOBAL.innodb_file_per_table=1; +ERROR HY000: Variable 'innodb_file_per_table' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.innodb_file_per_table); +COUNT(@@GLOBAL.innodb_file_per_table) +1 +1 Expected +'#---------------------BS_STVARS_028_03----------------------#' +SELECT @@GLOBAL.innodb_file_per_table = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_file_per_table'; +@@GLOBAL.innodb_file_per_table = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.innodb_file_per_table); +COUNT(@@GLOBAL.innodb_file_per_table) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_file_per_table'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_028_04----------------------#' +SELECT @@innodb_file_per_table = @@GLOBAL.innodb_file_per_table; +@@innodb_file_per_table = @@GLOBAL.innodb_file_per_table +1 +1 Expected +'#---------------------BS_STVARS_028_05----------------------#' +SELECT COUNT(@@innodb_file_per_table); +COUNT(@@innodb_file_per_table) +1 +1 Expected +SELECT COUNT(@@local.innodb_file_per_table); +ERROR HY000: Variable 'innodb_file_per_table' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.innodb_file_per_table); +ERROR HY000: Variable 'innodb_file_per_table' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.innodb_file_per_table); +COUNT(@@GLOBAL.innodb_file_per_table) +1 +1 Expected +SELECT innodb_file_per_table = @@SESSION.innodb_file_per_table; +ERROR 42S22: Unknown column 'innodb_file_per_table' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/innodb_flush_log_at_trx_commit_basic.result b/mysql-test/r/innodb_flush_log_at_trx_commit_basic.result new file mode 100644 index 00000000000..da9f5ad3994 --- /dev/null +++ b/mysql-test/r/innodb_flush_log_at_trx_commit_basic.result @@ -0,0 +1,96 @@ +SET @global_start_value = @@global.innodb_flush_log_at_trx_commit; +SELECT @global_start_value; +@global_start_value +1 +'#--------------------FN_DYNVARS_046_01------------------------#' +SET @@global.innodb_flush_log_at_trx_commit = 0; +SET @@global.innodb_flush_log_at_trx_commit = DEFAULT; +SELECT @@global.innodb_flush_log_at_trx_commit; +@@global.innodb_flush_log_at_trx_commit +1 +'#---------------------FN_DYNVARS_046_02-------------------------#' +SET innodb_flush_log_at_trx_commit = 1; +ERROR HY000: Variable 'innodb_flush_log_at_trx_commit' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@innodb_flush_log_at_trx_commit; +@@innodb_flush_log_at_trx_commit +1 +SELECT local.innodb_flush_log_at_trx_commit; +ERROR 42S02: Unknown table 'local' in field list +SET global innodb_flush_log_at_trx_commit = 0; +SELECT @@global.innodb_flush_log_at_trx_commit; +@@global.innodb_flush_log_at_trx_commit +0 +'#--------------------FN_DYNVARS_046_03------------------------#' +SET @@global.innodb_flush_log_at_trx_commit = 0; +SELECT @@global.innodb_flush_log_at_trx_commit; +@@global.innodb_flush_log_at_trx_commit +0 +SET @@global.innodb_flush_log_at_trx_commit = 1; +SELECT @@global.innodb_flush_log_at_trx_commit; +@@global.innodb_flush_log_at_trx_commit +1 +SET @@global.innodb_flush_log_at_trx_commit = 2; +SELECT @@global.innodb_flush_log_at_trx_commit; +@@global.innodb_flush_log_at_trx_commit +2 +'#--------------------FN_DYNVARS_046_04-------------------------#' +SET @@global.innodb_flush_log_at_trx_commit = -1; +Warnings: +Warning 1292 Truncated incorrect flush_log_at_trx_commit value: '18446744073709551615' +SELECT @@global.innodb_flush_log_at_trx_commit; +@@global.innodb_flush_log_at_trx_commit +2 +SET @@global.innodb_flush_log_at_trx_commit = "T"; +ERROR 42000: Incorrect argument type to variable 'innodb_flush_log_at_trx_commit' +SELECT @@global.innodb_flush_log_at_trx_commit; +@@global.innodb_flush_log_at_trx_commit +2 +SET @@global.innodb_flush_log_at_trx_commit = "Y"; +ERROR 42000: Incorrect argument type to variable 'innodb_flush_log_at_trx_commit' +SELECT @@global.innodb_flush_log_at_trx_commit; +@@global.innodb_flush_log_at_trx_commit +2 +SET @@global.innodb_flush_log_at_trx_commit = 1001; +Warnings: +Warning 1292 Truncated incorrect flush_log_at_trx_commit value: '1001' +SELECT @@global.innodb_flush_log_at_trx_commit; +@@global.innodb_flush_log_at_trx_commit +2 +'#----------------------FN_DYNVARS_046_05------------------------#' +SELECT @@global.innodb_flush_log_at_trx_commit = +VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_flush_log_at_trx_commit'; +@@global.innodb_flush_log_at_trx_commit = +VARIABLE_VALUE +1 +SELECT @@global.innodb_flush_log_at_trx_commit; +@@global.innodb_flush_log_at_trx_commit +2 +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_flush_log_at_trx_commit'; +VARIABLE_VALUE +2 +'#---------------------FN_DYNVARS_046_06-------------------------#' +SET @@global.innodb_flush_log_at_trx_commit = OFF; +ERROR 42000: Incorrect argument type to variable 'innodb_flush_log_at_trx_commit' +SELECT @@global.innodb_flush_log_at_trx_commit; +@@global.innodb_flush_log_at_trx_commit +2 +SET @@global.innodb_flush_log_at_trx_commit = ON; +ERROR 42000: Incorrect argument type to variable 'innodb_flush_log_at_trx_commit' +SELECT @@global.innodb_flush_log_at_trx_commit; +@@global.innodb_flush_log_at_trx_commit +2 +'#---------------------FN_DYNVARS_046_07----------------------#' +SET @@global.innodb_flush_log_at_trx_commit = TRUE; +SELECT @@global.innodb_flush_log_at_trx_commit; +@@global.innodb_flush_log_at_trx_commit +1 +SET @@global.innodb_flush_log_at_trx_commit = FALSE; +SELECT @@global.innodb_flush_log_at_trx_commit; +@@global.innodb_flush_log_at_trx_commit +0 +SET @@global.innodb_flush_log_at_trx_commit = @global_start_value; +SELECT @@global.innodb_flush_log_at_trx_commit; +@@global.innodb_flush_log_at_trx_commit +1 diff --git a/mysql-test/r/innodb_flush_method_basic.result b/mysql-test/r/innodb_flush_method_basic.result new file mode 100644 index 00000000000..836328c5c9b --- /dev/null +++ b/mysql-test/r/innodb_flush_method_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_029_01----------------------#' +SELECT COUNT(@@GLOBAL.innodb_flush_method); +COUNT(@@GLOBAL.innodb_flush_method) +0 +1 Expected +'#---------------------BS_STVARS_029_02----------------------#' +SET @@GLOBAL.innodb_flush_method=1; +ERROR HY000: Variable 'innodb_flush_method' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.innodb_flush_method); +COUNT(@@GLOBAL.innodb_flush_method) +0 +1 Expected +'#---------------------BS_STVARS_029_03----------------------#' +SELECT @@GLOBAL.innodb_flush_method = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_flush_method'; +@@GLOBAL.innodb_flush_method = VARIABLE_VALUE +NULL +1 Expected +SELECT COUNT(@@GLOBAL.innodb_flush_method); +COUNT(@@GLOBAL.innodb_flush_method) +0 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_flush_method'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_029_04----------------------#' +SELECT @@innodb_flush_method = @@GLOBAL.innodb_flush_method; +@@innodb_flush_method = @@GLOBAL.innodb_flush_method +NULL +1 Expected +'#---------------------BS_STVARS_029_05----------------------#' +SELECT COUNT(@@innodb_flush_method); +COUNT(@@innodb_flush_method) +0 +1 Expected +SELECT COUNT(@@local.innodb_flush_method); +ERROR HY000: Variable 'innodb_flush_method' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.innodb_flush_method); +ERROR HY000: Variable 'innodb_flush_method' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.innodb_flush_method); +COUNT(@@GLOBAL.innodb_flush_method) +0 +1 Expected +SELECT innodb_flush_method = @@SESSION.innodb_flush_method; +ERROR 42S22: Unknown column 'innodb_flush_method' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/innodb_force_recovery_basic.result b/mysql-test/r/innodb_force_recovery_basic.result new file mode 100644 index 00000000000..d3dcb525c7f --- /dev/null +++ b/mysql-test/r/innodb_force_recovery_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_030_01----------------------#' +SELECT COUNT(@@GLOBAL.innodb_force_recovery); +COUNT(@@GLOBAL.innodb_force_recovery) +1 +1 Expected +'#---------------------BS_STVARS_030_02----------------------#' +SET @@GLOBAL.innodb_force_recovery=1; +ERROR HY000: Variable 'innodb_force_recovery' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.innodb_force_recovery); +COUNT(@@GLOBAL.innodb_force_recovery) +1 +1 Expected +'#---------------------BS_STVARS_030_03----------------------#' +SELECT @@GLOBAL.innodb_force_recovery = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_force_recovery'; +@@GLOBAL.innodb_force_recovery = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.innodb_force_recovery); +COUNT(@@GLOBAL.innodb_force_recovery) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_force_recovery'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_030_04----------------------#' +SELECT @@innodb_force_recovery = @@GLOBAL.innodb_force_recovery; +@@innodb_force_recovery = @@GLOBAL.innodb_force_recovery +1 +1 Expected +'#---------------------BS_STVARS_030_05----------------------#' +SELECT COUNT(@@innodb_force_recovery); +COUNT(@@innodb_force_recovery) +1 +1 Expected +SELECT COUNT(@@local.innodb_force_recovery); +ERROR HY000: Variable 'innodb_force_recovery' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.innodb_force_recovery); +ERROR HY000: Variable 'innodb_force_recovery' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.innodb_force_recovery); +COUNT(@@GLOBAL.innodb_force_recovery) +1 +1 Expected +SELECT innodb_force_recovery = @@SESSION.innodb_force_recovery; +ERROR 42S22: Unknown column 'innodb_force_recovery' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/innodb_lock_wait_timeout_basic.result b/mysql-test/r/innodb_lock_wait_timeout_basic.result new file mode 100644 index 00000000000..ce46861b760 --- /dev/null +++ b/mysql-test/r/innodb_lock_wait_timeout_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_032_01----------------------#' +SELECT COUNT(@@GLOBAL.innodb_lock_wait_timeout); +COUNT(@@GLOBAL.innodb_lock_wait_timeout) +1 +1 Expected +'#---------------------BS_STVARS_032_02----------------------#' +SET @@GLOBAL.innodb_lock_wait_timeout=1; +ERROR HY000: Variable 'innodb_lock_wait_timeout' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.innodb_lock_wait_timeout); +COUNT(@@GLOBAL.innodb_lock_wait_timeout) +1 +1 Expected +'#---------------------BS_STVARS_032_03----------------------#' +SELECT @@GLOBAL.innodb_lock_wait_timeout = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_lock_wait_timeout'; +@@GLOBAL.innodb_lock_wait_timeout = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.innodb_lock_wait_timeout); +COUNT(@@GLOBAL.innodb_lock_wait_timeout) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_lock_wait_timeout'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_032_04----------------------#' +SELECT @@innodb_lock_wait_timeout = @@GLOBAL.innodb_lock_wait_timeout; +@@innodb_lock_wait_timeout = @@GLOBAL.innodb_lock_wait_timeout +1 +1 Expected +'#---------------------BS_STVARS_032_05----------------------#' +SELECT COUNT(@@innodb_lock_wait_timeout); +COUNT(@@innodb_lock_wait_timeout) +1 +1 Expected +SELECT COUNT(@@local.innodb_lock_wait_timeout); +ERROR HY000: Variable 'innodb_lock_wait_timeout' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.innodb_lock_wait_timeout); +ERROR HY000: Variable 'innodb_lock_wait_timeout' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.innodb_lock_wait_timeout); +COUNT(@@GLOBAL.innodb_lock_wait_timeout) +1 +1 Expected +SELECT innodb_lock_wait_timeout = @@SESSION.innodb_lock_wait_timeout; +ERROR 42S22: Unknown column 'innodb_lock_wait_timeout' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/innodb_locks_unsafe_for_binlog_basic.result b/mysql-test/r/innodb_locks_unsafe_for_binlog_basic.result new file mode 100644 index 00000000000..a5967d28913 --- /dev/null +++ b/mysql-test/r/innodb_locks_unsafe_for_binlog_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_031_01----------------------#' +SELECT COUNT(@@GLOBAL.innodb_locks_unsafe_for_binlog); +COUNT(@@GLOBAL.innodb_locks_unsafe_for_binlog) +1 +1 Expected +'#---------------------BS_STVARS_031_02----------------------#' +SET @@GLOBAL.innodb_locks_unsafe_for_binlog=1; +ERROR HY000: Variable 'innodb_locks_unsafe_for_binlog' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.innodb_locks_unsafe_for_binlog); +COUNT(@@GLOBAL.innodb_locks_unsafe_for_binlog) +1 +1 Expected +'#---------------------BS_STVARS_031_03----------------------#' +SELECT @@GLOBAL.innodb_locks_unsafe_for_binlog = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_locks_unsafe_for_binlog'; +@@GLOBAL.innodb_locks_unsafe_for_binlog = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.innodb_locks_unsafe_for_binlog); +COUNT(@@GLOBAL.innodb_locks_unsafe_for_binlog) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_locks_unsafe_for_binlog'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_031_04----------------------#' +SELECT @@innodb_locks_unsafe_for_binlog = @@GLOBAL.innodb_locks_unsafe_for_binlog; +@@innodb_locks_unsafe_for_binlog = @@GLOBAL.innodb_locks_unsafe_for_binlog +1 +1 Expected +'#---------------------BS_STVARS_031_05----------------------#' +SELECT COUNT(@@innodb_locks_unsafe_for_binlog); +COUNT(@@innodb_locks_unsafe_for_binlog) +1 +1 Expected +SELECT COUNT(@@local.innodb_locks_unsafe_for_binlog); +ERROR HY000: Variable 'innodb_locks_unsafe_for_binlog' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.innodb_locks_unsafe_for_binlog); +ERROR HY000: Variable 'innodb_locks_unsafe_for_binlog' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.innodb_locks_unsafe_for_binlog); +COUNT(@@GLOBAL.innodb_locks_unsafe_for_binlog) +1 +1 Expected +SELECT innodb_locks_unsafe_for_binlog = @@SESSION.innodb_locks_unsafe_for_binlog; +ERROR 42S22: Unknown column 'innodb_locks_unsafe_for_binlog' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/innodb_log_buffer_size_basic.result b/mysql-test/r/innodb_log_buffer_size_basic.result new file mode 100644 index 00000000000..d926addd1bd --- /dev/null +++ b/mysql-test/r/innodb_log_buffer_size_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_033_01----------------------#' +SELECT COUNT(@@GLOBAL.innodb_log_buffer_size); +COUNT(@@GLOBAL.innodb_log_buffer_size) +1 +1 Expected +'#---------------------BS_STVARS_033_02----------------------#' +SET @@GLOBAL.innodb_log_buffer_size=1; +ERROR HY000: Variable 'innodb_log_buffer_size' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.innodb_log_buffer_size); +COUNT(@@GLOBAL.innodb_log_buffer_size) +1 +1 Expected +'#---------------------BS_STVARS_033_03----------------------#' +SELECT @@GLOBAL.innodb_log_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_log_buffer_size'; +@@GLOBAL.innodb_log_buffer_size = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.innodb_log_buffer_size); +COUNT(@@GLOBAL.innodb_log_buffer_size) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_log_buffer_size'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_033_04----------------------#' +SELECT @@innodb_log_buffer_size = @@GLOBAL.innodb_log_buffer_size; +@@innodb_log_buffer_size = @@GLOBAL.innodb_log_buffer_size +1 +1 Expected +'#---------------------BS_STVARS_033_05----------------------#' +SELECT COUNT(@@innodb_log_buffer_size); +COUNT(@@innodb_log_buffer_size) +1 +1 Expected +SELECT COUNT(@@local.innodb_log_buffer_size); +ERROR HY000: Variable 'innodb_log_buffer_size' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.innodb_log_buffer_size); +ERROR HY000: Variable 'innodb_log_buffer_size' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.innodb_log_buffer_size); +COUNT(@@GLOBAL.innodb_log_buffer_size) +1 +1 Expected +SELECT innodb_log_buffer_size = @@SESSION.innodb_log_buffer_size; +ERROR 42S22: Unknown column 'innodb_log_buffer_size' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/innodb_log_file_size_basic.result b/mysql-test/r/innodb_log_file_size_basic.result new file mode 100644 index 00000000000..119e95df1e1 --- /dev/null +++ b/mysql-test/r/innodb_log_file_size_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_035_01----------------------#' +SELECT COUNT(@@GLOBAL.innodb_log_file_size); +COUNT(@@GLOBAL.innodb_log_file_size) +1 +1 Expected +'#---------------------BS_STVARS_035_02----------------------#' +SET @@GLOBAL.innodb_log_file_size=1; +ERROR HY000: Variable 'innodb_log_file_size' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.innodb_log_file_size); +COUNT(@@GLOBAL.innodb_log_file_size) +1 +1 Expected +'#---------------------BS_STVARS_035_03----------------------#' +SELECT @@GLOBAL.innodb_log_file_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_log_file_size'; +@@GLOBAL.innodb_log_file_size = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.innodb_log_file_size); +COUNT(@@GLOBAL.innodb_log_file_size) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_log_file_size'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_035_04----------------------#' +SELECT @@innodb_log_file_size = @@GLOBAL.innodb_log_file_size; +@@innodb_log_file_size = @@GLOBAL.innodb_log_file_size +1 +1 Expected +'#---------------------BS_STVARS_035_05----------------------#' +SELECT COUNT(@@innodb_log_file_size); +COUNT(@@innodb_log_file_size) +1 +1 Expected +SELECT COUNT(@@local.innodb_log_file_size); +ERROR HY000: Variable 'innodb_log_file_size' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.innodb_log_file_size); +ERROR HY000: Variable 'innodb_log_file_size' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.innodb_log_file_size); +COUNT(@@GLOBAL.innodb_log_file_size) +1 +1 Expected +SELECT innodb_log_file_size = @@SESSION.innodb_log_file_size; +ERROR 42S22: Unknown column 'innodb_log_file_size' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/innodb_log_files_in_group_basic.result b/mysql-test/r/innodb_log_files_in_group_basic.result new file mode 100644 index 00000000000..1191ef010f8 --- /dev/null +++ b/mysql-test/r/innodb_log_files_in_group_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_034_01----------------------#' +SELECT COUNT(@@GLOBAL.innodb_log_files_in_group); +COUNT(@@GLOBAL.innodb_log_files_in_group) +1 +1 Expected +'#---------------------BS_STVARS_034_02----------------------#' +SET @@GLOBAL.innodb_log_files_in_group=1; +ERROR HY000: Variable 'innodb_log_files_in_group' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.innodb_log_files_in_group); +COUNT(@@GLOBAL.innodb_log_files_in_group) +1 +1 Expected +'#---------------------BS_STVARS_034_03----------------------#' +SELECT @@GLOBAL.innodb_log_files_in_group = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_log_files_in_group'; +@@GLOBAL.innodb_log_files_in_group = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.innodb_log_files_in_group); +COUNT(@@GLOBAL.innodb_log_files_in_group) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_log_files_in_group'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_034_04----------------------#' +SELECT @@innodb_log_files_in_group = @@GLOBAL.innodb_log_files_in_group; +@@innodb_log_files_in_group = @@GLOBAL.innodb_log_files_in_group +1 +1 Expected +'#---------------------BS_STVARS_034_05----------------------#' +SELECT COUNT(@@innodb_log_files_in_group); +COUNT(@@innodb_log_files_in_group) +1 +1 Expected +SELECT COUNT(@@local.innodb_log_files_in_group); +ERROR HY000: Variable 'innodb_log_files_in_group' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.innodb_log_files_in_group); +ERROR HY000: Variable 'innodb_log_files_in_group' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.innodb_log_files_in_group); +COUNT(@@GLOBAL.innodb_log_files_in_group) +1 +1 Expected +SELECT innodb_log_files_in_group = @@SESSION.innodb_log_files_in_group; +ERROR 42S22: Unknown column 'innodb_log_files_in_group' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/innodb_log_group_home_dir_basic.result b/mysql-test/r/innodb_log_group_home_dir_basic.result new file mode 100644 index 00000000000..c7fbd2d958f --- /dev/null +++ b/mysql-test/r/innodb_log_group_home_dir_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_036_01----------------------#' +SELECT COUNT(@@GLOBAL.innodb_log_group_home_dir); +COUNT(@@GLOBAL.innodb_log_group_home_dir) +1 +1 Expected +'#---------------------BS_STVARS_036_02----------------------#' +SET @@GLOBAL.innodb_log_group_home_dir=1; +ERROR HY000: Variable 'innodb_log_group_home_dir' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.innodb_log_group_home_dir); +COUNT(@@GLOBAL.innodb_log_group_home_dir) +1 +1 Expected +'#---------------------BS_STVARS_036_03----------------------#' +SELECT @@GLOBAL.innodb_log_group_home_dir = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_log_group_home_dir'; +@@GLOBAL.innodb_log_group_home_dir = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.innodb_log_group_home_dir); +COUNT(@@GLOBAL.innodb_log_group_home_dir) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_log_group_home_dir'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_036_04----------------------#' +SELECT @@innodb_log_group_home_dir = @@GLOBAL.innodb_log_group_home_dir; +@@innodb_log_group_home_dir = @@GLOBAL.innodb_log_group_home_dir +1 +1 Expected +'#---------------------BS_STVARS_036_05----------------------#' +SELECT COUNT(@@innodb_log_group_home_dir); +COUNT(@@innodb_log_group_home_dir) +1 +1 Expected +SELECT COUNT(@@local.innodb_log_group_home_dir); +ERROR HY000: Variable 'innodb_log_group_home_dir' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.innodb_log_group_home_dir); +ERROR HY000: Variable 'innodb_log_group_home_dir' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.innodb_log_group_home_dir); +COUNT(@@GLOBAL.innodb_log_group_home_dir) +1 +1 Expected +SELECT innodb_log_group_home_dir = @@SESSION.innodb_log_group_home_dir; +ERROR 42S22: Unknown column 'innodb_log_group_home_dir' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/innodb_max_dirty_pages_pct_basic.result b/mysql-test/r/innodb_max_dirty_pages_pct_basic.result new file mode 100644 index 00000000000..6c52f79f9ad --- /dev/null +++ b/mysql-test/r/innodb_max_dirty_pages_pct_basic.result @@ -0,0 +1,96 @@ +SET @global_start_value = @@global.innodb_max_dirty_pages_pct; +SELECT @global_start_value; +@global_start_value +90 +'#--------------------FN_DYNVARS_046_01------------------------#' +SET @@global.innodb_max_dirty_pages_pct = 0; +SET @@global.innodb_max_dirty_pages_pct = DEFAULT; +SELECT @@global.innodb_max_dirty_pages_pct; +@@global.innodb_max_dirty_pages_pct +90 +'#---------------------FN_DYNVARS_046_02-------------------------#' +SET innodb_max_dirty_pages_pct = 1; +ERROR HY000: Variable 'innodb_max_dirty_pages_pct' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@innodb_max_dirty_pages_pct; +@@innodb_max_dirty_pages_pct +90 +SELECT local.innodb_max_dirty_pages_pct; +ERROR 42S02: Unknown table 'local' in field list +SET global innodb_max_dirty_pages_pct = 0; +SELECT @@global.innodb_max_dirty_pages_pct; +@@global.innodb_max_dirty_pages_pct +0 +'#--------------------FN_DYNVARS_046_03------------------------#' +SET @@global.innodb_max_dirty_pages_pct = 0; +SELECT @@global.innodb_max_dirty_pages_pct; +@@global.innodb_max_dirty_pages_pct +0 +SET @@global.innodb_max_dirty_pages_pct = 1; +SELECT @@global.innodb_max_dirty_pages_pct; +@@global.innodb_max_dirty_pages_pct +1 +SET @@global.innodb_max_dirty_pages_pct = 100; +SELECT @@global.innodb_max_dirty_pages_pct; +@@global.innodb_max_dirty_pages_pct +100 +'#--------------------FN_DYNVARS_046_04-------------------------#' +SET @@global.innodb_max_dirty_pages_pct = -1; +Warnings: +Warning 1292 Truncated incorrect max_dirty_pages_pct value: '18446744073709551615' +SELECT @@global.innodb_max_dirty_pages_pct; +@@global.innodb_max_dirty_pages_pct +100 +SET @@global.innodb_max_dirty_pages_pct = "T"; +ERROR 42000: Incorrect argument type to variable 'innodb_max_dirty_pages_pct' +SELECT @@global.innodb_max_dirty_pages_pct; +@@global.innodb_max_dirty_pages_pct +100 +SET @@global.innodb_max_dirty_pages_pct = "Y"; +ERROR 42000: Incorrect argument type to variable 'innodb_max_dirty_pages_pct' +SELECT @@global.innodb_max_dirty_pages_pct; +@@global.innodb_max_dirty_pages_pct +100 +SET @@global.innodb_max_dirty_pages_pct = 1001; +Warnings: +Warning 1292 Truncated incorrect max_dirty_pages_pct value: '1001' +SELECT @@global.innodb_max_dirty_pages_pct; +@@global.innodb_max_dirty_pages_pct +100 +'#----------------------FN_DYNVARS_046_05------------------------#' +SELECT @@global.innodb_max_dirty_pages_pct = +VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_max_dirty_pages_pct'; +@@global.innodb_max_dirty_pages_pct = +VARIABLE_VALUE +1 +SELECT @@global.innodb_max_dirty_pages_pct; +@@global.innodb_max_dirty_pages_pct +100 +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_max_dirty_pages_pct'; +VARIABLE_VALUE +100 +'#---------------------FN_DYNVARS_046_06-------------------------#' +SET @@global.innodb_max_dirty_pages_pct = OFF; +ERROR 42000: Incorrect argument type to variable 'innodb_max_dirty_pages_pct' +SELECT @@global.innodb_max_dirty_pages_pct; +@@global.innodb_max_dirty_pages_pct +100 +SET @@global.innodb_max_dirty_pages_pct = ON; +ERROR 42000: Incorrect argument type to variable 'innodb_max_dirty_pages_pct' +SELECT @@global.innodb_max_dirty_pages_pct; +@@global.innodb_max_dirty_pages_pct +100 +'#---------------------FN_DYNVARS_046_07----------------------#' +SET @@global.innodb_max_dirty_pages_pct = TRUE; +SELECT @@global.innodb_max_dirty_pages_pct; +@@global.innodb_max_dirty_pages_pct +1 +SET @@global.innodb_max_dirty_pages_pct = FALSE; +SELECT @@global.innodb_max_dirty_pages_pct; +@@global.innodb_max_dirty_pages_pct +0 +SET @@global.innodb_max_dirty_pages_pct = @global_start_value; +SELECT @@global.innodb_max_dirty_pages_pct; +@@global.innodb_max_dirty_pages_pct +90 diff --git a/mysql-test/r/innodb_max_dirty_pages_pct_func.result b/mysql-test/r/innodb_max_dirty_pages_pct_func.result new file mode 100644 index 00000000000..4f6d42fb716 --- /dev/null +++ b/mysql-test/r/innodb_max_dirty_pages_pct_func.result @@ -0,0 +1,30 @@ +'#--------------------FN_DYNVARS_044_02-------------------------#' +SET @@global.innodb_max_dirty_pages_pct = 80; +'connect (con1,localhost,root,,,,)' +'connection con1' +SELECT @@global.innodb_max_dirty_pages_pct; +@@global.innodb_max_dirty_pages_pct +80 +SET @@global.innodb_max_dirty_pages_pct = 70; +'connect (con2,localhost,root,,,,)' +'connection con2' +SELECT @@global.innodb_max_dirty_pages_pct; +@@global.innodb_max_dirty_pages_pct +70 +'#--------------------FN_DYNVARS_044_02-------------------------#' +'connection default' +'---Check when innodb_max_dirty_pages_pct is 10---' +SET @@global.innodb_max_dirty_pages_pct = 10; +FLUSH STATUS; +CALL add_until(10); +FLUSH TABLES; +CALL add_records(500); +'--sleep 5' +'We expect dirty pages pct to be BELOW_MAX' +CALL check_pct(10); +PCT_VALUE +BELOW_MAX +DROP PROCEDURE add_records; +DROP PROCEDURE add_until; +DROP PROCEDURE check_pct; +DROP FUNCTION dirty_pct; diff --git a/mysql-test/r/innodb_max_purge_lag_basic_32.result b/mysql-test/r/innodb_max_purge_lag_basic_32.result new file mode 100644 index 00000000000..ed960f12ff1 --- /dev/null +++ b/mysql-test/r/innodb_max_purge_lag_basic_32.result @@ -0,0 +1,94 @@ +SET @global_start_value = @@global.innodb_max_purge_lag; +SELECT @global_start_value; +@global_start_value +0 +'#--------------------FN_DYNVARS_046_01------------------------#' +SET @@global.innodb_max_purge_lag = 0; +SET @@global.innodb_max_purge_lag = DEFAULT; +SELECT @@global.innodb_max_purge_lag; +@@global.innodb_max_purge_lag +0 +'#---------------------FN_DYNVARS_046_02-------------------------#' +SET innodb_max_purge_lag = 1; +ERROR HY000: Variable 'innodb_max_purge_lag' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@innodb_max_purge_lag; +@@innodb_max_purge_lag +0 +SELECT local.innodb_max_purge_lag; +ERROR 42S02: Unknown table 'local' in field list +SET global innodb_max_purge_lag = 0; +SELECT @@global.innodb_max_purge_lag; +@@global.innodb_max_purge_lag +0 +'#--------------------FN_DYNVARS_046_03------------------------#' +SET @@global.innodb_max_purge_lag = 0; +SELECT @@global.innodb_max_purge_lag; +@@global.innodb_max_purge_lag +0 +SET @@global.innodb_max_purge_lag = 1; +SELECT @@global.innodb_max_purge_lag; +@@global.innodb_max_purge_lag +1 +SET @@global.innodb_max_purge_lag = 4294967295; +SELECT @@global.innodb_max_purge_lag; +@@global.innodb_max_purge_lag +4294967295 +'#--------------------FN_DYNVARS_046_04-------------------------#' +SET @@global.innodb_max_purge_lag = -1; +Warnings: +Warning 1292 Truncated incorrect max_purge_lag value: '18446744073709551615' +SELECT @@global.innodb_max_purge_lag; +@@global.innodb_max_purge_lag +4294967295 +SET @@global.innodb_max_purge_lag = "T"; +ERROR 42000: Incorrect argument type to variable 'innodb_max_purge_lag' +SELECT @@global.innodb_max_purge_lag; +@@global.innodb_max_purge_lag +4294967295 +SET @@global.innodb_max_purge_lag = "Y"; +ERROR 42000: Incorrect argument type to variable 'innodb_max_purge_lag' +SELECT @@global.innodb_max_purge_lag; +@@global.innodb_max_purge_lag +4294967295 +SET @@global.innodb_max_purge_lag = 1001; +SELECT @@global.innodb_max_purge_lag; +@@global.innodb_max_purge_lag +1001 +'#----------------------FN_DYNVARS_046_05------------------------#' +SELECT @@global.innodb_max_purge_lag = +VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_max_purge_lag'; +@@global.innodb_max_purge_lag = +VARIABLE_VALUE +1 +SELECT @@global.innodb_max_purge_lag; +@@global.innodb_max_purge_lag +1001 +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_max_purge_lag'; +VARIABLE_VALUE +1001 +'#---------------------FN_DYNVARS_046_06-------------------------#' +SET @@global.innodb_max_purge_lag = OFF; +ERROR 42000: Incorrect argument type to variable 'innodb_max_purge_lag' +SELECT @@global.innodb_max_purge_lag; +@@global.innodb_max_purge_lag +1001 +SET @@global.innodb_max_purge_lag = ON; +ERROR 42000: Incorrect argument type to variable 'innodb_max_purge_lag' +SELECT @@global.innodb_max_purge_lag; +@@global.innodb_max_purge_lag +1001 +'#---------------------FN_DYNVARS_046_07----------------------#' +SET @@global.innodb_max_purge_lag = TRUE; +SELECT @@global.innodb_max_purge_lag; +@@global.innodb_max_purge_lag +1 +SET @@global.innodb_max_purge_lag = FALSE; +SELECT @@global.innodb_max_purge_lag; +@@global.innodb_max_purge_lag +0 +SET @@global.innodb_max_purge_lag = @global_start_value; +SELECT @@global.innodb_max_purge_lag; +@@global.innodb_max_purge_lag +0 diff --git a/mysql-test/r/innodb_max_purge_lag_basic_64.result b/mysql-test/r/innodb_max_purge_lag_basic_64.result new file mode 100644 index 00000000000..a6b669dde83 --- /dev/null +++ b/mysql-test/r/innodb_max_purge_lag_basic_64.result @@ -0,0 +1,92 @@ +SET @global_start_value = @@global.innodb_max_purge_lag; +SELECT @global_start_value; +@global_start_value +0 +'#--------------------FN_DYNVARS_046_01------------------------#' +SET @@global.innodb_max_purge_lag = 0; +SET @@global.innodb_max_purge_lag = DEFAULT; +SELECT @@global.innodb_max_purge_lag; +@@global.innodb_max_purge_lag +0 +'#---------------------FN_DYNVARS_046_02-------------------------#' +SET innodb_max_purge_lag = 1; +ERROR HY000: Variable 'innodb_max_purge_lag' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@innodb_max_purge_lag; +@@innodb_max_purge_lag +0 +SELECT local.innodb_max_purge_lag; +ERROR 42S02: Unknown table 'local' in field list +SET global innodb_max_purge_lag = 0; +SELECT @@global.innodb_max_purge_lag; +@@global.innodb_max_purge_lag +0 +'#--------------------FN_DYNVARS_046_03------------------------#' +SET @@global.innodb_max_purge_lag = 0; +SELECT @@global.innodb_max_purge_lag; +@@global.innodb_max_purge_lag +0 +SET @@global.innodb_max_purge_lag = 1; +SELECT @@global.innodb_max_purge_lag; +@@global.innodb_max_purge_lag +1 +SET @@global.innodb_max_purge_lag = 4294967295; +SELECT @@global.innodb_max_purge_lag; +@@global.innodb_max_purge_lag +4294967295 +'#--------------------FN_DYNVARS_046_04-------------------------#' +SET @@global.innodb_max_purge_lag = -1; +SELECT @@global.innodb_max_purge_lag; +@@global.innodb_max_purge_lag +18446744073709551615 +SET @@global.innodb_max_purge_lag = "T"; +ERROR 42000: Incorrect argument type to variable 'innodb_max_purge_lag' +SELECT @@global.innodb_max_purge_lag; +@@global.innodb_max_purge_lag +18446744073709551615 +SET @@global.innodb_max_purge_lag = "Y"; +ERROR 42000: Incorrect argument type to variable 'innodb_max_purge_lag' +SELECT @@global.innodb_max_purge_lag; +@@global.innodb_max_purge_lag +18446744073709551615 +SET @@global.innodb_max_purge_lag = 1001; +SELECT @@global.innodb_max_purge_lag; +@@global.innodb_max_purge_lag +1001 +'#----------------------FN_DYNVARS_046_05------------------------#' +SELECT @@global.innodb_max_purge_lag = +VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_max_purge_lag'; +@@global.innodb_max_purge_lag = +VARIABLE_VALUE +1 +SELECT @@global.innodb_max_purge_lag; +@@global.innodb_max_purge_lag +1001 +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_max_purge_lag'; +VARIABLE_VALUE +1001 +'#---------------------FN_DYNVARS_046_06-------------------------#' +SET @@global.innodb_max_purge_lag = OFF; +ERROR 42000: Incorrect argument type to variable 'innodb_max_purge_lag' +SELECT @@global.innodb_max_purge_lag; +@@global.innodb_max_purge_lag +1001 +SET @@global.innodb_max_purge_lag = ON; +ERROR 42000: Incorrect argument type to variable 'innodb_max_purge_lag' +SELECT @@global.innodb_max_purge_lag; +@@global.innodb_max_purge_lag +1001 +'#---------------------FN_DYNVARS_046_07----------------------#' +SET @@global.innodb_max_purge_lag = TRUE; +SELECT @@global.innodb_max_purge_lag; +@@global.innodb_max_purge_lag +1 +SET @@global.innodb_max_purge_lag = FALSE; +SELECT @@global.innodb_max_purge_lag; +@@global.innodb_max_purge_lag +0 +SET @@global.innodb_max_purge_lag = @global_start_value; +SELECT @@global.innodb_max_purge_lag; +@@global.innodb_max_purge_lag +0 diff --git a/mysql-test/r/innodb_mirrored_log_groups_basic.result b/mysql-test/r/innodb_mirrored_log_groups_basic.result new file mode 100644 index 00000000000..1645d8163ae --- /dev/null +++ b/mysql-test/r/innodb_mirrored_log_groups_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_037_01----------------------#' +SELECT COUNT(@@GLOBAL.innodb_mirrored_log_groups); +COUNT(@@GLOBAL.innodb_mirrored_log_groups) +1 +1 Expected +'#---------------------BS_STVARS_037_02----------------------#' +SET @@GLOBAL.innodb_mirrored_log_groups=1; +ERROR HY000: Variable 'innodb_mirrored_log_groups' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.innodb_mirrored_log_groups); +COUNT(@@GLOBAL.innodb_mirrored_log_groups) +1 +1 Expected +'#---------------------BS_STVARS_037_03----------------------#' +SELECT @@GLOBAL.innodb_mirrored_log_groups = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_mirrored_log_groups'; +@@GLOBAL.innodb_mirrored_log_groups = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.innodb_mirrored_log_groups); +COUNT(@@GLOBAL.innodb_mirrored_log_groups) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_mirrored_log_groups'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_037_04----------------------#' +SELECT @@innodb_mirrored_log_groups = @@GLOBAL.innodb_mirrored_log_groups; +@@innodb_mirrored_log_groups = @@GLOBAL.innodb_mirrored_log_groups +1 +1 Expected +'#---------------------BS_STVARS_037_05----------------------#' +SELECT COUNT(@@innodb_mirrored_log_groups); +COUNT(@@innodb_mirrored_log_groups) +1 +1 Expected +SELECT COUNT(@@local.innodb_mirrored_log_groups); +ERROR HY000: Variable 'innodb_mirrored_log_groups' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.innodb_mirrored_log_groups); +ERROR HY000: Variable 'innodb_mirrored_log_groups' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.innodb_mirrored_log_groups); +COUNT(@@GLOBAL.innodb_mirrored_log_groups) +1 +1 Expected +SELECT innodb_mirrored_log_groups = @@SESSION.innodb_mirrored_log_groups; +ERROR 42S22: Unknown column 'innodb_mirrored_log_groups' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/innodb_mysql.result b/mysql-test/r/innodb_mysql.result index c7f5e72bb8b..ab279933853 100644 --- a/mysql-test/r/innodb_mysql.result +++ b/mysql-test/r/innodb_mysql.result @@ -355,13 +355,13 @@ EXPLAIN SELECT COUNT(*) FROM t2 LEFT JOIN t1 ON t2.fkey = t1.id WHERE t1.name LIKE 'A%'; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 index PRIMARY,name PRIMARY 4 NULL 3 Using where +1 SIMPLE t1 index PRIMARY,name name 23 NULL 3 Using where; Using index 1 SIMPLE t2 ref fkey fkey 5 test.t1.id 1 Using where; Using index EXPLAIN SELECT COUNT(*) FROM t2 LEFT JOIN t1 ON t2.fkey = t1.id WHERE t1.name LIKE 'A%' OR FALSE; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t2 index NULL PRIMARY 4 NULL 5 +1 SIMPLE t2 index NULL fkey 5 NULL 5 Using index 1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.fkey 1 Using where DROP TABLE t1,t2; CREATE TABLE t1 ( @@ -887,13 +887,13 @@ EXPLAIN SELECT * FROM t1 WHERE b BETWEEN 1 AND 2 ORDER BY a; id 1 select_type SIMPLE table t1 -type index +type range possible_keys bkey -key PRIMARY -key_len 4 +key bkey +key_len 5 ref NULL -rows 32 -Extra Using where +rows 16 +Extra Using where; Using index; Using filesort SELECT * FROM t1 WHERE b BETWEEN 1 AND 2 ORDER BY a; a b 1 2 @@ -982,13 +982,13 @@ EXPLAIN SELECT * FROM t2 WHERE b=1 ORDER BY a; id 1 select_type SIMPLE table t2 -type index +type ref possible_keys bkey -key PRIMARY -key_len 4 -ref NULL -rows 16 -Extra Using where; Using index +key bkey +key_len 5 +ref const +rows 8 +Extra Using where; Using index; Using filesort SELECT * FROM t2 WHERE b=1 ORDER BY a; a b c 1 1 1 @@ -1268,11 +1268,11 @@ select_type SIMPLE table t1 type index possible_keys NULL -key PRIMARY -key_len 4 +key b +key_len 5 ref NULL rows 3 -Extra Using filesort +Extra Using index; Using filesort SELECT * FROM t1 ORDER BY b ASC, a DESC; a b 1 1 @@ -1284,11 +1284,11 @@ select_type SIMPLE table t1 type index possible_keys NULL -key PRIMARY -key_len 4 +key b +key_len 5 ref NULL rows 3 -Extra Using filesort +Extra Using index; Using filesort SELECT * FROM t1 ORDER BY b DESC, a ASC; a b 2 2 @@ -1654,3 +1654,13 @@ ALTER TABLE t1 CHANGE id id2 INT; DROP TABLE t2; DROP TABLE t1; End of 5.1 tests +drop table if exists t1, t2, t3; +create table t1(a int); +insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); +create table t2 (a int, b int, pk int, key(a,b), primary key(pk)) engine=innodb; +insert into t2 select @a:=A.a+10*(B.a + 10*C.a),@a, @a from t1 A, t1 B, t1 C; +this must use key 'a', not PRIMARY: +explain select a from t2 where a=b; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t2 index NULL a 10 NULL # Using where; Using index +drop table t1, t2; diff --git a/mysql-test/r/innodb_open_files_basic.result b/mysql-test/r/innodb_open_files_basic.result new file mode 100644 index 00000000000..eac2234270a --- /dev/null +++ b/mysql-test/r/innodb_open_files_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_038_01----------------------#' +SELECT COUNT(@@GLOBAL.innodb_open_files); +COUNT(@@GLOBAL.innodb_open_files) +1 +1 Expected +'#---------------------BS_STVARS_038_02----------------------#' +SET @@GLOBAL.innodb_open_files=1; +ERROR HY000: Variable 'innodb_open_files' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.innodb_open_files); +COUNT(@@GLOBAL.innodb_open_files) +1 +1 Expected +'#---------------------BS_STVARS_038_03----------------------#' +SELECT @@GLOBAL.innodb_open_files = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_open_files'; +@@GLOBAL.innodb_open_files = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.innodb_open_files); +COUNT(@@GLOBAL.innodb_open_files) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_open_files'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_038_04----------------------#' +SELECT @@innodb_open_files = @@GLOBAL.innodb_open_files; +@@innodb_open_files = @@GLOBAL.innodb_open_files +1 +1 Expected +'#---------------------BS_STVARS_038_05----------------------#' +SELECT COUNT(@@innodb_open_files); +COUNT(@@innodb_open_files) +1 +1 Expected +SELECT COUNT(@@local.innodb_open_files); +ERROR HY000: Variable 'innodb_open_files' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.innodb_open_files); +ERROR HY000: Variable 'innodb_open_files' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.innodb_open_files); +COUNT(@@GLOBAL.innodb_open_files) +1 +1 Expected +SELECT innodb_open_files = @@SESSION.innodb_open_files; +ERROR 42S22: Unknown column 'innodb_open_files' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/innodb_rollback_on_timeout_basic.result b/mysql-test/r/innodb_rollback_on_timeout_basic.result new file mode 100644 index 00000000000..6887166fae6 --- /dev/null +++ b/mysql-test/r/innodb_rollback_on_timeout_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_039_01----------------------#' +SELECT COUNT(@@GLOBAL.innodb_rollback_on_timeout); +COUNT(@@GLOBAL.innodb_rollback_on_timeout) +1 +1 Expected +'#---------------------BS_STVARS_039_02----------------------#' +SET @@GLOBAL.innodb_rollback_on_timeout=1; +ERROR HY000: Variable 'innodb_rollback_on_timeout' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.innodb_rollback_on_timeout); +COUNT(@@GLOBAL.innodb_rollback_on_timeout) +1 +1 Expected +'#---------------------BS_STVARS_039_03----------------------#' +SELECT @@GLOBAL.innodb_rollback_on_timeout = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_rollback_on_timeout'; +@@GLOBAL.innodb_rollback_on_timeout = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.innodb_rollback_on_timeout); +COUNT(@@GLOBAL.innodb_rollback_on_timeout) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_rollback_on_timeout'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_039_04----------------------#' +SELECT @@innodb_rollback_on_timeout = @@GLOBAL.innodb_rollback_on_timeout; +@@innodb_rollback_on_timeout = @@GLOBAL.innodb_rollback_on_timeout +1 +1 Expected +'#---------------------BS_STVARS_039_05----------------------#' +SELECT COUNT(@@innodb_rollback_on_timeout); +COUNT(@@innodb_rollback_on_timeout) +1 +1 Expected +SELECT COUNT(@@local.innodb_rollback_on_timeout); +ERROR HY000: Variable 'innodb_rollback_on_timeout' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.innodb_rollback_on_timeout); +ERROR HY000: Variable 'innodb_rollback_on_timeout' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.innodb_rollback_on_timeout); +COUNT(@@GLOBAL.innodb_rollback_on_timeout) +1 +1 Expected +SELECT innodb_rollback_on_timeout = @@SESSION.innodb_rollback_on_timeout; +ERROR 42S22: Unknown column 'innodb_rollback_on_timeout' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/innodb_support_xa_basic.result b/mysql-test/r/innodb_support_xa_basic.result new file mode 100644 index 00000000000..dcd6f498d56 --- /dev/null +++ b/mysql-test/r/innodb_support_xa_basic.result @@ -0,0 +1,176 @@ +SET @session_start_value = @@session.innodb_support_xa; +SELECT @session_start_value; +@session_start_value +1 +SET @global_start_value = @@global.innodb_support_xa; +SELECT @global_start_value; +@global_start_value +1 +'#--------------------FN_DYNVARS_046_01------------------------#' +SET @@session.innodb_support_xa = 0; +SET @@session.innodb_support_xa = DEFAULT; +SELECT @@session.innodb_support_xa; +@@session.innodb_support_xa +1 +SET @@global.innodb_support_xa = 0; +SET @@global.innodb_support_xa = DEFAULT; +SELECT @@global.innodb_support_xa; +@@global.innodb_support_xa +1 +'#---------------------FN_DYNVARS_046_02-------------------------#' +SET innodb_support_xa = 1; +SELECT @@innodb_support_xa; +@@innodb_support_xa +1 +SELECT session.innodb_support_xa; +ERROR 42S02: Unknown table 'session' in field list +SELECT local.innodb_support_xa; +ERROR 42S02: Unknown table 'local' in field list +SELECT global.innodb_support_xa; +ERROR 42S02: Unknown table 'global' in field list +SET session innodb_support_xa = 0; +SELECT @@session.innodb_support_xa; +@@session.innodb_support_xa +0 +SET global innodb_support_xa = 0; +SELECT @@global.innodb_support_xa; +@@global.innodb_support_xa +0 +'#--------------------FN_DYNVARS_046_03------------------------#' +SET @@session.innodb_support_xa = 0; +SELECT @@session.innodb_support_xa; +@@session.innodb_support_xa +0 +SET @@session.innodb_support_xa = 1; +SELECT @@session.innodb_support_xa; +@@session.innodb_support_xa +1 +SET @@global.innodb_support_xa = 0; +SELECT @@global.innodb_support_xa; +@@global.innodb_support_xa +0 +SET @@global.innodb_support_xa = 1; +SELECT @@global.innodb_support_xa; +@@global.innodb_support_xa +1 +'#--------------------FN_DYNVARS_046_04-------------------------#' +SET @@session.innodb_support_xa = -0.6; +ERROR 42000: Variable 'support_xa' can't be set to the value of '-0.6' +SET @@session.innodb_support_xa = 1.6; +ERROR 42000: Variable 'support_xa' can't be set to the value of '1.6' +SET @@session.innodb_support_xa = "T"; +ERROR 42000: Variable 'support_xa' can't be set to the value of 'T' +SET @@session.innodb_support_xa = "Y"; +ERROR 42000: Variable 'support_xa' can't be set to the value of 'Y' +SET @@session.innodb_support_xa = TRÜE; +ERROR 42000: Variable 'support_xa' can't be set to the value of 'TRÜE' +SET @@session.innodb_support_xa = ÕN; +ERROR 42000: Variable 'support_xa' can't be set to the value of 'ÕN' +SET @@session.innodb_support_xa = OF; +SELECT @@session.innodb_support_xa; +@@session.innodb_support_xa +0 +'Bug# 34828: OF is taken as OFF and a value of 0 is set.' +SET @@session.innodb_support_xa = ÓFF; +ERROR 42000: Variable 'support_xa' can't be set to the value of 'ÓFF' +SET @@global.innodb_support_xa = -1; +SELECT @@global.innodb_support_xa; +@@global.innodb_support_xa +1 +SET @@global.innodb_support_xa = 2; +ERROR 42000: Variable 'support_xa' can't be set to the value of '2' +SET @@global.innodb_support_xa = "T"; +ERROR 42000: Variable 'support_xa' can't be set to the value of 'T' +SET @@global.innodb_support_xa = "Y"; +ERROR 42000: Variable 'support_xa' can't be set to the value of 'Y' +SET @@global.innodb_support_xa = TRÜE; +ERROR 42000: Variable 'support_xa' can't be set to the value of 'TRÜE' +SET @@global.innodb_support_xa = ÕN; +ERROR 42000: Variable 'support_xa' can't be set to the value of 'ÕN' +SET @@global.innodb_support_xa = OF; +SELECT @@global.innodb_support_xa; +@@global.innodb_support_xa +0 +'Bug# 34828 : OF is taken as OFF and a value of 0 is set.' +SET @@global.innodb_support_xa = ÓFF; +ERROR 42000: Variable 'support_xa' can't be set to the value of 'ÓFF' +'#-------------------FN_DYNVARS_046_05----------------------------#' +SET @@global.innodb_support_xa = 0; +SET @@session.innodb_support_xa = 1; +SELECT @@global.innodb_support_xa AS res_is_0; +res_is_0 +0 +SET @@global.innodb_support_xa = 0; +SELECT @@session.innodb_support_xa AS res_is_1; +res_is_1 +1 +'#----------------------FN_DYNVARS_046_06------------------------#' +SELECT @@global.innodb_support_xa = +VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_support_xa'; +@@global.innodb_support_xa = +VARIABLE_VALUE +1 +SELECT @@global.innodb_support_xa; +@@global.innodb_support_xa +0 +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_support_xa'; +VARIABLE_VALUE +OFF +'#----------------------FN_DYNVARS_046_07------------------------#' +SELECT @@session.innodb_support_xa = +VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='innodb_support_xa'; +@@session.innodb_support_xa = +VARIABLE_VALUE +0 +SELECT @@session.innodb_support_xa; +@@session.innodb_support_xa +1 +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='innodb_support_xa'; +VARIABLE_VALUE +ON +'#---------------------FN_DYNVARS_046_08-------------------------#' +SET @@session.innodb_support_xa = OFF; +SELECT @@session.innodb_support_xa; +@@session.innodb_support_xa +0 +SET @@session.innodb_support_xa = ON; +SELECT @@session.innodb_support_xa; +@@session.innodb_support_xa +1 +SET @@global.innodb_support_xa = OFF; +SELECT @@global.innodb_support_xa; +@@global.innodb_support_xa +0 +SET @@global.innodb_support_xa = ON; +SELECT @@global.innodb_support_xa; +@@global.innodb_support_xa +1 +'#---------------------FN_DYNVARS_046_09----------------------#' +SET @@session.innodb_support_xa = TRUE; +SELECT @@session.innodb_support_xa; +@@session.innodb_support_xa +1 +SET @@session.innodb_support_xa = FALSE; +SELECT @@session.innodb_support_xa; +@@session.innodb_support_xa +0 +SET @@global.innodb_support_xa = TRUE; +SELECT @@global.innodb_support_xa; +@@global.innodb_support_xa +1 +SET @@global.innodb_support_xa = FALSE; +SELECT @@global.innodb_support_xa; +@@global.innodb_support_xa +0 +SET @@session.innodb_support_xa = @session_start_value; +SELECT @@session.innodb_support_xa; +@@session.innodb_support_xa +1 +SET @@global.innodb_support_xa = @global_start_value; +SELECT @@global.innodb_support_xa; +@@global.innodb_support_xa +1 diff --git a/mysql-test/r/innodb_support_xa_func.result b/mysql-test/r/innodb_support_xa_func.result new file mode 100644 index 00000000000..9036794d636 --- /dev/null +++ b/mysql-test/r/innodb_support_xa_func.result @@ -0,0 +1,75 @@ +'#--------------------FN_DYNVARS_046_01-------------------------#' +SET @@global.innodb_support_xa = OFF; +'connect (con1,localhost,root,,,,)' +'connection con1' +SELECT @@global.innodb_support_xa; +@@global.innodb_support_xa +0 +SELECT @@session.innodb_support_xa; +@@session.innodb_support_xa +0 +'#--------------------FN_DYNVARS_046_01-------------------------#' +'connection default' +SET @@global.innodb_support_xa = 1; +drop table if exists t1, t2; +create table t1 (a int) engine=innodb; +'---check when innodb_support_xa is 1---' +SET @@innodb_support_xa = 1; +xa start 'test1'; +INSERT t1 values (10); +xa end 'test1'; +xa prepare 'test1'; +xa rollback 'test1'; +SELECT * from t1; +a +'---check when innodb_support_xa is 0---' +SET @@innodb_support_xa = 0; +xa start 'test1'; +INSERT t1 values (10); +xa end 'test1'; +xa prepare 'test1'; +xa rollback 'test1'; +SELECT * from t1; +a +'------general xa testing--------' +SET @@global.innodb_support_xa = 1; +SET @@innodb_support_xa = 1; +xa start 'testa','testb'; +INSERT t1 values (30); +COMMIT; +ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the ACTIVE state +xa end 'testa','testb'; +BEGIN; +ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the IDLE state +CREATE table t2 (a int); +ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the IDLE state +'connect (con1,localhost,root,,,,)' +'connection con1' +xa start 'testa','testb'; +ERROR XAE08: XAER_DUPID: The XID already exists +xa start 'testa','testb', 123; +ERROR XAE08: XAER_DUPID: The XID already exists +xa start 0x7465737462, 0x2030405060, 0xb; +INSERT t1 values (40); +xa end 'testb',' 0@P`',11; +xa prepare 'testb',0x2030405060,11; +START TRANSACTION; +ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the PREPARED state +xa recover; +formatID gtrid_length bqual_length data +11 5 5 testb 0@P` +'connection default' +xa prepare 'testa','testb'; +xa recover; +formatID gtrid_length bqual_length data +11 5 5 testb 0@P` +1 5 5 testatestb +xa commit 'testb',0x2030405060,11; +ERROR XAE04: XAER_NOTA: Unknown XID +xa commit 'testa','testb'; +'connection con1' +xa rollback 'testb',0x2030405060,11; +SELECT * from t1; +a +30 +DROP table t1; diff --git a/mysql-test/r/innodb_sync_spin_loops_basic_32.result b/mysql-test/r/innodb_sync_spin_loops_basic_32.result new file mode 100644 index 00000000000..2b976e65b14 --- /dev/null +++ b/mysql-test/r/innodb_sync_spin_loops_basic_32.result @@ -0,0 +1,94 @@ +SET @global_start_value = @@global.innodb_sync_spin_loops; +SELECT @global_start_value; +@global_start_value +20 +'#--------------------FN_DYNVARS_046_01------------------------#' +SET @@global.innodb_sync_spin_loops = 0; +SET @@global.innodb_sync_spin_loops = DEFAULT; +SELECT @@global.innodb_sync_spin_loops; +@@global.innodb_sync_spin_loops +20 +'#---------------------FN_DYNVARS_046_02-------------------------#' +SET innodb_sync_spin_loops = 1; +ERROR HY000: Variable 'innodb_sync_spin_loops' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@innodb_sync_spin_loops; +@@innodb_sync_spin_loops +20 +SELECT local.innodb_sync_spin_loops; +ERROR 42S02: Unknown table 'local' in field list +SET global innodb_sync_spin_loops = 0; +SELECT @@global.innodb_sync_spin_loops; +@@global.innodb_sync_spin_loops +0 +'#--------------------FN_DYNVARS_046_03------------------------#' +SET @@global.innodb_sync_spin_loops = 0; +SELECT @@global.innodb_sync_spin_loops; +@@global.innodb_sync_spin_loops +0 +SET @@global.innodb_sync_spin_loops = 1; +SELECT @@global.innodb_sync_spin_loops; +@@global.innodb_sync_spin_loops +1 +SET @@global.innodb_sync_spin_loops = 1000; +SELECT @@global.innodb_sync_spin_loops; +@@global.innodb_sync_spin_loops +1000 +'#--------------------FN_DYNVARS_046_04-------------------------#' +SET @@global.innodb_sync_spin_loops = -1; +Warnings: +Warning 1292 Truncated incorrect sync_spin_loops value: '18446744073709551615' +SELECT @@global.innodb_sync_spin_loops; +@@global.innodb_sync_spin_loops +4294967295 +SET @@global.innodb_sync_spin_loops = "T"; +ERROR 42000: Incorrect argument type to variable 'innodb_sync_spin_loops' +SELECT @@global.innodb_sync_spin_loops; +@@global.innodb_sync_spin_loops +4294967295 +SET @@global.innodb_sync_spin_loops = "Y"; +ERROR 42000: Incorrect argument type to variable 'innodb_sync_spin_loops' +SELECT @@global.innodb_sync_spin_loops; +@@global.innodb_sync_spin_loops +4294967295 +SET @@global.innodb_sync_spin_loops = 1001; +SELECT @@global.innodb_sync_spin_loops; +@@global.innodb_sync_spin_loops +1001 +'#----------------------FN_DYNVARS_046_05------------------------#' +SELECT @@global.innodb_sync_spin_loops = +VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_sync_spin_loops'; +@@global.innodb_sync_spin_loops = +VARIABLE_VALUE +1 +SELECT @@global.innodb_sync_spin_loops; +@@global.innodb_sync_spin_loops +1001 +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_sync_spin_loops'; +VARIABLE_VALUE +1001 +'#---------------------FN_DYNVARS_046_06-------------------------#' +SET @@global.innodb_sync_spin_loops = OFF; +ERROR 42000: Incorrect argument type to variable 'innodb_sync_spin_loops' +SELECT @@global.innodb_sync_spin_loops; +@@global.innodb_sync_spin_loops +1001 +SET @@global.innodb_sync_spin_loops = ON; +ERROR 42000: Incorrect argument type to variable 'innodb_sync_spin_loops' +SELECT @@global.innodb_sync_spin_loops; +@@global.innodb_sync_spin_loops +1001 +'#---------------------FN_DYNVARS_046_07----------------------#' +SET @@global.innodb_sync_spin_loops = TRUE; +SELECT @@global.innodb_sync_spin_loops; +@@global.innodb_sync_spin_loops +1 +SET @@global.innodb_sync_spin_loops = FALSE; +SELECT @@global.innodb_sync_spin_loops; +@@global.innodb_sync_spin_loops +0 +SET @@global.innodb_sync_spin_loops = @global_start_value; +SELECT @@global.innodb_sync_spin_loops; +@@global.innodb_sync_spin_loops +20 diff --git a/mysql-test/r/innodb_sync_spin_loops_basic_64.result b/mysql-test/r/innodb_sync_spin_loops_basic_64.result new file mode 100644 index 00000000000..1b99ad8e3db --- /dev/null +++ b/mysql-test/r/innodb_sync_spin_loops_basic_64.result @@ -0,0 +1,92 @@ +SET @global_start_value = @@global.innodb_sync_spin_loops; +SELECT @global_start_value; +@global_start_value +20 +'#--------------------FN_DYNVARS_046_01------------------------#' +SET @@global.innodb_sync_spin_loops = 0; +SET @@global.innodb_sync_spin_loops = DEFAULT; +SELECT @@global.innodb_sync_spin_loops; +@@global.innodb_sync_spin_loops +20 +'#---------------------FN_DYNVARS_046_02-------------------------#' +SET innodb_sync_spin_loops = 1; +ERROR HY000: Variable 'innodb_sync_spin_loops' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@innodb_sync_spin_loops; +@@innodb_sync_spin_loops +20 +SELECT local.innodb_sync_spin_loops; +ERROR 42S02: Unknown table 'local' in field list +SET global innodb_sync_spin_loops = 0; +SELECT @@global.innodb_sync_spin_loops; +@@global.innodb_sync_spin_loops +0 +'#--------------------FN_DYNVARS_046_03------------------------#' +SET @@global.innodb_sync_spin_loops = 0; +SELECT @@global.innodb_sync_spin_loops; +@@global.innodb_sync_spin_loops +0 +SET @@global.innodb_sync_spin_loops = 1; +SELECT @@global.innodb_sync_spin_loops; +@@global.innodb_sync_spin_loops +1 +SET @@global.innodb_sync_spin_loops = 1000; +SELECT @@global.innodb_sync_spin_loops; +@@global.innodb_sync_spin_loops +1000 +'#--------------------FN_DYNVARS_046_04-------------------------#' +SET @@global.innodb_sync_spin_loops = -1; +SELECT @@global.innodb_sync_spin_loops; +@@global.innodb_sync_spin_loops +18446744073709551615 +SET @@global.innodb_sync_spin_loops = "T"; +ERROR 42000: Incorrect argument type to variable 'innodb_sync_spin_loops' +SELECT @@global.innodb_sync_spin_loops; +@@global.innodb_sync_spin_loops +18446744073709551615 +SET @@global.innodb_sync_spin_loops = "Y"; +ERROR 42000: Incorrect argument type to variable 'innodb_sync_spin_loops' +SELECT @@global.innodb_sync_spin_loops; +@@global.innodb_sync_spin_loops +18446744073709551615 +SET @@global.innodb_sync_spin_loops = 1001; +SELECT @@global.innodb_sync_spin_loops; +@@global.innodb_sync_spin_loops +1001 +'#----------------------FN_DYNVARS_046_05------------------------#' +SELECT @@global.innodb_sync_spin_loops = +VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_sync_spin_loops'; +@@global.innodb_sync_spin_loops = +VARIABLE_VALUE +1 +SELECT @@global.innodb_sync_spin_loops; +@@global.innodb_sync_spin_loops +1001 +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_sync_spin_loops'; +VARIABLE_VALUE +1001 +'#---------------------FN_DYNVARS_046_06-------------------------#' +SET @@global.innodb_sync_spin_loops = OFF; +ERROR 42000: Incorrect argument type to variable 'innodb_sync_spin_loops' +SELECT @@global.innodb_sync_spin_loops; +@@global.innodb_sync_spin_loops +1001 +SET @@global.innodb_sync_spin_loops = ON; +ERROR 42000: Incorrect argument type to variable 'innodb_sync_spin_loops' +SELECT @@global.innodb_sync_spin_loops; +@@global.innodb_sync_spin_loops +1001 +'#---------------------FN_DYNVARS_046_07----------------------#' +SET @@global.innodb_sync_spin_loops = TRUE; +SELECT @@global.innodb_sync_spin_loops; +@@global.innodb_sync_spin_loops +1 +SET @@global.innodb_sync_spin_loops = FALSE; +SELECT @@global.innodb_sync_spin_loops; +@@global.innodb_sync_spin_loops +0 +SET @@global.innodb_sync_spin_loops = @global_start_value; +SELECT @@global.innodb_sync_spin_loops; +@@global.innodb_sync_spin_loops +20 diff --git a/mysql-test/r/innodb_table_locks_basic.result b/mysql-test/r/innodb_table_locks_basic.result new file mode 100644 index 00000000000..14aa995273b --- /dev/null +++ b/mysql-test/r/innodb_table_locks_basic.result @@ -0,0 +1,170 @@ +SET @session_start_value = @@session.innodb_table_locks; +SELECT @session_start_value; +@session_start_value +1 +SET @global_start_value = @@global.innodb_table_locks; +SELECT @global_start_value; +@global_start_value +1 +'#--------------------FN_DYNVARS_046_01------------------------#' +SET @@session.innodb_table_locks = 0; +SET @@session.innodb_table_locks = DEFAULT; +SELECT @@session.innodb_table_locks; +@@session.innodb_table_locks +1 +SET @@global.innodb_table_locks = 0; +SET @@global.innodb_table_locks = DEFAULT; +SELECT @@global.innodb_table_locks; +@@global.innodb_table_locks +1 +'#---------------------FN_DYNVARS_046_02-------------------------#' +SET innodb_table_locks = 1; +SELECT @@innodb_table_locks; +@@innodb_table_locks +1 +SELECT session.innodb_table_locks; +ERROR 42S02: Unknown table 'session' in field list +SELECT local.innodb_table_locks; +ERROR 42S02: Unknown table 'local' in field list +SELECT global.innodb_table_locks; +ERROR 42S02: Unknown table 'global' in field list +SET session innodb_table_locks = 0; +SELECT @@session.innodb_table_locks; +@@session.innodb_table_locks +0 +SET global innodb_table_locks = 0; +SELECT @@global.innodb_table_locks; +@@global.innodb_table_locks +0 +'#--------------------FN_DYNVARS_046_03------------------------#' +SET @@session.innodb_table_locks = 0; +SELECT @@session.innodb_table_locks; +@@session.innodb_table_locks +0 +SET @@session.innodb_table_locks = 1; +SELECT @@session.innodb_table_locks; +@@session.innodb_table_locks +1 +SET @@global.innodb_table_locks = 0; +SELECT @@global.innodb_table_locks; +@@global.innodb_table_locks +0 +SET @@global.innodb_table_locks = 1; +SELECT @@global.innodb_table_locks; +@@global.innodb_table_locks +1 +'#--------------------FN_DYNVARS_046_04-------------------------#' +SET @@session.innodb_table_locks = -6; +SET @@session.innodb_table_locks = 1.6; +ERROR 42000: Variable 'table_locks' can't be set to the value of '1.6' +SET @@session.innodb_table_locks = "T"; +ERROR 42000: Variable 'table_locks' can't be set to the value of 'T' +SET @@session.innodb_table_locks = "Y"; +ERROR 42000: Variable 'table_locks' can't be set to the value of 'Y' +SET @@session.innodb_table_locks = TRÜE; +ERROR 42000: Variable 'table_locks' can't be set to the value of 'TRÜE' +SET @@session.innodb_table_locks = ÕN; +ERROR 42000: Variable 'table_locks' can't be set to the value of 'ÕN' +SET @@session.innodb_table_locks = OF; +SELECT @@session.innodb_table_locks; +@@session.innodb_table_locks +0 +'Bug# 34828: OF is taken as OFF and a value of 0 is set.' +SET @@session.innodb_table_locks = ÓFF; +ERROR 42000: Variable 'table_locks' can't be set to the value of 'ÓFF' +SET @@global.innodb_table_locks = -1; +SET @@global.innodb_table_locks = 2; +ERROR 42000: Variable 'table_locks' can't be set to the value of '2' +SET @@global.innodb_table_locks = "T"; +ERROR 42000: Variable 'table_locks' can't be set to the value of 'T' +SET @@global.innodb_table_locks = "Y"; +ERROR 42000: Variable 'table_locks' can't be set to the value of 'Y' +SET @@global.innodb_table_locks = TRÜE; +ERROR 42000: Variable 'table_locks' can't be set to the value of 'TRÜE' +SET @@global.innodb_table_locks = QN; +ERROR 42000: Variable 'table_locks' can't be set to the value of 'QN' +SET @@global.innodb_table_locks = OF; +SELECT @@global.innodb_table_locks; +@@global.innodb_table_locks +0 +'Bug# 34828: OF is taken as OFF and a value of 0 is set.' +'#-------------------FN_DYNVARS_046_05----------------------------#' +SET @@global.innodb_table_locks = 0; +SET @@session.innodb_table_locks = 1; +SELECT @@global.innodb_table_locks AS res_is_0; +res_is_0 +0 +SET @@global.innodb_table_locks = 0; +SELECT @@session.innodb_table_locks AS res_is_1; +res_is_1 +1 +'#----------------------FN_DYNVARS_046_06------------------------#' +SELECT @@global.innodb_table_locks = +VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_table_locks'; +@@global.innodb_table_locks = +VARIABLE_VALUE +1 +SELECT @@global.innodb_table_locks; +@@global.innodb_table_locks +0 +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_table_locks'; +VARIABLE_VALUE +OFF +'#----------------------FN_DYNVARS_046_07------------------------#' +SELECT @@session.innodb_table_locks = +VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='innodb_table_locks'; +@@session.innodb_table_locks = +VARIABLE_VALUE +0 +SELECT @@session.innodb_table_locks; +@@session.innodb_table_locks +1 +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='innodb_table_locks'; +VARIABLE_VALUE +ON +'#---------------------FN_DYNVARS_046_08-------------------------#' +SET @@session.innodb_table_locks = OFF; +SELECT @@session.innodb_table_locks; +@@session.innodb_table_locks +0 +SET @@session.innodb_table_locks = ON; +SELECT @@session.innodb_table_locks; +@@session.innodb_table_locks +1 +SET @@global.innodb_table_locks = OFF; +SELECT @@global.innodb_table_locks; +@@global.innodb_table_locks +0 +SET @@global.innodb_table_locks = ON; +SELECT @@global.innodb_table_locks; +@@global.innodb_table_locks +1 +'#---------------------FN_DYNVARS_046_09----------------------#' +SET @@session.innodb_table_locks = TRUE; +SELECT @@session.innodb_table_locks; +@@session.innodb_table_locks +1 +SET @@session.innodb_table_locks = FALSE; +SELECT @@session.innodb_table_locks; +@@session.innodb_table_locks +0 +SET @@global.innodb_table_locks = TRUE; +SELECT @@global.innodb_table_locks; +@@global.innodb_table_locks +1 +SET @@global.innodb_table_locks = FALSE; +SELECT @@global.innodb_table_locks; +@@global.innodb_table_locks +0 +SET @@session.innodb_table_locks = @session_start_value; +SELECT @@session.innodb_table_locks; +@@session.innodb_table_locks +1 +SET @@global.innodb_table_locks = @global_start_value; +SELECT @@global.innodb_table_locks; +@@global.innodb_table_locks +1 diff --git a/mysql-test/r/innodb_table_locks_func.result b/mysql-test/r/innodb_table_locks_func.result new file mode 100644 index 00000000000..22a52ce17fd --- /dev/null +++ b/mysql-test/r/innodb_table_locks_func.result @@ -0,0 +1,32 @@ +'#--------------------FN_DYNVARS_048_01-------------------------#' +SET @@global.innodb_table_locks = OFF; +'connect (con1,localhost,root,,,,)' +'connection con1' +SELECT @@global.innodb_table_locks; +@@global.innodb_table_locks +0 +SELECT @@session.innodb_table_locks; +@@session.innodb_table_locks +0 +'#--------------------FN_DYNVARS_048_02-------------------------#' +'----check when innodb_table_locks = ON and autocommit = OFF---' +'connect (con2,localhost,root,,,,)' +'connection default' +DROP TABLE IF EXISTS t1; +CREATE TABLE t1 (a INT) ENGINE=INNODB; +SET @@autocommit = OFF; +SET @@innodb_table_locks = ON; +BEGIN; +INSERT INTO t1 VALUES(1); +SELECT * FROM t1 FOR UPDATE; +a +1 +'CONNECTION con2' +SET @@innodb_table_locks = ON; +SET @@autocommit = OFF; +LOCK TABLES t1 WRITE; +'CONNECTION default' +COMMIT; +'CONNECTION con2' +UNLOCK tables; +DROP TABLE t1; diff --git a/mysql-test/r/innodb_thread_concurrency_basic.result b/mysql-test/r/innodb_thread_concurrency_basic.result new file mode 100644 index 00000000000..65a79fecd97 --- /dev/null +++ b/mysql-test/r/innodb_thread_concurrency_basic.result @@ -0,0 +1,96 @@ +SET @global_start_value = @@global.innodb_thread_concurrency; +SELECT @global_start_value; +@global_start_value +8 +'#--------------------FN_DYNVARS_046_01------------------------#' +SET @@global.innodb_thread_concurrency = 0; +SET @@global.innodb_thread_concurrency = DEFAULT; +SELECT @@global.innodb_thread_concurrency; +@@global.innodb_thread_concurrency +8 +'#---------------------FN_DYNVARS_046_02-------------------------#' +SET innodb_thread_concurrency = 1; +ERROR HY000: Variable 'innodb_thread_concurrency' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@innodb_thread_concurrency; +@@innodb_thread_concurrency +8 +SELECT local.innodb_thread_concurrency; +ERROR 42S02: Unknown table 'local' in field list +SET global innodb_thread_concurrency = 0; +SELECT @@global.innodb_thread_concurrency; +@@global.innodb_thread_concurrency +0 +'#--------------------FN_DYNVARS_046_03------------------------#' +SET @@global.innodb_thread_concurrency = 0; +SELECT @@global.innodb_thread_concurrency; +@@global.innodb_thread_concurrency +0 +SET @@global.innodb_thread_concurrency = 1; +SELECT @@global.innodb_thread_concurrency; +@@global.innodb_thread_concurrency +1 +SET @@global.innodb_thread_concurrency = 1000; +SELECT @@global.innodb_thread_concurrency; +@@global.innodb_thread_concurrency +1000 +'#--------------------FN_DYNVARS_046_04-------------------------#' +SET @@global.innodb_thread_concurrency = -1; +Warnings: +Warning 1292 Truncated incorrect thread_concurrency value: '18446744073709551615' +SELECT @@global.innodb_thread_concurrency; +@@global.innodb_thread_concurrency +1000 +SET @@global.innodb_thread_concurrency = "T"; +ERROR 42000: Incorrect argument type to variable 'innodb_thread_concurrency' +SELECT @@global.innodb_thread_concurrency; +@@global.innodb_thread_concurrency +1000 +SET @@global.innodb_thread_concurrency = "Y"; +ERROR 42000: Incorrect argument type to variable 'innodb_thread_concurrency' +SELECT @@global.innodb_thread_concurrency; +@@global.innodb_thread_concurrency +1000 +SET @@global.innodb_thread_concurrency = 1001; +Warnings: +Warning 1292 Truncated incorrect thread_concurrency value: '1001' +SELECT @@global.innodb_thread_concurrency; +@@global.innodb_thread_concurrency +1000 +'#----------------------FN_DYNVARS_046_05------------------------#' +SELECT @@global.innodb_thread_concurrency = +VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_thread_concurrency'; +@@global.innodb_thread_concurrency = +VARIABLE_VALUE +1 +SELECT @@global.innodb_thread_concurrency; +@@global.innodb_thread_concurrency +1000 +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='innodb_thread_concurrency'; +VARIABLE_VALUE +1000 +'#---------------------FN_DYNVARS_046_06-------------------------#' +SET @@global.innodb_thread_concurrency = OFF; +ERROR 42000: Incorrect argument type to variable 'innodb_thread_concurrency' +SELECT @@global.innodb_thread_concurrency; +@@global.innodb_thread_concurrency +1000 +SET @@global.innodb_thread_concurrency = ON; +ERROR 42000: Incorrect argument type to variable 'innodb_thread_concurrency' +SELECT @@global.innodb_thread_concurrency; +@@global.innodb_thread_concurrency +1000 +'#---------------------FN_DYNVARS_046_07----------------------#' +SET @@global.innodb_thread_concurrency = TRUE; +SELECT @@global.innodb_thread_concurrency; +@@global.innodb_thread_concurrency +1 +SET @@global.innodb_thread_concurrency = FALSE; +SELECT @@global.innodb_thread_concurrency; +@@global.innodb_thread_concurrency +0 +SET @@global.innodb_thread_concurrency = @global_start_value; +SELECT @@global.innodb_thread_concurrency; +@@global.innodb_thread_concurrency +8 diff --git a/mysql-test/r/innodb_thread_sleep_delay_basic.result b/mysql-test/r/innodb_thread_sleep_delay_basic.result new file mode 100644 index 00000000000..979bfd930ca --- /dev/null +++ b/mysql-test/r/innodb_thread_sleep_delay_basic.result @@ -0,0 +1,84 @@ +SET @global_start_value = @@global.innodb_thread_sleep_delay; +SELECT @global_start_value; +@global_start_value +10000 +'#--------------------FN_DYNVARS_046_01------------------------#' +SET @@global.innodb_thread_sleep_delay = 0; +SET @@global.innodb_thread_sleep_delay = DEFAULT; +SELECT @@global.innodb_thread_sleep_delay; +@@global.innodb_thread_sleep_delay +10000 +'#---------------------FN_DYNVARS_046_02-------------------------#' +SET innodb_thread_sleep_delay = 1; +ERROR HY000: Variable 'innodb_thread_sleep_delay' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@innodb_thread_sleep_delay; +@@innodb_thread_sleep_delay +10000 +SELECT local.innodb_thread_sleep_delay; +ERROR 42S02: Unknown table 'local' in field list +SET global innodb_thread_sleep_delay = 0; +SELECT @@global.innodb_thread_sleep_delay; +@@global.innodb_thread_sleep_delay +0 +'#--------------------FN_DYNVARS_046_03------------------------#' +SET @@global.innodb_thread_sleep_delay = 0; +SELECT @@global.innodb_thread_sleep_delay; +@@global.innodb_thread_sleep_delay +0 +SET @@global.innodb_thread_sleep_delay = 1; +SELECT @@global.innodb_thread_sleep_delay; +@@global.innodb_thread_sleep_delay +1 +SET @@global.innodb_thread_sleep_delay = 4294967295; +SELECT @@global.innodb_thread_sleep_delay; +@@global.innodb_thread_sleep_delay +4294967295 +'#--------------------FN_DYNVARS_046_04-------------------------#' +SET @@global.innodb_thread_sleep_delay = -1; +SELECT @@global.innodb_autoextend_increment; +@@global.innodb_autoextend_increment +8 +SET @@global.innodb_thread_sleep_delay = "T"; +ERROR 42000: Incorrect argument type to variable 'innodb_thread_sleep_delay' +SELECT @@global.innodb_autoextend_increment; +@@global.innodb_autoextend_increment +8 +SET @@global.innodb_thread_sleep_delay = "Y"; +ERROR 42000: Incorrect argument type to variable 'innodb_thread_sleep_delay' +SELECT @@global.innodb_autoextend_increment; +@@global.innodb_autoextend_increment +8 +SET @@global.innodb_thread_sleep_delay = 1001; +SELECT @@global.innodb_autoextend_increment; +@@global.innodb_autoextend_increment +8 +'#----------------------FN_DYNVARS_046_05------------------------#' +SELECT @@global.innodb_thread_sleep_delay = VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_thread_sleep_delay'; +@@global.innodb_thread_sleep_delay = VARIABLE_VALUE +1 +SELECT @@global.innodb_thread_sleep_delay; +@@global.innodb_thread_sleep_delay +1001 +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_thread_sleep_delay'; +VARIABLE_VALUE +1001 +'#---------------------FN_DYNVARS_046_06-------------------------#' +SET @@global.innodb_thread_sleep_delay = OFF; +ERROR 42000: Incorrect argument type to variable 'innodb_thread_sleep_delay' +SELECT @@global.innodb_thread_sleep_delay; +@@global.innodb_thread_sleep_delay +1001 +SET @@global.innodb_thread_sleep_delay = ON; +ERROR 42000: Incorrect argument type to variable 'innodb_thread_sleep_delay' +SELECT @@global.innodb_thread_sleep_delay; +@@global.innodb_thread_sleep_delay +1001 +'#---------------------FN_DYNVARS_046_07----------------------#' +SET @@global.innodb_thread_sleep_delay = TRUE; +SELECT @@global.innodb_thread_sleep_delay; +@@global.innodb_thread_sleep_delay +1 +SET @@global.innodb_thread_sleep_delay = FALSE; +SELECT @@global.innodb_thread_sleep_delay; +@@global.innodb_thread_sleep_delay +0 diff --git a/mysql-test/r/insert_id_basic.result b/mysql-test/r/insert_id_basic.result new file mode 100644 index 00000000000..47dd759ff44 --- /dev/null +++ b/mysql-test/r/insert_id_basic.result @@ -0,0 +1,121 @@ +SET @start_value = @@session.insert_id; +SELECT @start_value; +@start_value +0 +'#--------------------FN_DYNVARS_051_01------------------------#' +SET @@session.insert_id = 99; +'Variable is giving error on assigning Default value'; +SELECT @@session.insert_id; +@@session.insert_id +99 +'#---------------------FN_DYNVARS_051_02-------------------------#' +SET @@session.insert_id = @start_value; +SELECT @@session.insert_id = 0; +@@session.insert_id = 0 +1 +'#--------------------FN_DYNVARS_051_03------------------------#' +SET @@session.insert_id = 0; +SELECT @@session.insert_id; +@@session.insert_id +0 +SET @@session.insert_id = 1099; +SELECT @@session.insert_id; +@@session.insert_id +1099 +SET @@session.insert_id = 1800; +SELECT @@session.insert_id; +@@session.insert_id +1800 +SET @@session.insert_id = 65535; +SELECT @@session.insert_id; +@@session.insert_id +65535 +'#--------------------FN_DYNVARS_051_04-------------------------#' +SET @@session.insert_id = -1; +SELECT @@session.insert_id; +@@session.insert_id +-1 +SET @@session.insert_id = 100000000000; +SELECT @@session.insert_id; +@@session.insert_id +100000000000 +SET @@session.insert_id = 10000.01; +ERROR 42000: Incorrect argument type to variable 'insert_id' +SELECT @@session.insert_id; +@@session.insert_id +100000000000 +SET @@session.insert_id = -1024; +SELECT @@session.insert_id; +@@session.insert_id +-1024 +SET @@session.insert_id = 42949672950; +SELECT @@session.insert_id; +@@session.insert_id +42949672950 +'Bug # 34837: Errors are not coming on assigning invalid values to variable' +SET @@session.insert_id = ON; +ERROR 42000: Incorrect argument type to variable 'insert_id' +SELECT @@session.insert_id; +@@session.insert_id +42949672950 +SET @@session.insert_id = 'test'; +ERROR 42000: Incorrect argument type to variable 'insert_id' +SELECT @@session.insert_id; +@@session.insert_id +42949672950 +'#-------------------FN_DYNVARS_051_05----------------------------#' +SET @@global.insert_id = 0; +ERROR HY000: Variable 'insert_id' is a SESSION variable and can't be used with SET GLOBAL +SELECT @@global.insert_id; +ERROR HY000: Variable 'insert_id' is a SESSION variable +'#----------------------FN_DYNVARS_051_06------------------------#' +SELECT @@global.insert_id = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='insert_id'; +ERROR HY000: Variable 'insert_id' is a SESSION variable +SELECT @@session.insert_id = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='insert_id'; +@@session.insert_id = VARIABLE_VALUE +1 +'#-------------------FN_DYNVARS_051_07----------------------------#' +SET @@global.insert_id = 0; +ERROR HY000: Variable 'insert_id' is a SESSION variable and can't be used with SET GLOBAL +SELECT @@global.insert_id; +ERROR HY000: Variable 'insert_id' is a SESSION variable +'#---------------------FN_DYNVARS_051_08----------------------#' +SET @@session.insert_id = TRUE; +SELECT @@session.insert_id; +@@session.insert_id +1 +SET @@session.insert_id = FALSE; +SELECT @@session.insert_id; +@@session.insert_id +0 +'#---------------------FN_DYNVARS_051_09----------------------#' +SET @@session.insert_id = 1; +SELECT @@insert_id = @@session.insert_id; +@@insert_id = @@session.insert_id +1 +SELECT @@session.insert_id = @@local.insert_id; +@@session.insert_id = @@local.insert_id +1 +'#---------------------FN_DYNVARS_051_10----------------------#' +SET insert_id = 1; +SELECT @@insert_id; +@@insert_id +1 +SET local.insert_id = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'insert_id = 1' at line 1 +SELECT local.insert_id; +ERROR 42S02: Unknown table 'local' in field list +SET session.insert_id = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'insert_id = 1' at line 1 +SELECT session.insert_id; +ERROR 42S02: Unknown table 'session' in field list +SELECT insert_id = @@session.insert_id; +ERROR 42S22: Unknown column 'insert_id' in 'field list' +SET @@session.insert_id = @start_value; +SELECT @@session.insert_id; +@@session.insert_id +0 diff --git a/mysql-test/r/insert_id_func.result b/mysql-test/r/insert_id_func.result new file mode 100644 index 00000000000..f03b3ea4851 --- /dev/null +++ b/mysql-test/r/insert_id_func.result @@ -0,0 +1,68 @@ +drop table if exists t1; +## Creating new table t1 ## +CREATE TABLE t1 +( +id INT NOT NULL auto_increment, +PRIMARY KEY (id), +name VARCHAR(30) +); +'#--------------------FN_DYNVARS_051_01-------------------------#' +## Setting value of variable to 100 ## +SET @@session.insert_id = 100; +SELECT @@session.insert_id; +@@session.insert_id +100 +## Inserting some rows in table ## +INSERT into t1(name) values('Record_1'); +INSERT into t1(name) values('Record_2'); +## Verifying rows in table ## +SELECT * from t1; +id name +100 Record_1 +101 Record_2 +SELECT @@session.insert_id; +@@session.insert_id +0 +INSERT into t1(name) values('Record_3'); +'#--------------------FN_DYNVARS_051_02-------------------------#' +## Creating & Connecting new connection test_con1 ## +## Setting value of insert_id to 50 ## +SET @@session.insert_id = 50; +SELECT @@session.insert_id; +@@session.insert_id +50 +## Inserting rows in table t1 ## +INSERT into t1(name) values('Record_4'); +INSERT into t1(name) values('Record_5'); +INSERT into t1(name) values('Record_6'); +SELECT * from t1; +id name +100 Record_1 +101 Record_2 +102 Record_3 +50 Record_4 +103 Record_5 +104 Record_6 +'Bug#35376 Value of insert_id automatically resets to 0 after inserting +' 1st row' +'#--------------------FN_DYNVARS_051_03-------------------------#' +## Creating and switching to new connection test_con2 ## +## Setting session value of variable to 25 ## +SET @@session.insert_id = 25; +## Inserting some rows in table ## +INSERT into t1(name) values('Record_7'); +INSERT into t1(name) values('Record_8'); +## Verifying data in table t1 ## +SELECT * from t1; +id name +100 Record_1 +101 Record_2 +102 Record_3 +50 Record_4 +103 Record_5 +104 Record_6 +25 Record_7 +105 Record_8 +## Dropping table t1 ## +drop table t1; +## Disconnecting connections ## diff --git a/mysql-test/r/interactive_timeout_basic.result b/mysql-test/r/interactive_timeout_basic.result new file mode 100644 index 00000000000..0777596db07 --- /dev/null +++ b/mysql-test/r/interactive_timeout_basic.result @@ -0,0 +1,164 @@ +SET @start_global_value = @@global.interactive_timeout; +SELECT @start_global_value; +@start_global_value +28800 +SET @start_session_value = @@session.interactive_timeout; +SELECT @start_session_value; +@start_session_value +28800 +'#--------------------FN_DYNVARS_052_01-------------------------#' +SET @@global.interactive_timeout = 100; +SET @@global.interactive_timeout = DEFAULT; +SELECT @@global.interactive_timeout; +@@global.interactive_timeout +28800 +SET @@session.interactive_timeout = 200; +SET @@session.interactive_timeout = DEFAULT; +SELECT @@session.interactive_timeout; +@@session.interactive_timeout +28800 +'#--------------------FN_DYNVARS_052_02-------------------------#' +SET @@global.interactive_timeout = DEFAULT; +SELECT @@global.interactive_timeout = 28800; +@@global.interactive_timeout = 28800 +1 +SET @@session.interactive_timeout = DEFAULT; +SELECT @@session.interactive_timeout = 28800; +@@session.interactive_timeout = 28800 +1 +'#--------------------FN_DYNVARS_052_03-------------------------#' +SET @@global.interactive_timeout = 1; +SELECT @@global.interactive_timeout; +@@global.interactive_timeout +1 +SET @@global.interactive_timeout = 60020; +SELECT @@global.interactive_timeout; +@@global.interactive_timeout +60020 +SET @@global.interactive_timeout = 65535; +SELECT @@global.interactive_timeout; +@@global.interactive_timeout +65535 +'#--------------------FN_DYNVARS_052_04-------------------------#' +SET @@session.interactive_timeout = 1; +SELECT @@session.interactive_timeout; +@@session.interactive_timeout +1 +SET @@session.interactive_timeout = 50050; +SELECT @@session.interactive_timeout; +@@session.interactive_timeout +50050 +SET @@session.interactive_timeout = 65535; +SELECT @@session.interactive_timeout; +@@session.interactive_timeout +65535 +'#------------------FN_DYNVARS_052_05-----------------------#' +SET @@global.interactive_timeout = 0; +Warnings: +Warning 1292 Truncated incorrect interactive_timeout value: '0' +SELECT @@global.interactive_timeout; +@@global.interactive_timeout +1 +SET @@global.interactive_timeout = -1024; +Warnings: +Warning 1292 Truncated incorrect interactive_timeout value: '0' +SELECT @@global.interactive_timeout; +@@global.interactive_timeout +1 +SET @@global.interactive_timeout = 1000000000; +Warnings: +Warning 1292 Truncated incorrect interactive_timeout value: '1000000000' +SELECT @@global.interactive_timeout; +@@global.interactive_timeout +31536000 +SET @@global.interactive_timeout = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.interactive_timeout; +@@global.interactive_timeout +31536000 +SET @@global.interactive_timeout = test; +ERROR 42000: Incorrect argument type to variable 'interactive_timeout' +SELECT @@global.interactive_timeout; +@@global.interactive_timeout +31536000 +SET @@session.interactive_timeout = 0; +Warnings: +Warning 1292 Truncated incorrect interactive_timeout value: '0' +SELECT @@session.interactive_timeout; +@@session.interactive_timeout +1 +SET @@session.interactive_timeout = -2; +Warnings: +Warning 1292 Truncated incorrect interactive_timeout value: '0' +SELECT @@session.interactive_timeout; +@@session.interactive_timeout +1 +SET @@session.interactive_timeout = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.interactive_timeout = 100000000; +Warnings: +Warning 1292 Truncated incorrect interactive_timeout value: '100000000' +SELECT @@session.interactive_timeout; +@@session.interactive_timeout +31536000 +'Bug # 34837: Errors are not coming on assigning invalid values to variable' +SET @@session.interactive_timeout = test; +ERROR 42000: Incorrect argument type to variable 'interactive_timeout' +SELECT @@session.interactive_timeout; +@@session.interactive_timeout +31536000 +'#------------------FN_DYNVARS_052_06-----------------------#' +SELECT @@global.interactive_timeout = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='interactive_timeout'; +@@global.interactive_timeout = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_052_07-----------------------#' +SELECT @@session.interactive_timeout = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='interactive_timeout'; +@@session.interactive_timeout = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_052_08-----------------------#' +SET @@global.interactive_timeout = TRUE; +SELECT @@global.interactive_timeout; +@@global.interactive_timeout +1 +SET @@global.interactive_timeout = FALSE; +Warnings: +Warning 1292 Truncated incorrect interactive_timeout value: '0' +SELECT @@global.interactive_timeout; +@@global.interactive_timeout +1 +'#---------------------FN_DYNVARS_052_09----------------------#' +SET @@global.interactive_timeout = 10; +SELECT @@interactive_timeout = @@global.interactive_timeout; +@@interactive_timeout = @@global.interactive_timeout +0 +'#---------------------FN_DYNVARS_052_10----------------------#' +SET @@interactive_timeout = 100; +SELECT @@interactive_timeout = @@local.interactive_timeout; +@@interactive_timeout = @@local.interactive_timeout +1 +SELECT @@local.interactive_timeout = @@session.interactive_timeout; +@@local.interactive_timeout = @@session.interactive_timeout +1 +'#---------------------FN_DYNVARS_052_11----------------------#' +SET interactive_timeout = 1; +SELECT @@interactive_timeout; +@@interactive_timeout +1 +SELECT local.interactive_timeout; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.interactive_timeout; +ERROR 42S02: Unknown table 'session' in field list +SELECT interactive_timeout = @@session.interactive_timeout; +ERROR 42S22: Unknown column 'interactive_timeout' in 'field list' +SET @@global.interactive_timeout = @start_global_value; +SELECT @@global.interactive_timeout; +@@global.interactive_timeout +28800 +SET @@session.interactive_timeout = @start_session_value; +SELECT @@session.interactive_timeout; +@@session.interactive_timeout +28800 diff --git a/mysql-test/r/interactive_timeout_func.result b/mysql-test/r/interactive_timeout_func.result new file mode 100644 index 00000000000..b97f7c90908 --- /dev/null +++ b/mysql-test/r/interactive_timeout_func.result @@ -0,0 +1,30 @@ +drop table if exists t1; +## Creating new table t1 ## +CREATE TABLE t1 +( +id INT NOT NULL auto_increment, +PRIMARY KEY (id), +name VARCHAR(30) +); +'#--------------------FN_DYNVARS_052_01-------------------------#' +## Setting initial value of variable to 1 ## +SET @@global.interactive_timeout = 1; +## Creating new interactive connection test_con1 ## +## Inserting record in table ## +INSERT into t1(name) values('Record_1'); +## Setting session value of interactive_timeout ## +SET @@session.interactive_timeout = 1; +## Verifying values of variable ## +SELECT @@session.interactive_timeout; +@@session.interactive_timeout +1 +SELECT @@global.interactive_timeout; +@@global.interactive_timeout +1 +## Using sleep to check timeout ## +SELECT * from t1; +id name +1 Record_1 +'Bug#35377: Error should appear here because interactive_timeout value'; +'is 1 and connection remains idle for 5 secs'; +INSERT into t1(name) values('Record_2'); diff --git a/mysql-test/r/is_embedded.require b/mysql-test/r/is_embedded.require new file mode 100644 index 00000000000..10594809fe7 --- /dev/null +++ b/mysql-test/r/is_embedded.require @@ -0,0 +1,2 @@ +have_embedded +1 diff --git a/mysql-test/r/join_buffer_size_basic_32.result b/mysql-test/r/join_buffer_size_basic_32.result new file mode 100644 index 00000000000..fc3061d2f59 --- /dev/null +++ b/mysql-test/r/join_buffer_size_basic_32.result @@ -0,0 +1,198 @@ +SET @start_global_value = @@global.join_buffer_size; +SELECT @start_global_value; +@start_global_value +131072 +SET @start_session_value = @@session.join_buffer_size; +SELECT @start_session_value; +@start_session_value +131072 +'#--------------------FN_DYNVARS_053_01-------------------------#' +SET @@global.join_buffer_size = 8200; +Warnings: +Warning 1292 Truncated incorrect join_buffer_size value: '8200' +SET @@global.join_buffer_size = DEFAULT; +SELECT @@global.join_buffer_size; +@@global.join_buffer_size +131072 +SET @@session.join_buffer_size = 8200; +Warnings: +Warning 1292 Truncated incorrect join_buffer_size value: '8200' +SET @@session.join_buffer_size = DEFAULT; +SELECT @@session.join_buffer_size; +@@session.join_buffer_size +131072 +'#--------------------FN_DYNVARS_053_02-------------------------#' +SET @@global.join_buffer_size = DEFAULT; +SELECT @@global.join_buffer_size = 131072; +@@global.join_buffer_size = 131072 +1 +SET @@session.join_buffer_size = DEFAULT; +SELECT @@session.join_buffer_size = 131072; +@@session.join_buffer_size = 131072 +1 +'#--------------------FN_DYNVARS_053_03-------------------------#' +SET @@global.join_buffer_size = 8200; +Warnings: +Warning 1292 Truncated incorrect join_buffer_size value: '8200' +SELECT @@global.join_buffer_size=8200 OR @@global.join_buffer_size= 8228; +@@global.join_buffer_size=8200 OR @@global.join_buffer_size= 8228 +1 +SET @@global.join_buffer_size = 65536; +SELECT @@global.join_buffer_size; +@@global.join_buffer_size +65536 +SET @@global.join_buffer_size = 4294967295; +SELECT @@global.join_buffer_size; +@@global.join_buffer_size +4294963200 +'Bug # 34837: Errors are not coming on assigning invalid values to variable' +'#--------------------FN_DYNVARS_053_04-------------------------#' +SET @@session.join_buffer_size = 8200; +Warnings: +Warning 1292 Truncated incorrect join_buffer_size value: '8200' +SELECT @@session.join_buffer_size=8200 OR @@session.join_buffer_size= 8228; +@@session.join_buffer_size=8200 OR @@session.join_buffer_size= 8228 +1 +SET @@session.join_buffer_size = 65536; +SELECT @@session.join_buffer_size; +@@session.join_buffer_size +65536 +SET @@session.join_buffer_size = 4294967295; +SELECT @@session.join_buffer_size; +@@session.join_buffer_size +4294963200 +'Bug # 34837: Errors are not coming on assigning invalid values to variable' +'#------------------FN_DYNVARS_053_05-----------------------#' +SET @@global.join_buffer_size = 0; +Warnings: +Warning 1292 Truncated incorrect join_buffer_size value: '0' +SELECT @@global.join_buffer_size=8200 OR @@global.join_buffer_size= 8228; +@@global.join_buffer_size=8200 OR @@global.join_buffer_size= 8228 +1 +SET @@global.join_buffer_size = -1024; +Warnings: +Warning 1292 Truncated incorrect join_buffer_size value: '0' +SELECT @@global.join_buffer_size=8200 OR @@global.join_buffer_size= 8228; +@@global.join_buffer_size=8200 OR @@global.join_buffer_size= 8228 +1 +SET @@global.join_buffer_size = 8199; +Warnings: +Warning 1292 Truncated incorrect join_buffer_size value: '8199' +SELECT @@global.join_buffer_size=8200 OR @@global.join_buffer_size= 8228; +@@global.join_buffer_size=8200 OR @@global.join_buffer_size= 8228 +1 +SET @@global.join_buffer_size = 42949672951; +Warnings: +Warning 1292 Truncated incorrect join_buffer_size value: '42949672951' +SELECT @@global.join_buffer_size; +@@global.join_buffer_size +4294963200 +SET @@global.join_buffer_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.join_buffer_size; +@@global.join_buffer_size +4294963200 +SET @@global.join_buffer_size = test; +ERROR 42000: Incorrect argument type to variable 'join_buffer_size' +SELECT @@global.join_buffer_size; +@@global.join_buffer_size +4294963200 +SET @@session.join_buffer_size = 0; +Warnings: +Warning 1292 Truncated incorrect join_buffer_size value: '0' +SELECT @@session.join_buffer_size=8200 OR @@session.join_buffer_size= 8228; +@@session.join_buffer_size=8200 OR @@session.join_buffer_size= 8228 +1 +SET @@session.join_buffer_size = -2; +Warnings: +Warning 1292 Truncated incorrect join_buffer_size value: '0' +SELECT @@session.join_buffer_size=8200 OR @@session.join_buffer_size= 8228; +@@session.join_buffer_size=8200 OR @@session.join_buffer_size= 8228 +1 +SET @@session.join_buffer_size = 8199; +Warnings: +Warning 1292 Truncated incorrect join_buffer_size value: '8199' +SELECT @@session.join_buffer_size=8200 OR @@session.join_buffer_size= 8228; +@@session.join_buffer_size=8200 OR @@session.join_buffer_size= 8228 +1 +SET @@session.join_buffer_size = 42949672951; +Warnings: +Warning 1292 Truncated incorrect join_buffer_size value: '42949672951' +SELECT @@session.join_buffer_size; +@@session.join_buffer_size +4294963200 +SET @@session.join_buffer_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@session.join_buffer_size; +@@session.join_buffer_size +4294963200 +'Bug # 34837: Errors are not coming on assigning invalid values to variable' +SET @@session.join_buffer_size = test; +ERROR 42000: Incorrect argument type to variable 'join_buffer_size' +SELECT @@session.join_buffer_size; +@@session.join_buffer_size +4294963200 +'#------------------FN_DYNVARS_053_06-----------------------#' +SELECT @@global.join_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='join_buffer_size'; +@@global.join_buffer_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_053_07-----------------------#' +SELECT @@session.join_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='join_buffer_size'; +@@session.join_buffer_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_053_08-----------------------#' +SET @@global.join_buffer_size = TRUE; +Warnings: +Warning 1292 Truncated incorrect join_buffer_size value: '1' +SELECT @@global.join_buffer_size=8200 OR @@global.join_buffer_size= 8228; +@@global.join_buffer_size=8200 OR @@global.join_buffer_size= 8228 +1 +SET @@global.join_buffer_size = FALSE; +Warnings: +Warning 1292 Truncated incorrect join_buffer_size value: '0' +SELECT @@global.join_buffer_size=8200 OR @@global.join_buffer_size= 8228; +@@global.join_buffer_size=8200 OR @@global.join_buffer_size= 8228 +1 +'Bug: Errors are not coming on assigning TRUE/FALSE to variable'; +'#---------------------FN_DYNVARS_001_09----------------------#' +SET @@global.join_buffer_size = 10; +Warnings: +Warning 1292 Truncated incorrect join_buffer_size value: '10' +SELECT @@join_buffer_size = @@global.join_buffer_size; +@@join_buffer_size = @@global.join_buffer_size +0 +'#---------------------FN_DYNVARS_001_10----------------------#' +SET @@join_buffer_size = 100; +Warnings: +Warning 1292 Truncated incorrect join_buffer_size value: '100' +SELECT @@join_buffer_size = @@local.join_buffer_size; +@@join_buffer_size = @@local.join_buffer_size +1 +SELECT @@local.join_buffer_size = @@session.join_buffer_size; +@@local.join_buffer_size = @@session.join_buffer_size +1 +'#---------------------FN_DYNVARS_001_11----------------------#' +SET join_buffer_size = 1; +Warnings: +Warning 1292 Truncated incorrect join_buffer_size value: '1' +SELECT @@join_buffer_size=8200 OR @@join_buffer_size= 8228; +@@join_buffer_size=8200 OR @@join_buffer_size= 8228 +1 +SELECT local.join_buffer_size; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.join_buffer_size; +ERROR 42S02: Unknown table 'session' in field list +SELECT join_buffer_size = @@session.join_buffer_size; +ERROR 42S22: Unknown column 'join_buffer_size' in 'field list' +SET @@global.join_buffer_size = @start_global_value; +SELECT @@global.join_buffer_size; +@@global.join_buffer_size +131072 +SET @@session.join_buffer_size = @start_session_value; +SELECT @@session.join_buffer_size; +@@session.join_buffer_size +131072 diff --git a/mysql-test/r/join_buffer_size_basic_64.result b/mysql-test/r/join_buffer_size_basic_64.result new file mode 100644 index 00000000000..ed652af67d2 --- /dev/null +++ b/mysql-test/r/join_buffer_size_basic_64.result @@ -0,0 +1,194 @@ +SET @start_global_value = @@global.join_buffer_size; +SELECT @start_global_value; +@start_global_value +131072 +SET @start_session_value = @@session.join_buffer_size; +SELECT @start_session_value; +@start_session_value +131072 +'#--------------------FN_DYNVARS_053_01-------------------------#' +SET @@global.join_buffer_size = 8200; +Warnings: +Warning 1292 Truncated incorrect join_buffer_size value: '8200' +SET @@global.join_buffer_size = DEFAULT; +SELECT @@global.join_buffer_size; +@@global.join_buffer_size +131072 +SET @@session.join_buffer_size = 8200; +Warnings: +Warning 1292 Truncated incorrect join_buffer_size value: '8200' +SET @@session.join_buffer_size = DEFAULT; +SELECT @@session.join_buffer_size; +@@session.join_buffer_size +131072 +'#--------------------FN_DYNVARS_053_02-------------------------#' +SET @@global.join_buffer_size = DEFAULT; +SELECT @@global.join_buffer_size = 131072; +@@global.join_buffer_size = 131072 +1 +SET @@session.join_buffer_size = DEFAULT; +SELECT @@session.join_buffer_size = 131072; +@@session.join_buffer_size = 131072 +1 +'#--------------------FN_DYNVARS_053_03-------------------------#' +SET @@global.join_buffer_size = 8200; +Warnings: +Warning 1292 Truncated incorrect join_buffer_size value: '8200' +SELECT @@global.join_buffer_size=8200 OR @@global.join_buffer_size= 8228; +@@global.join_buffer_size=8200 OR @@global.join_buffer_size= 8228 +1 +SET @@global.join_buffer_size = 65536; +SELECT @@global.join_buffer_size; +@@global.join_buffer_size +65536 +SET @@global.join_buffer_size = 4294967295; +SELECT @@global.join_buffer_size; +@@global.join_buffer_size +4294963200 +'Bug # 34837: Errors are not coming on assigning invalid values to variable' +'#--------------------FN_DYNVARS_053_04-------------------------#' +SET @@session.join_buffer_size = 8200; +Warnings: +Warning 1292 Truncated incorrect join_buffer_size value: '8200' +SELECT @@session.join_buffer_size=8200 OR @@session.join_buffer_size= 8228; +@@session.join_buffer_size=8200 OR @@session.join_buffer_size= 8228 +1 +SET @@session.join_buffer_size = 65536; +SELECT @@session.join_buffer_size; +@@session.join_buffer_size +65536 +SET @@session.join_buffer_size = 4294967295; +SELECT @@session.join_buffer_size; +@@session.join_buffer_size +4294963200 +'Bug # 34837: Errors are not coming on assigning invalid values to variable' +'#------------------FN_DYNVARS_053_05-----------------------#' +SET @@global.join_buffer_size = 0; +Warnings: +Warning 1292 Truncated incorrect join_buffer_size value: '0' +SELECT @@global.join_buffer_size=8200 OR @@global.join_buffer_size= 8228; +@@global.join_buffer_size=8200 OR @@global.join_buffer_size= 8228 +1 +SET @@global.join_buffer_size = -1024; +Warnings: +Warning 1292 Truncated incorrect join_buffer_size value: '0' +SELECT @@global.join_buffer_size=8200 OR @@global.join_buffer_size= 8228; +@@global.join_buffer_size=8200 OR @@global.join_buffer_size= 8228 +1 +SET @@global.join_buffer_size = 8199; +Warnings: +Warning 1292 Truncated incorrect join_buffer_size value: '8199' +SELECT @@global.join_buffer_size=8200 OR @@global.join_buffer_size= 8228; +@@global.join_buffer_size=8200 OR @@global.join_buffer_size= 8228 +1 +SET @@global.join_buffer_size = 42949672951; +SELECT @@global.join_buffer_size; +@@global.join_buffer_size +42949668864 +SET @@global.join_buffer_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.join_buffer_size; +@@global.join_buffer_size +42949668864 +SET @@global.join_buffer_size = test; +ERROR 42000: Incorrect argument type to variable 'join_buffer_size' +SELECT @@global.join_buffer_size; +@@global.join_buffer_size +42949668864 +SET @@session.join_buffer_size = 0; +Warnings: +Warning 1292 Truncated incorrect join_buffer_size value: '0' +SELECT @@session.join_buffer_size=8200 OR @@session.join_buffer_size= 8228; +@@session.join_buffer_size=8200 OR @@session.join_buffer_size= 8228 +1 +SET @@session.join_buffer_size = -2; +Warnings: +Warning 1292 Truncated incorrect join_buffer_size value: '0' +SELECT @@session.join_buffer_size=8200 OR @@session.join_buffer_size= 8228; +@@session.join_buffer_size=8200 OR @@session.join_buffer_size= 8228 +1 +SET @@session.join_buffer_size = 8199; +Warnings: +Warning 1292 Truncated incorrect join_buffer_size value: '8199' +SELECT @@session.join_buffer_size=8200 OR @@session.join_buffer_size= 8228; +@@session.join_buffer_size=8200 OR @@session.join_buffer_size= 8228 +1 +SET @@session.join_buffer_size = 42949672951; +SELECT @@session.join_buffer_size; +@@session.join_buffer_size +42949668864 +SET @@session.join_buffer_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@session.join_buffer_size; +@@session.join_buffer_size +42949668864 +'Bug # 34837: Errors are not coming on assigning invalid values to variable' +SET @@session.join_buffer_size = test; +ERROR 42000: Incorrect argument type to variable 'join_buffer_size' +SELECT @@session.join_buffer_size; +@@session.join_buffer_size +42949668864 +'#------------------FN_DYNVARS_053_06-----------------------#' +SELECT @@global.join_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='join_buffer_size'; +@@global.join_buffer_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_053_07-----------------------#' +SELECT @@session.join_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='join_buffer_size'; +@@session.join_buffer_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_053_08-----------------------#' +SET @@global.join_buffer_size = TRUE; +Warnings: +Warning 1292 Truncated incorrect join_buffer_size value: '1' +SELECT @@global.join_buffer_size=8200 OR @@global.join_buffer_size= 8228; +@@global.join_buffer_size=8200 OR @@global.join_buffer_size= 8228 +1 +SET @@global.join_buffer_size = FALSE; +Warnings: +Warning 1292 Truncated incorrect join_buffer_size value: '0' +SELECT @@global.join_buffer_size=8200 OR @@global.join_buffer_size= 8228; +@@global.join_buffer_size=8200 OR @@global.join_buffer_size= 8228 +1 +'Bug: Errors are not coming on assigning TRUE/FALSE to variable'; +'#---------------------FN_DYNVARS_001_09----------------------#' +SET @@global.join_buffer_size = 10; +Warnings: +Warning 1292 Truncated incorrect join_buffer_size value: '10' +SELECT @@join_buffer_size = @@global.join_buffer_size; +@@join_buffer_size = @@global.join_buffer_size +0 +'#---------------------FN_DYNVARS_001_10----------------------#' +SET @@join_buffer_size = 100; +Warnings: +Warning 1292 Truncated incorrect join_buffer_size value: '100' +SELECT @@join_buffer_size = @@local.join_buffer_size; +@@join_buffer_size = @@local.join_buffer_size +1 +SELECT @@local.join_buffer_size = @@session.join_buffer_size; +@@local.join_buffer_size = @@session.join_buffer_size +1 +'#---------------------FN_DYNVARS_001_11----------------------#' +SET join_buffer_size = 1; +Warnings: +Warning 1292 Truncated incorrect join_buffer_size value: '1' +SELECT @@join_buffer_size=8200 OR @@join_buffer_size= 8228; +@@join_buffer_size=8200 OR @@join_buffer_size= 8228 +1 +SELECT local.join_buffer_size; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.join_buffer_size; +ERROR 42S02: Unknown table 'session' in field list +SELECT join_buffer_size = @@session.join_buffer_size; +ERROR 42S22: Unknown column 'join_buffer_size' in 'field list' +SET @@global.join_buffer_size = @start_global_value; +SELECT @@global.join_buffer_size; +@@global.join_buffer_size +131072 +SET @@session.join_buffer_size = @start_session_value; +SELECT @@session.join_buffer_size; +@@session.join_buffer_size +131072 diff --git a/mysql-test/r/join_outer_innodb.result b/mysql-test/r/join_outer_innodb.result index 24a11b12b03..e8a2d6f668b 100644 --- a/mysql-test/r/join_outer_innodb.result +++ b/mysql-test/r/join_outer_innodb.result @@ -8,12 +8,12 @@ EXPLAIN SELECT COUNT(*) FROM t2 LEFT JOIN t1 ON t2.fkey = t1.id WHERE t1.name LIKE 'A%'; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 index PRIMARY,name PRIMARY 4 NULL 3 Using where +1 SIMPLE t1 index PRIMARY,name name 23 NULL 3 Using where; Using index 1 SIMPLE t2 ref fkey fkey 5 test.t1.id 1 Using where; Using index EXPLAIN SELECT COUNT(*) FROM t2 LEFT JOIN t1 ON t2.fkey = t1.id WHERE t1.name LIKE 'A%' OR FALSE; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t2 index NULL PRIMARY 4 NULL 5 +1 SIMPLE t2 index NULL fkey 5 NULL 5 Using index 1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.fkey 1 Using where DROP TABLE t1,t2; diff --git a/mysql-test/r/keep_files_on_create_basic.result b/mysql-test/r/keep_files_on_create_basic.result new file mode 100644 index 00000000000..f782ee3b078 --- /dev/null +++ b/mysql-test/r/keep_files_on_create_basic.result @@ -0,0 +1,166 @@ +SET @start_global_value = @@global.keep_files_on_create; +SELECT @start_global_value; +@start_global_value +0 +SET @start_session_value = @@session.keep_files_on_create; +SELECT @start_session_value; +@start_session_value +0 +'#--------------------FN_DYNVARS_054_01-------------------------#' +SET @@global.keep_files_on_create = ON; +SET @@global.keep_files_on_create = DEFAULT; +SELECT @@global.keep_files_on_create; +@@global.keep_files_on_create +0 +SET @@session.keep_files_on_create = ON; +SET @@session.keep_files_on_create = DEFAULT; +SELECT @@session.keep_files_on_create; +@@session.keep_files_on_create +0 +'#--------------------FN_DYNVARS_054_02-------------------------#' +SET @@global.keep_files_on_create = DEFAULT; +SELECT @@global.keep_files_on_create = 'OFF'; +@@global.keep_files_on_create = 'OFF' +1 +Warnings: +Warning 1292 Truncated incorrect DOUBLE value: 'OFF' +SET @@session.keep_files_on_create = DEFAULT; +SELECT @@session.keep_files_on_create = 'OFF'; +@@session.keep_files_on_create = 'OFF' +1 +Warnings: +Warning 1292 Truncated incorrect DOUBLE value: 'OFF' +'#--------------------FN_DYNVARS_054_03-------------------------#' +SET @@global.keep_files_on_create = ON; +SELECT @@global.keep_files_on_create; +@@global.keep_files_on_create +1 +SET @@global.keep_files_on_create = OFF; +SELECT @@global.keep_files_on_create; +@@global.keep_files_on_create +0 +SET @@global.keep_files_on_create = 0; +SELECT @@global.keep_files_on_create; +@@global.keep_files_on_create +0 +SET @@global.keep_files_on_create = 1; +SELECT @@global.keep_files_on_create; +@@global.keep_files_on_create +1 +SET @@global.keep_files_on_create = TRUE; +SELECT @@global.keep_files_on_create; +@@global.keep_files_on_create +1 +SET @@global.keep_files_on_create = FALSE; +SELECT @@global.keep_files_on_create; +@@global.keep_files_on_create +0 +'#--------------------FN_DYNVARS_054_04-------------------------#' +SET @@session.keep_files_on_create = ON; +SELECT @@session.keep_files_on_create; +@@session.keep_files_on_create +1 +SET @@session.keep_files_on_create = OFF; +SELECT @@session.keep_files_on_create; +@@session.keep_files_on_create +0 +SET @@session.keep_files_on_create = 0; +SELECT @@session.keep_files_on_create; +@@session.keep_files_on_create +0 +SET @@session.keep_files_on_create = 1; +SELECT @@session.keep_files_on_create; +@@session.keep_files_on_create +1 +SET @@session.keep_files_on_create = TRUE; +SELECT @@session.keep_files_on_create; +@@session.keep_files_on_create +1 +SET @@session.keep_files_on_create = FALSE; +SELECT @@session.keep_files_on_create; +@@session.keep_files_on_create +0 +'#------------------FN_DYNVARS_054_05-----------------------#' +SET @@global.keep_files_on_create = 'ONN'; +ERROR 42000: Variable 'keep_files_on_create' can't be set to the value of 'ONN' +SET @@global.keep_files_on_create = "OFFF"; +ERROR 42000: Variable 'keep_files_on_create' can't be set to the value of 'OFFF' +SET @@global.keep_files_on_create = TTRUE; +ERROR 42000: Variable 'keep_files_on_create' can't be set to the value of 'TTRUE' +SET @@global.keep_files_on_create = FELSE; +ERROR 42000: Variable 'keep_files_on_create' can't be set to the value of 'FELSE' +SET @@global.keep_files_on_create = -1024; +ERROR 42000: Variable 'keep_files_on_create' can't be set to the value of '-1024' +SET @@global.keep_files_on_create = 65536; +ERROR 42000: Variable 'keep_files_on_create' can't be set to the value of '65536' +SET @@global.keep_files_on_create = 65530.34; +ERROR 42000: Variable 'keep_files_on_create' can't be set to the value of '65530' +SET @@global.keep_files_on_create = test; +ERROR 42000: Variable 'keep_files_on_create' can't be set to the value of 'test' +SET @@session.keep_files_on_create = ONN; +ERROR 42000: Variable 'keep_files_on_create' can't be set to the value of 'ONN' +SET @@session.keep_files_on_create = ONF; +ERROR 42000: Variable 'keep_files_on_create' can't be set to the value of 'ONF' +SET @@session.keep_files_on_create = OF; +SELECT @@session.keep_files_on_create; +@@session.keep_files_on_create +0 +'Bug# 34828: FN_DYNVARS_054_05 - OF is also working as OFF and no error is coming'; +SET @@session.keep_files_on_create = 'OFN'; +ERROR 42000: Variable 'keep_files_on_create' can't be set to the value of 'OFN' +SET @@session.keep_files_on_create = -2; +ERROR 42000: Variable 'keep_files_on_create' can't be set to the value of '-2' +SET @@session.keep_files_on_create = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.keep_files_on_create = 65550; +ERROR 42000: Variable 'keep_files_on_create' can't be set to the value of '65550' +SET @@session.keep_files_on_create = test; +ERROR 42000: Variable 'keep_files_on_create' can't be set to the value of 'test' +SELECT @@session.keep_files_on_create; +@@session.keep_files_on_create +0 +'#------------------FN_DYNVARS_054_06-----------------------#' +SELECT @@global.keep_files_on_create = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='keep_files_on_create'; +@@global.keep_files_on_create = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_054_07-----------------------#' +SELECT @@session.keep_files_on_create = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='keep_files_on_create'; +@@session.keep_files_on_create = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_001_08----------------------#' +SET @@keep_files_on_create = OFF; +SET @@global.keep_files_on_create = ON; +SELECT @@keep_files_on_create = @@global.keep_files_on_create; +@@keep_files_on_create = @@global.keep_files_on_create +0 +'#---------------------FN_DYNVARS_001_09----------------------#' +SET @@keep_files_on_create = ON; +SELECT @@keep_files_on_create = @@local.keep_files_on_create; +@@keep_files_on_create = @@local.keep_files_on_create +1 +SELECT @@local.keep_files_on_create = @@session.keep_files_on_create; +@@local.keep_files_on_create = @@session.keep_files_on_create +1 +'#---------------------FN_DYNVARS_001_10----------------------#' +SET keep_files_on_create = 1; +SELECT @@keep_files_on_create; +@@keep_files_on_create +1 +SELECT local.keep_files_on_create; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.keep_files_on_create; +ERROR 42S02: Unknown table 'session' in field list +SELECT keep_files_on_create = @@session.keep_files_on_create; +ERROR 42S22: Unknown column 'keep_files_on_create' in 'field list' +SET @@global.keep_files_on_create = @start_global_value; +SELECT @@global.keep_files_on_create; +@@global.keep_files_on_create +0 +SET @@session.keep_files_on_create = @start_session_value; +SELECT @@session.keep_files_on_create; +@@session.keep_files_on_create +0 diff --git a/mysql-test/r/key_buffer_size_basic_32.result b/mysql-test/r/key_buffer_size_basic_32.result new file mode 100644 index 00000000000..981988a1d4d --- /dev/null +++ b/mysql-test/r/key_buffer_size_basic_32.result @@ -0,0 +1,111 @@ +SET @start_value = @@global.key_buffer_size; +SELECT @start_value; +@start_value +1048576 +'#--------------------FN_DYNVARS_055_01------------------------#' +SET @@global.key_buffer_size = 99; +SET @@global.key_buffer_size = DEFAULT; +ERROR 42000: Variable 'key_buffer_size' doesn't have a default value +'Bug# 34878: This variable has default value according to documentation'; +SELECT @@global.key_buffer_size = @min_key_buffer_size; +@@global.key_buffer_size = @min_key_buffer_size +1 +'#---------------------FN_DYNVARS_055_02-------------------------#' +SET @@global.key_buffer_size = @start_value; +SELECT @@global.key_buffer_size = @start_value; +@@global.key_buffer_size = @start_value +1 +'#--------------------FN_DYNVARS_055_03------------------------#' +SET @@global.key_buffer_size = @min_key_buffer_size; +SELECT @@global.key_buffer_size= @min_key_buffer_size; +@@global.key_buffer_size= @min_key_buffer_size +1 +SET @@global.key_buffer_size = 1800; +Warnings: +Warning 1292 Truncated incorrect key_buffer_size value: '1800' +SELECT @@global.key_buffer_size = @min_key_buffer_size; +@@global.key_buffer_size = @min_key_buffer_size +1 +SET @@global.key_buffer_size = 65535; +SELECT @@global.key_buffer_size; +@@global.key_buffer_size +61440 +'Bug # 34837: Errors are not coming on assigning invalid values to variable' +'#--------------------FN_DYNVARS_055_04-------------------------#' +SET @@global.key_buffer_size = 10000.01; +ERROR 42000: Incorrect argument type to variable 'key_buffer_size' +SELECT @@global.key_buffer_size; +@@global.key_buffer_size +61440 +SET @@global.key_buffer_size = 4; +Warnings: +Warning 1292 Truncated incorrect key_buffer_size value: '4' +SELECT @@global.key_buffer_size = @min_key_buffer_size; +@@global.key_buffer_size = @min_key_buffer_size +1 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@global.key_buffer_size = ON; +ERROR 42000: Incorrect argument type to variable 'key_buffer_size' +SELECT @@global.key_buffer_size = @min_key_buffer_size; +@@global.key_buffer_size = @min_key_buffer_size +1 +SET @@global.key_buffer_size = 'test'; +ERROR 42000: Incorrect argument type to variable 'key_buffer_size' +SELECT @@global.key_buffer_size = @min_key_buffer_size; +@@global.key_buffer_size = @min_key_buffer_size +1 +'#-------------------FN_DYNVARS_055_05----------------------------#' +SET @@session.key_buffer_size = 0; +ERROR HY000: Variable 'key_buffer_size' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@key_buffer_size = @min_key_buffer_size; +@@key_buffer_size = @min_key_buffer_size +1 +'#----------------------FN_DYNVARS_055_06------------------------#' +SELECT @@global.key_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='key_buffer_size'; +@@global.key_buffer_size = VARIABLE_VALUE +1 +SELECT @@key_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='key_buffer_size'; +@@key_buffer_size = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_055_07----------------------#' +SET @@global.key_buffer_size = TRUE; +Warnings: +Warning 1292 Truncated incorrect key_buffer_size value: '1' +SELECT @@global.key_buffer_size = @min_key_buffer_size; +@@global.key_buffer_size = @min_key_buffer_size +1 +SET @@global.key_buffer_size = FALSE; +Warnings: +Warning 1438 Cannot drop default keycache +SELECT @@global.key_buffer_size = @min_key_buffer_size; +@@global.key_buffer_size = @min_key_buffer_size +1 +'#---------------------FN_DYNVARS_055_08----------------------#' +SET @@global.key_buffer_size = @min_key_buffer_size; +SELECT @@key_buffer_size = @@global.key_buffer_size; +@@key_buffer_size = @@global.key_buffer_size +1 +'#---------------------FN_DYNVARS_055_09----------------------#' +SET key_buffer_size = @min_key_buffer_size; +ERROR HY000: Variable 'key_buffer_size' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@key_buffer_size = @min_key_buffer_size; +@@key_buffer_size = @min_key_buffer_size +1 +SET local.key_buffer_size = 10; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key_buffer_size = 10' at line 1 +SELECT local.key_buffer_size; +ERROR 42S02: Unknown table 'local' in field list +SET global.key_buffer_size = 10; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key_buffer_size = 10' at line 1 +SELECT global.key_buffer_size; +ERROR 42S02: Unknown table 'global' in field list +SELECT key_buffer_size = @@session.key_buffer_size; +ERROR 42S22: Unknown column 'key_buffer_size' in 'field list' +SET @@global.key_buffer_size = @start_value; +SELECT @@global.key_buffer_size; +@@global.key_buffer_size +1048576 diff --git a/mysql-test/r/key_buffer_size_basic_64.result b/mysql-test/r/key_buffer_size_basic_64.result new file mode 100644 index 00000000000..981988a1d4d --- /dev/null +++ b/mysql-test/r/key_buffer_size_basic_64.result @@ -0,0 +1,111 @@ +SET @start_value = @@global.key_buffer_size; +SELECT @start_value; +@start_value +1048576 +'#--------------------FN_DYNVARS_055_01------------------------#' +SET @@global.key_buffer_size = 99; +SET @@global.key_buffer_size = DEFAULT; +ERROR 42000: Variable 'key_buffer_size' doesn't have a default value +'Bug# 34878: This variable has default value according to documentation'; +SELECT @@global.key_buffer_size = @min_key_buffer_size; +@@global.key_buffer_size = @min_key_buffer_size +1 +'#---------------------FN_DYNVARS_055_02-------------------------#' +SET @@global.key_buffer_size = @start_value; +SELECT @@global.key_buffer_size = @start_value; +@@global.key_buffer_size = @start_value +1 +'#--------------------FN_DYNVARS_055_03------------------------#' +SET @@global.key_buffer_size = @min_key_buffer_size; +SELECT @@global.key_buffer_size= @min_key_buffer_size; +@@global.key_buffer_size= @min_key_buffer_size +1 +SET @@global.key_buffer_size = 1800; +Warnings: +Warning 1292 Truncated incorrect key_buffer_size value: '1800' +SELECT @@global.key_buffer_size = @min_key_buffer_size; +@@global.key_buffer_size = @min_key_buffer_size +1 +SET @@global.key_buffer_size = 65535; +SELECT @@global.key_buffer_size; +@@global.key_buffer_size +61440 +'Bug # 34837: Errors are not coming on assigning invalid values to variable' +'#--------------------FN_DYNVARS_055_04-------------------------#' +SET @@global.key_buffer_size = 10000.01; +ERROR 42000: Incorrect argument type to variable 'key_buffer_size' +SELECT @@global.key_buffer_size; +@@global.key_buffer_size +61440 +SET @@global.key_buffer_size = 4; +Warnings: +Warning 1292 Truncated incorrect key_buffer_size value: '4' +SELECT @@global.key_buffer_size = @min_key_buffer_size; +@@global.key_buffer_size = @min_key_buffer_size +1 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@global.key_buffer_size = ON; +ERROR 42000: Incorrect argument type to variable 'key_buffer_size' +SELECT @@global.key_buffer_size = @min_key_buffer_size; +@@global.key_buffer_size = @min_key_buffer_size +1 +SET @@global.key_buffer_size = 'test'; +ERROR 42000: Incorrect argument type to variable 'key_buffer_size' +SELECT @@global.key_buffer_size = @min_key_buffer_size; +@@global.key_buffer_size = @min_key_buffer_size +1 +'#-------------------FN_DYNVARS_055_05----------------------------#' +SET @@session.key_buffer_size = 0; +ERROR HY000: Variable 'key_buffer_size' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@key_buffer_size = @min_key_buffer_size; +@@key_buffer_size = @min_key_buffer_size +1 +'#----------------------FN_DYNVARS_055_06------------------------#' +SELECT @@global.key_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='key_buffer_size'; +@@global.key_buffer_size = VARIABLE_VALUE +1 +SELECT @@key_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='key_buffer_size'; +@@key_buffer_size = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_055_07----------------------#' +SET @@global.key_buffer_size = TRUE; +Warnings: +Warning 1292 Truncated incorrect key_buffer_size value: '1' +SELECT @@global.key_buffer_size = @min_key_buffer_size; +@@global.key_buffer_size = @min_key_buffer_size +1 +SET @@global.key_buffer_size = FALSE; +Warnings: +Warning 1438 Cannot drop default keycache +SELECT @@global.key_buffer_size = @min_key_buffer_size; +@@global.key_buffer_size = @min_key_buffer_size +1 +'#---------------------FN_DYNVARS_055_08----------------------#' +SET @@global.key_buffer_size = @min_key_buffer_size; +SELECT @@key_buffer_size = @@global.key_buffer_size; +@@key_buffer_size = @@global.key_buffer_size +1 +'#---------------------FN_DYNVARS_055_09----------------------#' +SET key_buffer_size = @min_key_buffer_size; +ERROR HY000: Variable 'key_buffer_size' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@key_buffer_size = @min_key_buffer_size; +@@key_buffer_size = @min_key_buffer_size +1 +SET local.key_buffer_size = 10; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key_buffer_size = 10' at line 1 +SELECT local.key_buffer_size; +ERROR 42S02: Unknown table 'local' in field list +SET global.key_buffer_size = 10; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key_buffer_size = 10' at line 1 +SELECT global.key_buffer_size; +ERROR 42S02: Unknown table 'global' in field list +SELECT key_buffer_size = @@session.key_buffer_size; +ERROR 42S22: Unknown column 'key_buffer_size' in 'field list' +SET @@global.key_buffer_size = @start_value; +SELECT @@global.key_buffer_size; +@@global.key_buffer_size +1048576 diff --git a/mysql-test/r/key_buffer_size_func.result b/mysql-test/r/key_buffer_size_func.result new file mode 100644 index 00000000000..e2eff04f030 --- /dev/null +++ b/mysql-test/r/key_buffer_size_func.result @@ -0,0 +1,36 @@ +drop table if exists t1; +## Creating new table t1 ## +CREATE TABLE t1 +( +id INT NOT NULL auto_increment, +PRIMARY KEY (id), +rollno int NOT NULL, +name VARCHAR(30) +); +FLUSH STATUS; +'#--------------------FN_DYNVARS_055_01-------------------------#' +## Setting initial value of variable to 131072 ## +SET @@global.key_buffer_size = 131072; +## Creating two new connections ## +'#--------------------FN_DYNVARS_055_02-------------------------#' +## Connecting with connection test_con1 ## +SELECT @@global.key_buffer_size; +@@global.key_buffer_size +131072 +## Inserting some rows in table ## +INSERT into t1(rollno, name) values(1, 'Record_1'); +INSERT into t1(rollno, name) values(2, 'Record_2'); +INSERT into t1(rollno, name) values(1, 'Record_3'); +INSERT into t1(rollno, name) values(3, 'Record_4'); +INSERT into t1(rollno, name) values(1, 'Record_5'); +INSERT into t1(rollno, name) values(3, 'Record_6'); +INSERT into t1(rollno, name) values(4, 'Record_7'); +INSERT into t1(rollno, name) values(4, 'Record_8'); +INSERT into t1(rollno, name) values(4, 'Record_9'); +INSERT into t1(rollno, name) values(4, 'Record_10'); +## Verifying status of reading & writing variables ## +## Switching to connection test_con2 ## +## Verifying status of reading & writing variables ## +## Dropping table ## +DROP table if exists t1; +## Disconnecting both the connections ## diff --git a/mysql-test/r/key_cache_age_threshold_basic_32.result b/mysql-test/r/key_cache_age_threshold_basic_32.result new file mode 100644 index 00000000000..023b23ea425 --- /dev/null +++ b/mysql-test/r/key_cache_age_threshold_basic_32.result @@ -0,0 +1,126 @@ +SET @start_value = @@global.key_cache_age_threshold; +SELECT @start_value; +@start_value +300 +'#--------------------FN_DYNVARS_056_01------------------------#' +SET @@global.key_cache_age_threshold = 99; +Warnings: +Warning 1292 Truncated incorrect key_cache_age_threshold value: '99' +SET @@global.key_cache_age_threshold = DEFAULT; +ERROR 42000: Variable 'key_cache_age_threshold' doesn't have a default value +'Bug# 34878: This variable has default value according to documentation'; +SELECT @@global.key_cache_age_threshold; +@@global.key_cache_age_threshold +100 +'#---------------------FN_DYNVARS_056_02-------------------------#' +SET @@global.key_cache_age_threshold = @start_value; +SELECT @@global.key_cache_age_threshold = 300; +@@global.key_cache_age_threshold = 300 +1 +'#--------------------FN_DYNVARS_056_03------------------------#' +SET @@global.key_cache_age_threshold = 100; +SELECT @@global.key_cache_age_threshold; +@@global.key_cache_age_threshold +100 +SET @@global.key_cache_age_threshold = 4294967295; +SELECT @@global.key_cache_age_threshold; +@@global.key_cache_age_threshold +4294967200 +SET @@global.key_cache_age_threshold = 1800; +SELECT @@global.key_cache_age_threshold; +@@global.key_cache_age_threshold +1800 +SET @@global.key_cache_age_threshold = 65535; +SELECT @@global.key_cache_age_threshold; +@@global.key_cache_age_threshold +65500 +'Bug# 34877 : Invalid Values are coming in variable on assigning valid values and Out Of Memory Warnings are coming'; +'#--------------------FN_DYNVARS_056_04-------------------------#' +SET @@global.key_cache_age_threshold = -1; +SELECT @@global.key_cache_age_threshold; +@@global.key_cache_age_threshold +4294967200 +SET @@global.key_cache_age_threshold = 42949672951; +SELECT @@global.key_cache_age_threshold; +@@global.key_cache_age_threshold +4294967200 +SET @@global.key_cache_age_threshold = 10000.01; +ERROR 42000: Incorrect argument type to variable 'key_cache_age_threshold' +SELECT @@global.key_cache_age_threshold; +@@global.key_cache_age_threshold +4294967200 +SET @@global.key_cache_age_threshold = -1024; +SELECT @@global.key_cache_age_threshold; +@@global.key_cache_age_threshold +4294966200 +SET @@global.key_cache_age_threshold = 99; +Warnings: +Warning 1292 Truncated incorrect key_cache_age_threshold value: '99' +SELECT @@global.key_cache_age_threshold; +@@global.key_cache_age_threshold +100 +'Bug # 34837: Errors are not coming on assigning invalid values to variable' +SET @@global.key_cache_age_threshold = ON; +ERROR 42000: Incorrect argument type to variable 'key_cache_age_threshold' +SELECT @@global.key_cache_age_threshold; +@@global.key_cache_age_threshold +100 +SET @@global.key_cache_age_threshold = 'test'; +ERROR 42000: Incorrect argument type to variable 'key_cache_age_threshold' +SELECT @@global.key_cache_age_threshold; +@@global.key_cache_age_threshold +100 +'#-------------------FN_DYNVARS_056_05----------------------------#' +SET @@session.key_cache_age_threshold = 0; +ERROR HY000: Variable 'key_cache_age_threshold' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@session.key_cache_age_threshold; +ERROR HY000: Variable 'key_cache_age_threshold' is a GLOBAL variable +'#----------------------FN_DYNVARS_056_06------------------------#' +SELECT @@global.key_cache_age_threshold = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='key_cache_age_threshold'; +@@global.key_cache_age_threshold = VARIABLE_VALUE +1 +SELECT @@key_cache_age_threshold = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='key_cache_age_threshold'; +@@key_cache_age_threshold = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_056_07----------------------#' +SET @@global.key_cache_age_threshold = TRUE; +Warnings: +Warning 1292 Truncated incorrect key_cache_age_threshold value: '1' +SELECT @@global.key_cache_age_threshold; +@@global.key_cache_age_threshold +100 +SET @@global.key_cache_age_threshold = FALSE; +Warnings: +Warning 1292 Truncated incorrect key_cache_age_threshold value: '0' +SELECT @@global.key_cache_age_threshold; +@@global.key_cache_age_threshold +100 +'#---------------------FN_DYNVARS_056_08----------------------#' +SET @@global.key_cache_age_threshold = 101; +SELECT @@key_cache_age_threshold = @@global.key_cache_age_threshold; +@@key_cache_age_threshold = @@global.key_cache_age_threshold +1 +'#---------------------FN_DYNVARS_056_09----------------------#' +SET key_cache_age_threshold = 8000; +ERROR HY000: Variable 'key_cache_age_threshold' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@key_cache_age_threshold; +@@key_cache_age_threshold +100 +SET local.key_cache_age_threshold = 10; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key_cache_age_threshold = 10' at line 1 +SELECT local.key_cache_age_threshold; +ERROR 42S02: Unknown table 'local' in field list +SET global.key_cache_age_threshold = 10; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key_cache_age_threshold = 10' at line 1 +SELECT global.key_cache_age_threshold; +ERROR 42S02: Unknown table 'global' in field list +SELECT key_cache_age_threshold = @@session.key_cache_age_threshold; +ERROR 42S22: Unknown column 'key_cache_age_threshold' in 'field list' +SET @@global.key_cache_age_threshold = @start_value; +SELECT @@global.key_cache_age_threshold; +@@global.key_cache_age_threshold +300 diff --git a/mysql-test/r/key_cache_age_threshold_basic_64.result b/mysql-test/r/key_cache_age_threshold_basic_64.result new file mode 100644 index 00000000000..5e05dd7bacf --- /dev/null +++ b/mysql-test/r/key_cache_age_threshold_basic_64.result @@ -0,0 +1,126 @@ +SET @start_value = @@global.key_cache_age_threshold; +SELECT @start_value; +@start_value +300 +'#--------------------FN_DYNVARS_056_01------------------------#' +SET @@global.key_cache_age_threshold = 99; +Warnings: +Warning 1292 Truncated incorrect key_cache_age_threshold value: '99' +SET @@global.key_cache_age_threshold = DEFAULT; +ERROR 42000: Variable 'key_cache_age_threshold' doesn't have a default value +'Bug# 34878: This variable has default value according to documentation'; +SELECT @@global.key_cache_age_threshold; +@@global.key_cache_age_threshold +100 +'#---------------------FN_DYNVARS_056_02-------------------------#' +SET @@global.key_cache_age_threshold = @start_value; +SELECT @@global.key_cache_age_threshold = 300; +@@global.key_cache_age_threshold = 300 +1 +'#--------------------FN_DYNVARS_056_03------------------------#' +SET @@global.key_cache_age_threshold = 100; +SELECT @@global.key_cache_age_threshold; +@@global.key_cache_age_threshold +100 +SET @@global.key_cache_age_threshold = 4294967295; +SELECT @@global.key_cache_age_threshold; +@@global.key_cache_age_threshold +4294967200 +SET @@global.key_cache_age_threshold = 1800; +SELECT @@global.key_cache_age_threshold; +@@global.key_cache_age_threshold +1800 +SET @@global.key_cache_age_threshold = 65535; +SELECT @@global.key_cache_age_threshold; +@@global.key_cache_age_threshold +65500 +'Bug# 34877 : Invalid Values are coming in variable on assigning valid values and Out Of Memory Warnings are coming'; +'#--------------------FN_DYNVARS_056_04-------------------------#' +SET @@global.key_cache_age_threshold = -1; +SELECT @@global.key_cache_age_threshold; +@@global.key_cache_age_threshold +18446744073709551600 +SET @@global.key_cache_age_threshold = 42949672951; +SELECT @@global.key_cache_age_threshold; +@@global.key_cache_age_threshold +42949672900 +SET @@global.key_cache_age_threshold = 10000.01; +ERROR 42000: Incorrect argument type to variable 'key_cache_age_threshold' +SELECT @@global.key_cache_age_threshold; +@@global.key_cache_age_threshold +42949672900 +SET @@global.key_cache_age_threshold = -1024; +SELECT @@global.key_cache_age_threshold; +@@global.key_cache_age_threshold +18446744073709550500 +SET @@global.key_cache_age_threshold = 99; +Warnings: +Warning 1292 Truncated incorrect key_cache_age_threshold value: '99' +SELECT @@global.key_cache_age_threshold; +@@global.key_cache_age_threshold +100 +'Bug # 34837: Errors are not coming on assigning invalid values to variable' +SET @@global.key_cache_age_threshold = ON; +ERROR 42000: Incorrect argument type to variable 'key_cache_age_threshold' +SELECT @@global.key_cache_age_threshold; +@@global.key_cache_age_threshold +100 +SET @@global.key_cache_age_threshold = 'test'; +ERROR 42000: Incorrect argument type to variable 'key_cache_age_threshold' +SELECT @@global.key_cache_age_threshold; +@@global.key_cache_age_threshold +100 +'#-------------------FN_DYNVARS_056_05----------------------------#' +SET @@session.key_cache_age_threshold = 0; +ERROR HY000: Variable 'key_cache_age_threshold' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@session.key_cache_age_threshold; +ERROR HY000: Variable 'key_cache_age_threshold' is a GLOBAL variable +'#----------------------FN_DYNVARS_056_06------------------------#' +SELECT @@global.key_cache_age_threshold = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='key_cache_age_threshold'; +@@global.key_cache_age_threshold = VARIABLE_VALUE +1 +SELECT @@key_cache_age_threshold = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='key_cache_age_threshold'; +@@key_cache_age_threshold = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_056_07----------------------#' +SET @@global.key_cache_age_threshold = TRUE; +Warnings: +Warning 1292 Truncated incorrect key_cache_age_threshold value: '1' +SELECT @@global.key_cache_age_threshold; +@@global.key_cache_age_threshold +100 +SET @@global.key_cache_age_threshold = FALSE; +Warnings: +Warning 1292 Truncated incorrect key_cache_age_threshold value: '0' +SELECT @@global.key_cache_age_threshold; +@@global.key_cache_age_threshold +100 +'#---------------------FN_DYNVARS_056_08----------------------#' +SET @@global.key_cache_age_threshold = 101; +SELECT @@key_cache_age_threshold = @@global.key_cache_age_threshold; +@@key_cache_age_threshold = @@global.key_cache_age_threshold +1 +'#---------------------FN_DYNVARS_056_09----------------------#' +SET key_cache_age_threshold = 8000; +ERROR HY000: Variable 'key_cache_age_threshold' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@key_cache_age_threshold; +@@key_cache_age_threshold +100 +SET local.key_cache_age_threshold = 10; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key_cache_age_threshold = 10' at line 1 +SELECT local.key_cache_age_threshold; +ERROR 42S02: Unknown table 'local' in field list +SET global.key_cache_age_threshold = 10; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key_cache_age_threshold = 10' at line 1 +SELECT global.key_cache_age_threshold; +ERROR 42S02: Unknown table 'global' in field list +SELECT key_cache_age_threshold = @@session.key_cache_age_threshold; +ERROR 42S22: Unknown column 'key_cache_age_threshold' in 'field list' +SET @@global.key_cache_age_threshold = @start_value; +SELECT @@global.key_cache_age_threshold; +@@global.key_cache_age_threshold +300 diff --git a/mysql-test/r/key_cache_block_size_basic_32.result b/mysql-test/r/key_cache_block_size_basic_32.result new file mode 100644 index 00000000000..ac78acb8244 --- /dev/null +++ b/mysql-test/r/key_cache_block_size_basic_32.result @@ -0,0 +1,142 @@ +SET @start_value = @@global.key_cache_block_size; +SELECT @start_value; +@start_value +1024 +'#--------------------FN_DYNVARS_057_01------------------------#' +SET @@global.key_cache_block_size = 600; +SET @@global.key_cache_block_size = DEFAULT; +ERROR 42000: Variable 'key_cache_block_size' doesn't have a default value +'Bug# 34877 : Invalid Values are coming in variable on assigning valid values and Out Of Memory Warnings are coming'; +SELECT @@global.key_cache_block_size; +@@global.key_cache_block_size +512 +'#---------------------FN_DYNVARS_057_02-------------------------#' +SET @@global.key_cache_block_size = @start_value; +SELECT @@global.key_cache_block_size = 1024; +@@global.key_cache_block_size = 1024 +1 +'#--------------------FN_DYNVARS_057_03------------------------#' +SET @@global.key_cache_block_size = 1024; +SELECT @@global.key_cache_block_size; +@@global.key_cache_block_size +1024 +SET @@global.key_cache_block_size = 16384; +SELECT @@global.key_cache_block_size; +@@global.key_cache_block_size +16384 +SET @@global.key_cache_block_size = 1800; +SELECT @@global.key_cache_block_size; +@@global.key_cache_block_size +1536 +SET @@global.key_cache_block_size = 16383; +SELECT @@global.key_cache_block_size; +@@global.key_cache_block_size +15872 +'Bug# 34877 : Invalid Values are coming in variable on assigning valid values and Out Of Memory Warnings are coming'; +'#--------------------FN_DYNVARS_057_04-------------------------#' +SET @@global.key_cache_block_size = -1; +Warnings: +Warning 1292 Truncated incorrect key_cache_block_size value: '4294967295' +SELECT @@global.key_cache_block_size; +@@global.key_cache_block_size +16384 +SET @@global.key_cache_block_size = 42949672951; +Warnings: +Warning 1292 Truncated incorrect key_cache_block_size value: '4294967287' +SELECT @@global.key_cache_block_size; +@@global.key_cache_block_size +16384 +SET @@global.key_cache_block_size = 10000.01; +ERROR 42000: Incorrect argument type to variable 'key_cache_block_size' +SELECT @@global.key_cache_block_size; +@@global.key_cache_block_size +16384 +SET @@global.key_cache_block_size = -1024; +Warnings: +Warning 1292 Truncated incorrect key_cache_block_size value: '4294966272' +SELECT @@global.key_cache_block_size; +@@global.key_cache_block_size +16384 +SET @@global.key_cache_block_size = 256; +Warnings: +Warning 1292 Truncated incorrect key_cache_block_size value: '256' +SELECT @@global.key_cache_block_size; +@@global.key_cache_block_size +512 +SET @@global.key_cache_block_size = 511; +Warnings: +Warning 1292 Truncated incorrect key_cache_block_size value: '511' +SELECT @@global.key_cache_block_size; +@@global.key_cache_block_size +512 +SET @@global.key_cache_block_size = 16385; +Warnings: +Warning 1292 Truncated incorrect key_cache_block_size value: '16385' +SELECT @@global.key_cache_block_size; +@@global.key_cache_block_size +16384 +'Bug # 34837: Errors are not coming on assigning invalid values to variable' +SET @@global.key_cache_block_size = ON; +ERROR 42000: Incorrect argument type to variable 'key_cache_block_size' +SELECT @@global.key_cache_block_size; +@@global.key_cache_block_size +16384 +SET @@global.key_cache_block_size = 'test'; +ERROR 42000: Incorrect argument type to variable 'key_cache_block_size' +SELECT @@global.key_cache_block_size; +@@global.key_cache_block_size +16384 +'#-------------------FN_DYNVARS_057_05----------------------------#' +SET @@session.key_cache_block_size = 0; +ERROR HY000: Variable 'key_cache_block_size' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@session.key_cache_block_size; +ERROR HY000: Variable 'key_cache_block_size' is a GLOBAL variable +'#----------------------FN_DYNVARS_057_06------------------------#' +SELECT @@global.key_cache_block_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='key_cache_block_size'; +@@global.key_cache_block_size = VARIABLE_VALUE +1 +SELECT @@key_cache_block_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='key_cache_block_size'; +@@key_cache_block_size = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_057_07----------------------#' +SET @@global.key_cache_block_size = TRUE; +Warnings: +Warning 1292 Truncated incorrect key_cache_block_size value: '1' +SELECT @@global.key_cache_block_size; +@@global.key_cache_block_size +512 +SET @@global.key_cache_block_size = FALSE; +Warnings: +Warning 1292 Truncated incorrect key_cache_block_size value: '0' +SELECT @@global.key_cache_block_size; +@@global.key_cache_block_size +512 +'#---------------------FN_DYNVARS_057_08----------------------#' +SET @@global.key_cache_block_size = 1024; +SELECT @@key_cache_block_size = @@global.key_cache_block_size; +@@key_cache_block_size = @@global.key_cache_block_size +1 +'#---------------------FN_DYNVARS_057_09----------------------#' +SET key_cache_block_size = 8000; +ERROR HY000: Variable 'key_cache_block_size' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@key_cache_block_size; +@@key_cache_block_size +1024 +SET local.key_cache_block_size = 10; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key_cache_block_size = 10' at line 1 +SELECT local.key_cache_block_size; +ERROR 42S02: Unknown table 'local' in field list +SET global.key_cache_block_size = 10; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key_cache_block_size = 10' at line 1 +SELECT global.key_cache_block_size; +ERROR 42S02: Unknown table 'global' in field list +SELECT key_cache_block_size = @@session.key_cache_block_size; +ERROR 42S22: Unknown column 'key_cache_block_size' in 'field list' +SET @@global.key_cache_block_size = @start_value; +SELECT @@global.key_cache_block_size; +@@global.key_cache_block_size +1024 diff --git a/mysql-test/r/key_cache_block_size_basic_64.result b/mysql-test/r/key_cache_block_size_basic_64.result new file mode 100644 index 00000000000..46ce1f26b29 --- /dev/null +++ b/mysql-test/r/key_cache_block_size_basic_64.result @@ -0,0 +1,142 @@ +SET @start_value = @@global.key_cache_block_size; +SELECT @start_value; +@start_value +1024 +'#--------------------FN_DYNVARS_057_01------------------------#' +SET @@global.key_cache_block_size = 600; +SET @@global.key_cache_block_size = DEFAULT; +ERROR 42000: Variable 'key_cache_block_size' doesn't have a default value +'Bug# 34877 : Invalid Values are coming in variable on assigning valid values and Out Of Memory Warnings are coming'; +SELECT @@global.key_cache_block_size; +@@global.key_cache_block_size +512 +'#---------------------FN_DYNVARS_057_02-------------------------#' +SET @@global.key_cache_block_size = @start_value; +SELECT @@global.key_cache_block_size = 1024; +@@global.key_cache_block_size = 1024 +1 +'#--------------------FN_DYNVARS_057_03------------------------#' +SET @@global.key_cache_block_size = 1024; +SELECT @@global.key_cache_block_size; +@@global.key_cache_block_size +1024 +SET @@global.key_cache_block_size = 16384; +SELECT @@global.key_cache_block_size; +@@global.key_cache_block_size +16384 +SET @@global.key_cache_block_size = 1800; +SELECT @@global.key_cache_block_size; +@@global.key_cache_block_size +1536 +SET @@global.key_cache_block_size = 16383; +SELECT @@global.key_cache_block_size; +@@global.key_cache_block_size +15872 +'Bug# 34877 : Invalid Values are coming in variable on assigning valid values and Out Of Memory Warnings are coming'; +'#--------------------FN_DYNVARS_057_04-------------------------#' +SET @@global.key_cache_block_size = -1; +Warnings: +Warning 1292 Truncated incorrect key_cache_block_size value: '18446744073709551615' +SELECT @@global.key_cache_block_size; +@@global.key_cache_block_size +16384 +SET @@global.key_cache_block_size = 42949672951; +Warnings: +Warning 1292 Truncated incorrect key_cache_block_size value: '42949672951' +SELECT @@global.key_cache_block_size; +@@global.key_cache_block_size +16384 +SET @@global.key_cache_block_size = 10000.01; +ERROR 42000: Incorrect argument type to variable 'key_cache_block_size' +SELECT @@global.key_cache_block_size; +@@global.key_cache_block_size +16384 +SET @@global.key_cache_block_size = -1024; +Warnings: +Warning 1292 Truncated incorrect key_cache_block_size value: '18446744073709550592' +SELECT @@global.key_cache_block_size; +@@global.key_cache_block_size +16384 +SET @@global.key_cache_block_size = 256; +Warnings: +Warning 1292 Truncated incorrect key_cache_block_size value: '256' +SELECT @@global.key_cache_block_size; +@@global.key_cache_block_size +512 +SET @@global.key_cache_block_size = 511; +Warnings: +Warning 1292 Truncated incorrect key_cache_block_size value: '511' +SELECT @@global.key_cache_block_size; +@@global.key_cache_block_size +512 +SET @@global.key_cache_block_size = 16385; +Warnings: +Warning 1292 Truncated incorrect key_cache_block_size value: '16385' +SELECT @@global.key_cache_block_size; +@@global.key_cache_block_size +16384 +'Bug # 34837: Errors are not coming on assigning invalid values to variable' +SET @@global.key_cache_block_size = ON; +ERROR 42000: Incorrect argument type to variable 'key_cache_block_size' +SELECT @@global.key_cache_block_size; +@@global.key_cache_block_size +16384 +SET @@global.key_cache_block_size = 'test'; +ERROR 42000: Incorrect argument type to variable 'key_cache_block_size' +SELECT @@global.key_cache_block_size; +@@global.key_cache_block_size +16384 +'#-------------------FN_DYNVARS_057_05----------------------------#' +SET @@session.key_cache_block_size = 0; +ERROR HY000: Variable 'key_cache_block_size' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@session.key_cache_block_size; +ERROR HY000: Variable 'key_cache_block_size' is a GLOBAL variable +'#----------------------FN_DYNVARS_057_06------------------------#' +SELECT @@global.key_cache_block_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='key_cache_block_size'; +@@global.key_cache_block_size = VARIABLE_VALUE +1 +SELECT @@key_cache_block_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='key_cache_block_size'; +@@key_cache_block_size = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_057_07----------------------#' +SET @@global.key_cache_block_size = TRUE; +Warnings: +Warning 1292 Truncated incorrect key_cache_block_size value: '1' +SELECT @@global.key_cache_block_size; +@@global.key_cache_block_size +512 +SET @@global.key_cache_block_size = FALSE; +Warnings: +Warning 1292 Truncated incorrect key_cache_block_size value: '0' +SELECT @@global.key_cache_block_size; +@@global.key_cache_block_size +512 +'#---------------------FN_DYNVARS_057_08----------------------#' +SET @@global.key_cache_block_size = 1024; +SELECT @@key_cache_block_size = @@global.key_cache_block_size; +@@key_cache_block_size = @@global.key_cache_block_size +1 +'#---------------------FN_DYNVARS_057_09----------------------#' +SET key_cache_block_size = 8000; +ERROR HY000: Variable 'key_cache_block_size' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@key_cache_block_size; +@@key_cache_block_size +1024 +SET local.key_cache_block_size = 10; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key_cache_block_size = 10' at line 1 +SELECT local.key_cache_block_size; +ERROR 42S02: Unknown table 'local' in field list +SET global.key_cache_block_size = 10; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key_cache_block_size = 10' at line 1 +SELECT global.key_cache_block_size; +ERROR 42S02: Unknown table 'global' in field list +SELECT key_cache_block_size = @@session.key_cache_block_size; +ERROR 42S22: Unknown column 'key_cache_block_size' in 'field list' +SET @@global.key_cache_block_size = @start_value; +SELECT @@global.key_cache_block_size; +@@global.key_cache_block_size +1024 diff --git a/mysql-test/r/key_cache_division_limit_basic_32.result b/mysql-test/r/key_cache_division_limit_basic_32.result new file mode 100644 index 00000000000..5902dbcdf89 --- /dev/null +++ b/mysql-test/r/key_cache_division_limit_basic_32.result @@ -0,0 +1,139 @@ +SET @start_value = @@global.key_cache_division_limit; +SELECT @start_value; +@start_value +100 +'#--------------------FN_DYNVARS_058_01------------------------#' +SET @@global.key_cache_division_limit = 50; +SET @@global.key_cache_division_limit = DEFAULT; +ERROR 42000: Variable 'key_cache_division_limit' doesn't have a default value +'Bug# 34878: This variable has default value according to documentation'; +SELECT @@global.key_cache_division_limit; +@@global.key_cache_division_limit +50 +'#---------------------FN_DYNVARS_058_02-------------------------#' +SET @@global.key_cache_division_limit = @start_value; +SELECT @@global.key_cache_division_limit = 100; +@@global.key_cache_division_limit = 100 +1 +'#--------------------FN_DYNVARS_058_03------------------------#' +SET @@global.key_cache_division_limit = 1; +SELECT @@global.key_cache_division_limit; +@@global.key_cache_division_limit +1 +SET @@global.key_cache_division_limit = 50; +SELECT @@global.key_cache_division_limit; +@@global.key_cache_division_limit +50 +SET @@global.key_cache_division_limit = 99; +SELECT @@global.key_cache_division_limit; +@@global.key_cache_division_limit +99 +SET @@global.key_cache_division_limit = 2; +SELECT @@global.key_cache_division_limit; +@@global.key_cache_division_limit +2 +'#--------------------FN_DYNVARS_058_04-------------------------#' +SET @@global.key_cache_division_limit = -1; +Warnings: +Warning 1292 Truncated incorrect key_cache_division_limit value: '4294967295' +SELECT @@global.key_cache_division_limit; +@@global.key_cache_division_limit +100 +SET @@global.key_cache_division_limit = 101; +Warnings: +Warning 1292 Truncated incorrect key_cache_division_limit value: '101' +SELECT @@global.key_cache_division_limit; +@@global.key_cache_division_limit +100 +SET @@global.key_cache_division_limit = 10000.01; +ERROR 42000: Incorrect argument type to variable 'key_cache_division_limit' +SELECT @@global.key_cache_division_limit; +@@global.key_cache_division_limit +100 +SET @@global.key_cache_division_limit = -1024; +Warnings: +Warning 1292 Truncated incorrect key_cache_division_limit value: '4294966272' +SELECT @@global.key_cache_division_limit; +@@global.key_cache_division_limit +100 +SET @@global.key_cache_division_limit = 0; +Warnings: +Warning 1292 Truncated incorrect key_cache_division_limit value: '0' +SELECT @@global.key_cache_division_limit; +@@global.key_cache_division_limit +1 +SET @@global.key_cache_division_limit = 200; +Warnings: +Warning 1292 Truncated incorrect key_cache_division_limit value: '200' +SELECT @@global.key_cache_division_limit; +@@global.key_cache_division_limit +100 +SET @@global.key_cache_division_limit = 65535; +Warnings: +Warning 1292 Truncated incorrect key_cache_division_limit value: '65535' +SELECT @@global.key_cache_division_limit; +@@global.key_cache_division_limit +100 +'Bug # 34837: Errors are not coming on assigning invalid values to variable' +SET @@global.key_cache_division_limit = ON; +ERROR 42000: Incorrect argument type to variable 'key_cache_division_limit' +SELECT @@global.key_cache_division_limit; +@@global.key_cache_division_limit +100 +SET @@global.key_cache_division_limit = 'test'; +ERROR 42000: Incorrect argument type to variable 'key_cache_division_limit' +SELECT @@global.key_cache_division_limit; +@@global.key_cache_division_limit +100 +'#-------------------FN_DYNVARS_058_05----------------------------#' +SET @@session.key_cache_division_limit = 0; +ERROR HY000: Variable 'key_cache_division_limit' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@session.key_cache_division_limit; +ERROR HY000: Variable 'key_cache_division_limit' is a GLOBAL variable +'#----------------------FN_DYNVARS_058_06------------------------#' +SELECT @@global.key_cache_division_limit = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='key_cache_division_limit'; +@@global.key_cache_division_limit = VARIABLE_VALUE +1 +SELECT @@key_cache_division_limit = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='key_cache_division_limit'; +@@key_cache_division_limit = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_058_07----------------------#' +SET @@global.key_cache_division_limit = TRUE; +SELECT @@global.key_cache_division_limit; +@@global.key_cache_division_limit +1 +SET @@global.key_cache_division_limit = FALSE; +Warnings: +Warning 1292 Truncated incorrect key_cache_division_limit value: '0' +SELECT @@global.key_cache_division_limit; +@@global.key_cache_division_limit +1 +'#---------------------FN_DYNVARS_058_08----------------------#' +SET @@global.key_cache_division_limit = 90; +SELECT @@key_cache_division_limit = @@global.key_cache_division_limit; +@@key_cache_division_limit = @@global.key_cache_division_limit +1 +'#---------------------FN_DYNVARS_058_09----------------------#' +SET key_cache_division_limit = 80; +ERROR HY000: Variable 'key_cache_division_limit' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@key_cache_division_limit; +@@key_cache_division_limit +90 +SET local.key_cache_division_limit = 10; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key_cache_division_limit = 10' at line 1 +SELECT local.key_cache_division_limit; +ERROR 42S02: Unknown table 'local' in field list +SET global.key_cache_division_limit = 10; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key_cache_division_limit = 10' at line 1 +SELECT global.key_cache_division_limit; +ERROR 42S02: Unknown table 'global' in field list +SELECT key_cache_division_limit = @@session.key_cache_division_limit; +ERROR 42S22: Unknown column 'key_cache_division_limit' in 'field list' +SET @@global.key_cache_division_limit = @start_value; +SELECT @@global.key_cache_division_limit; +@@global.key_cache_division_limit +100 diff --git a/mysql-test/r/key_cache_division_limit_basic_64.result b/mysql-test/r/key_cache_division_limit_basic_64.result new file mode 100644 index 00000000000..cd0cdcbca05 --- /dev/null +++ b/mysql-test/r/key_cache_division_limit_basic_64.result @@ -0,0 +1,139 @@ +SET @start_value = @@global.key_cache_division_limit; +SELECT @start_value; +@start_value +100 +'#--------------------FN_DYNVARS_058_01------------------------#' +SET @@global.key_cache_division_limit = 50; +SET @@global.key_cache_division_limit = DEFAULT; +ERROR 42000: Variable 'key_cache_division_limit' doesn't have a default value +'Bug# 34878: This variable has default value according to documentation'; +SELECT @@global.key_cache_division_limit; +@@global.key_cache_division_limit +50 +'#---------------------FN_DYNVARS_058_02-------------------------#' +SET @@global.key_cache_division_limit = @start_value; +SELECT @@global.key_cache_division_limit = 100; +@@global.key_cache_division_limit = 100 +1 +'#--------------------FN_DYNVARS_058_03------------------------#' +SET @@global.key_cache_division_limit = 1; +SELECT @@global.key_cache_division_limit; +@@global.key_cache_division_limit +1 +SET @@global.key_cache_division_limit = 50; +SELECT @@global.key_cache_division_limit; +@@global.key_cache_division_limit +50 +SET @@global.key_cache_division_limit = 99; +SELECT @@global.key_cache_division_limit; +@@global.key_cache_division_limit +99 +SET @@global.key_cache_division_limit = 2; +SELECT @@global.key_cache_division_limit; +@@global.key_cache_division_limit +2 +'#--------------------FN_DYNVARS_058_04-------------------------#' +SET @@global.key_cache_division_limit = -1; +Warnings: +Warning 1292 Truncated incorrect key_cache_division_limit value: '18446744073709551615' +SELECT @@global.key_cache_division_limit; +@@global.key_cache_division_limit +100 +SET @@global.key_cache_division_limit = 101; +Warnings: +Warning 1292 Truncated incorrect key_cache_division_limit value: '101' +SELECT @@global.key_cache_division_limit; +@@global.key_cache_division_limit +100 +SET @@global.key_cache_division_limit = 10000.01; +ERROR 42000: Incorrect argument type to variable 'key_cache_division_limit' +SELECT @@global.key_cache_division_limit; +@@global.key_cache_division_limit +100 +SET @@global.key_cache_division_limit = -1024; +Warnings: +Warning 1292 Truncated incorrect key_cache_division_limit value: '18446744073709550592' +SELECT @@global.key_cache_division_limit; +@@global.key_cache_division_limit +100 +SET @@global.key_cache_division_limit = 0; +Warnings: +Warning 1292 Truncated incorrect key_cache_division_limit value: '0' +SELECT @@global.key_cache_division_limit; +@@global.key_cache_division_limit +1 +SET @@global.key_cache_division_limit = 200; +Warnings: +Warning 1292 Truncated incorrect key_cache_division_limit value: '200' +SELECT @@global.key_cache_division_limit; +@@global.key_cache_division_limit +100 +SET @@global.key_cache_division_limit = 65535; +Warnings: +Warning 1292 Truncated incorrect key_cache_division_limit value: '65535' +SELECT @@global.key_cache_division_limit; +@@global.key_cache_division_limit +100 +'Bug # 34837: Errors are not coming on assigning invalid values to variable' +SET @@global.key_cache_division_limit = ON; +ERROR 42000: Incorrect argument type to variable 'key_cache_division_limit' +SELECT @@global.key_cache_division_limit; +@@global.key_cache_division_limit +100 +SET @@global.key_cache_division_limit = 'test'; +ERROR 42000: Incorrect argument type to variable 'key_cache_division_limit' +SELECT @@global.key_cache_division_limit; +@@global.key_cache_division_limit +100 +'#-------------------FN_DYNVARS_058_05----------------------------#' +SET @@session.key_cache_division_limit = 0; +ERROR HY000: Variable 'key_cache_division_limit' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@session.key_cache_division_limit; +ERROR HY000: Variable 'key_cache_division_limit' is a GLOBAL variable +'#----------------------FN_DYNVARS_058_06------------------------#' +SELECT @@global.key_cache_division_limit = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='key_cache_division_limit'; +@@global.key_cache_division_limit = VARIABLE_VALUE +1 +SELECT @@key_cache_division_limit = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='key_cache_division_limit'; +@@key_cache_division_limit = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_058_07----------------------#' +SET @@global.key_cache_division_limit = TRUE; +SELECT @@global.key_cache_division_limit; +@@global.key_cache_division_limit +1 +SET @@global.key_cache_division_limit = FALSE; +Warnings: +Warning 1292 Truncated incorrect key_cache_division_limit value: '0' +SELECT @@global.key_cache_division_limit; +@@global.key_cache_division_limit +1 +'#---------------------FN_DYNVARS_058_08----------------------#' +SET @@global.key_cache_division_limit = 90; +SELECT @@key_cache_division_limit = @@global.key_cache_division_limit; +@@key_cache_division_limit = @@global.key_cache_division_limit +1 +'#---------------------FN_DYNVARS_058_09----------------------#' +SET key_cache_division_limit = 80; +ERROR HY000: Variable 'key_cache_division_limit' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@key_cache_division_limit; +@@key_cache_division_limit +90 +SET local.key_cache_division_limit = 10; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key_cache_division_limit = 10' at line 1 +SELECT local.key_cache_division_limit; +ERROR 42S02: Unknown table 'local' in field list +SET global.key_cache_division_limit = 10; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key_cache_division_limit = 10' at line 1 +SELECT global.key_cache_division_limit; +ERROR 42S02: Unknown table 'global' in field list +SELECT key_cache_division_limit = @@session.key_cache_division_limit; +ERROR 42S22: Unknown column 'key_cache_division_limit' in 'field list' +SET @@global.key_cache_division_limit = @start_value; +SELECT @@global.key_cache_division_limit; +@@global.key_cache_division_limit +100 diff --git a/mysql-test/r/last_insert_id_func.result b/mysql-test/r/last_insert_id_func.result new file mode 100644 index 00000000000..2f07aeeec05 --- /dev/null +++ b/mysql-test/r/last_insert_id_func.result @@ -0,0 +1,93 @@ +drop table if exists t1; +## Creating new table ## +CREATE TABLE t1 +( +id INT NOT NULL auto_increment, +PRIMARY KEY (id), +name VARCHAR(30) +) ENGINE = INNODB; +'#--------------------FN_DYNVARS_059_01-------------------------#' +## Verifying initial value of ## +SELECT @@session.last_insert_id; +@@session.last_insert_id +0 +## Inserting records in table t1 ## +INSERT into t1(name) values('Record_1'); +INSERT into t1(name) values('Record_2'); +SELECT * from t1; +id name +1 Record_1 +2 Record_2 +## Verifying value of variable after inserting some rows ## +SELECT @@session.last_insert_id = 2; +@@session.last_insert_id = 2 +1 +'#--------------------FN_DYNVARS_059_02-------------------------#' +## Creating & connecting to new connection test_con1 ## +SET @@autocommit = 0; +## Verifying initial value of variable in new connection ## +SELECT @@session.last_insert_id; +@@session.last_insert_id +0 +## Inserting rows in table t1 ## +START TRANSACTION; +INSERT into t1(name) values('Record_3'); +INSERT into t1(name) values('Record_4'); +INSERT into t1(name) values('Record_5'); +## Verifying value of variable without committing rows ## +SELECT @@session.last_insert_id; +@@session.last_insert_id +5 +'#--------------------FN_DYNVARS_059_03-------------------------#' +## Creating & connecting to new connection test_con2 ## +## Inserting values through new connection ## +INSERT into t1(name) values('Record_6'); +INSERT into t1(name) values('Record_7'); +SELECT * from t1; +id name +1 Record_1 +2 Record_2 +6 Record_6 +7 Record_7 +## Verifying value of variable in second connection ## +SELECT @@last_insert_id; +@@last_insert_id +7 +'#--------------------FN_DYNVARS_059_04-------------------------#' +## Switching to test_con1 ## +## Verifying all records in table & value of variable ## +SELECT * from t1; +id name +1 Record_1 +2 Record_2 +3 Record_3 +4 Record_4 +5 Record_5 +6 Record_6 +7 Record_7 +SELECT @@session.last_insert_id; +@@session.last_insert_id +5 +## Commiting records in table ## +COMMIT; +SELECT @@session.last_insert_id; +@@session.last_insert_id +5 +## Switching to test_con2 & verifying value of variable in it ## +SELECT @@session.last_insert_id; +@@session.last_insert_id +7 +'#--------------------FN_DYNVARS_059_05-------------------------#' +## Setting value of variable ## +SET @@session.last_insert_id = 100; +SELECT @@session.last_insert_id; +@@session.last_insert_id +100 +## Inserting new record and verifying variable's effect on it ## +INSERT into t1(name) values('Record_8'); +SELECT @@session.last_insert_id; +@@session.last_insert_id +8 +## Dropping table t1 ## +drop table t1; +## Disconnecting both the connections ## diff --git a/mysql-test/r/lc_time_names_basic.result b/mysql-test/r/lc_time_names_basic.result new file mode 100644 index 00000000000..36f3c45f0da --- /dev/null +++ b/mysql-test/r/lc_time_names_basic.result @@ -0,0 +1,1094 @@ +SET @global_start_value = @@global.lc_time_names; +SELECT @global_start_value; +@global_start_value +en_US +SET @session_start_value = @@lc_time_names; +SELECT @session_start_value; +@session_start_value +en_US +SET @session_start_value = @@local.lc_time_names; +SELECT @session_start_value; +@session_start_value +en_US +SET @session_start_value = @@session.lc_time_names; +SELECT @session_start_value; +@session_start_value +en_US +'#--------------------FN_DYNVARS_060_01------------------#' +SELECT lc_time_names; +ERROR 42S22: Unknown column 'lc_time_names' in 'field list' +SET lc_time_names=ar_AE; +SELECT @@session.lc_time_names; +@@session.lc_time_names +ar_AE +SET global.lc_time_names=ar_AE; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'lc_time_names=ar_AE' at line 1 +SET session lc_time_names=ar_AE; +SELECT session lc_time_names; +ERROR 42S22: Unknown column 'session' in 'field list' +SET global lc_time_names=ar_AE; +SELECT global lc_time_names; +ERROR 42S22: Unknown column 'global' in 'field list' +'#--------------------FN_DYNVARS_060_02-------------------------#' +SET @@lc_time_names = en_ZA; +SET @@lc_time_names = DEFAULT; +SELECT @@lc_time_names AS DEFAULT_VALUE; +DEFAULT_VALUE +ar_AE +SET @@global.lc_time_names = en_ZA; +SET @@global.lc_time_names = DEFAULT; +SELECT @@global.lc_time_names; +@@global.lc_time_names +en_US +'#--------------------FN_DYNVARS_060_03-------------------------#' +SET @@session.lc_time_names = en_IN; +SELECT @@session.lc_time_names; +@@session.lc_time_names +en_IN +SET @@global.lc_time_names = en_NZ; +SELECT @@global.lc_time_names; +@@global.lc_time_names +en_NZ +SELECT @@session.lc_time_names AS res_is_en_IN; +res_is_en_IN +en_IN +SET @@session.lc_time_names = en_AU; +SELECT @@session.lc_time_names; +@@session.lc_time_names +en_AU +SELECT @@global.lc_time_names AS res_is_en_NZ; +res_is_en_NZ +en_NZ +SELECT @@global.lc_time_names=@@session.lc_time_names AS res_is_false; +res_is_false +0 +'#--------------------FN_DYNVARS_060_04-------------------------#' +SELECT @@lc_time_names = @@session.lc_time_names AS res; +res +1 +SELECT @@lc_time_names = @@local.lc_time_names AS res; +res +1 +'#--------------------FN_DYNVARS_060_05-------------------------#' +SET @@lc_time_names = en_US | en_GB ; +ERROR 42S22: Unknown column 'en_US' in 'field list' +'#--------------------FN_DYNVARS_060_06-------------------------#' +SET @@session.lc_time_names=ar_AE; +SELECT @@session.lc_time_names; +@@session.lc_time_names +ar_AE +SET @@session.lc_time_names=ar_BH; +SELECT @@session.lc_time_names; +@@session.lc_time_names +ar_BH +SET @@session.lc_time_names=ar_DZ; +SELECT @@session.lc_time_names; +@@session.lc_time_names +ar_DZ +SET @@session.lc_time_names=ar_EG; +SELECT @@session.lc_time_names; +@@session.lc_time_names +ar_EG +SET @@session.lc_time_names=ar_IN; +SELECT @@session.lc_time_names; +@@session.lc_time_names +ar_IN +SET @@session.lc_time_names=ar_IQ; +SELECT @@session.lc_time_names; +@@session.lc_time_names +ar_IQ +SET @@session.lc_time_names=ar_JO; +SELECT @@session.lc_time_names; +@@session.lc_time_names +ar_JO +SET @@session.lc_time_names=ar_KW; +SELECT @@session.lc_time_names; +@@session.lc_time_names +ar_KW +SET @@session.lc_time_names=ar_LB; +SELECT @@session.lc_time_names; +@@session.lc_time_names +ar_LB +SET @@session.lc_time_names=ar_LY; +SELECT @@session.lc_time_names; +@@session.lc_time_names +ar_LY +SET @@session.lc_time_names=ar_MA; +SELECT @@session.lc_time_names; +@@session.lc_time_names +ar_MA +SET @@session.lc_time_names=ar_OM; +SELECT @@session.lc_time_names; +@@session.lc_time_names +ar_OM +SET @@session.lc_time_names=ar_QA; +SELECT @@session.lc_time_names; +@@session.lc_time_names +ar_QA +SET @@session.lc_time_names=ar_SA; +SELECT @@session.lc_time_names; +@@session.lc_time_names +ar_SA +SET @@session.lc_time_names=ar_SD; +SELECT @@session.lc_time_names; +@@session.lc_time_names +ar_SD +SET @@session.lc_time_names=ar_SY; +SELECT @@session.lc_time_names; +@@session.lc_time_names +ar_SY +SET @@session.lc_time_names=ar_TN; +SELECT @@session.lc_time_names; +@@session.lc_time_names +ar_TN +SET @@session.lc_time_names=ar_YE; +SELECT @@session.lc_time_names; +@@session.lc_time_names +ar_YE +SET @@session.lc_time_names=be_BY; +SELECT @@session.lc_time_names; +@@session.lc_time_names +be_BY +SET @@session.lc_time_names=bg_BG; +SELECT @@session.lc_time_names; +@@session.lc_time_names +bg_BG +SET @@session.lc_time_names=ca_ES; +SELECT @@session.lc_time_names; +@@session.lc_time_names +ca_ES +SET @@session.lc_time_names=cs_CZ; +SELECT @@session.lc_time_names; +@@session.lc_time_names +cs_CZ +SET @@session.lc_time_names=da_DK; +SELECT @@session.lc_time_names; +@@session.lc_time_names +da_DK +SET @@session.lc_time_names=de_AT; +SELECT @@session.lc_time_names; +@@session.lc_time_names +de_AT +SET @@session.lc_time_names=de_BE; +SELECT @@session.lc_time_names; +@@session.lc_time_names +de_BE +SET @@session.lc_time_names=de_CH; +SELECT @@session.lc_time_names; +@@session.lc_time_names +de_CH +SET @@session.lc_time_names=de_DE; +SELECT @@session.lc_time_names; +@@session.lc_time_names +de_DE +SET @@session.lc_time_names=de_LU; +SELECT @@session.lc_time_names; +@@session.lc_time_names +de_LU +SET @@session.lc_time_names=EE; +ERROR HY000: Unknown locale: 'EE' +'Bug: The locale for Estonian - Estonia is not supported. It is present'; +'in manual'; +'See http://dev.mysql.com/doc/refman/5.1/en/locale-support.html' +SET @@session.lc_time_names=en_AU; +SELECT @@session.lc_time_names; +@@session.lc_time_names +en_AU +SET @@session.lc_time_names=en_CA; +SELECT @@session.lc_time_names; +@@session.lc_time_names +en_CA +SET @@session.lc_time_names=en_GB; +SELECT @@session.lc_time_names; +@@session.lc_time_names +en_GB +SET @@session.lc_time_names=en_IN; +SELECT @@session.lc_time_names; +@@session.lc_time_names +en_IN +SET @@session.lc_time_names=en_NZ; +SELECT @@session.lc_time_names; +@@session.lc_time_names +en_NZ +SET @@session.lc_time_names=en_PH; +SELECT @@session.lc_time_names; +@@session.lc_time_names +en_PH +SET @@session.lc_time_names=en_US; +SELECT @@session.lc_time_names; +@@session.lc_time_names +en_US +SET @@session.lc_time_names=en_ZA; +SELECT @@session.lc_time_names; +@@session.lc_time_names +en_ZA +SET @@session.lc_time_names=en_ZW; +SELECT @@session.lc_time_names; +@@session.lc_time_names +en_ZW +SET @@session.lc_time_names=es_AR; +SELECT @@session.lc_time_names; +@@session.lc_time_names +es_AR +SET @@session.lc_time_names=es_BO; +SELECT @@session.lc_time_names; +@@session.lc_time_names +es_BO +SET @@session.lc_time_names=es_CL; +SELECT @@session.lc_time_names; +@@session.lc_time_names +es_CL +SET @@session.lc_time_names=es_CO; +SELECT @@session.lc_time_names; +@@session.lc_time_names +es_CO +SET @@session.lc_time_names=es_CR; +SELECT @@session.lc_time_names; +@@session.lc_time_names +es_CR +SET @@session.lc_time_names=es_DO; +SELECT @@session.lc_time_names; +@@session.lc_time_names +es_DO +SET @@session.lc_time_names=es_EC; +SELECT @@session.lc_time_names; +@@session.lc_time_names +es_EC +SET @@session.lc_time_names=es_ES; +SELECT @@session.lc_time_names; +@@session.lc_time_names +es_ES +SET @@session.lc_time_names=es_GT; +SELECT @@session.lc_time_names; +@@session.lc_time_names +es_GT +SET @@session.lc_time_names=es_HN; +SELECT @@session.lc_time_names; +@@session.lc_time_names +es_HN +SET @@session.lc_time_names=es_MX; +SELECT @@session.lc_time_names; +@@session.lc_time_names +es_MX +SET @@session.lc_time_names=es_NI; +SELECT @@session.lc_time_names; +@@session.lc_time_names +es_NI +SET @@session.lc_time_names=es_PA; +SELECT @@session.lc_time_names; +@@session.lc_time_names +es_PA +SET @@session.lc_time_names=es_PE; +SELECT @@session.lc_time_names; +@@session.lc_time_names +es_PE +SET @@session.lc_time_names=es_PR; +SELECT @@session.lc_time_names; +@@session.lc_time_names +es_PR +SET @@session.lc_time_names=es_PY; +SELECT @@session.lc_time_names; +@@session.lc_time_names +es_PY +SET @@session.lc_time_names=es_SV; +SELECT @@session.lc_time_names; +@@session.lc_time_names +es_SV +SET @@session.lc_time_names=es_US; +SELECT @@session.lc_time_names; +@@session.lc_time_names +es_US +SET @@session.lc_time_names=es_UY; +SELECT @@session.lc_time_names; +@@session.lc_time_names +es_UY +SET @@session.lc_time_names=es_VE; +SELECT @@session.lc_time_names; +@@session.lc_time_names +es_VE +SET @@session.lc_time_names=eu_ES; +SELECT @@session.lc_time_names; +@@session.lc_time_names +eu_ES +SET @@session.lc_time_names=fi_FI; +SELECT @@session.lc_time_names; +@@session.lc_time_names +fi_FI +SET @@session.lc_time_names=fo_FO; +SELECT @@session.lc_time_names; +@@session.lc_time_names +fo_FO +SET @@session.lc_time_names=fr_BE; +SELECT @@session.lc_time_names; +@@session.lc_time_names +fr_BE +SET @@session.lc_time_names=fr_CA; +SELECT @@session.lc_time_names; +@@session.lc_time_names +fr_CA +SET @@session.lc_time_names=fr_CH; +SELECT @@session.lc_time_names; +@@session.lc_time_names +fr_CH +SET @@session.lc_time_names=fr_FR; +SELECT @@session.lc_time_names; +@@session.lc_time_names +fr_FR +SET @@session.lc_time_names=fr_LU; +SELECT @@session.lc_time_names; +@@session.lc_time_names +fr_LU +SET @@session.lc_time_names=gl_ES; +SELECT @@session.lc_time_names; +@@session.lc_time_names +gl_ES +SET @@session.lc_time_names=gu_IN; +SELECT @@session.lc_time_names; +@@session.lc_time_names +gu_IN +SET @@session.lc_time_names=he_IL; +SELECT @@session.lc_time_names; +@@session.lc_time_names +he_IL +SET @@session.lc_time_names=hi_IN; +SELECT @@session.lc_time_names; +@@session.lc_time_names +hi_IN +SET @@session.lc_time_names=hr_HR; +SELECT @@session.lc_time_names; +@@session.lc_time_names +hr_HR +SET @@session.lc_time_names=hu_HU; +SELECT @@session.lc_time_names; +@@session.lc_time_names +hu_HU +SET @@session.lc_time_names=id_ID; +SELECT @@session.lc_time_names; +@@session.lc_time_names +id_ID +SET @@session.lc_time_names=is_IS; +SELECT @@session.lc_time_names; +@@session.lc_time_names +is_IS +SET @@session.lc_time_names=it_CH; +SELECT @@session.lc_time_names; +@@session.lc_time_names +it_CH +SET @@session.lc_time_names=it_IT; +SELECT @@session.lc_time_names; +@@session.lc_time_names +it_IT +SET @@session.lc_time_names=ja_JP; +SELECT @@session.lc_time_names; +@@session.lc_time_names +ja_JP +SET @@session.lc_time_names=ko_KR; +SELECT @@session.lc_time_names; +@@session.lc_time_names +ko_KR +SET @@session.lc_time_names=lt_LT; +SELECT @@session.lc_time_names; +@@session.lc_time_names +lt_LT +SET @@session.lc_time_names=lv_LV; +SELECT @@session.lc_time_names; +@@session.lc_time_names +lv_LV +SET @@session.lc_time_names=mk_MK; +SELECT @@session.lc_time_names; +@@session.lc_time_names +mk_MK +SET @@session.lc_time_names=mn_MN; +SELECT @@session.lc_time_names; +@@session.lc_time_names +mn_MN +SET @@session.lc_time_names=ms_MY; +SELECT @@session.lc_time_names; +@@session.lc_time_names +ms_MY +SET @@session.lc_time_names=nb_NO; +SELECT @@session.lc_time_names; +@@session.lc_time_names +nb_NO +SET @@session.lc_time_names=nl_BE; +SELECT @@session.lc_time_names; +@@session.lc_time_names +nl_BE +SET @@session.lc_time_names=nl_NL; +SELECT @@session.lc_time_names; +@@session.lc_time_names +nl_NL +SET @@session.lc_time_names=no_NO; +SELECT @@session.lc_time_names; +@@session.lc_time_names +no_NO +SET @@session.lc_time_names=pl_PL; +SELECT @@session.lc_time_names; +@@session.lc_time_names +pl_PL +SET @@session.lc_time_names=pt_BR; +SELECT @@session.lc_time_names; +@@session.lc_time_names +pt_BR +SET @@session.lc_time_names=pt_PT; +SELECT @@session.lc_time_names; +@@session.lc_time_names +pt_PT +SET @@session.lc_time_names=ro_RO; +SELECT @@session.lc_time_names; +@@session.lc_time_names +ro_RO +SET @@session.lc_time_names=ru_RU; +SELECT @@session.lc_time_names; +@@session.lc_time_names +ru_RU +SET @@session.lc_time_names=ru_UA; +SELECT @@session.lc_time_names; +@@session.lc_time_names +ru_UA +SET @@session.lc_time_names=sk_SK; +SELECT @@session.lc_time_names; +@@session.lc_time_names +sk_SK +SET @@session.lc_time_names=sl_SI; +SELECT @@session.lc_time_names; +@@session.lc_time_names +sl_SI +SET @@session.lc_time_names=sq_AL; +SELECT @@session.lc_time_names; +@@session.lc_time_names +sq_AL +SET @@session.lc_time_names=sr_YU; +SELECT @@session.lc_time_names; +@@session.lc_time_names +sr_YU +SET @@session.lc_time_names=sv_FI; +SELECT @@session.lc_time_names; +@@session.lc_time_names +sv_FI +SET @@session.lc_time_names=sv_SE; +SELECT @@session.lc_time_names; +@@session.lc_time_names +sv_SE +SET @@session.lc_time_names=ta_IN; +SELECT @@session.lc_time_names; +@@session.lc_time_names +ta_IN +SET @@session.lc_time_names=te_IN; +SELECT @@session.lc_time_names; +@@session.lc_time_names +te_IN +SET @@session.lc_time_names=th_TH; +SELECT @@session.lc_time_names; +@@session.lc_time_names +th_TH +SET @@session.lc_time_names=tr_TR; +SELECT @@session.lc_time_names; +@@session.lc_time_names +tr_TR +SET @@session.lc_time_names=uk_UA; +SELECT @@session.lc_time_names; +@@session.lc_time_names +uk_UA +SET @@session.lc_time_names=ur_PK; +SELECT @@session.lc_time_names; +@@session.lc_time_names +ur_PK +SET @@session.lc_time_names=vi_VN; +SELECT @@session.lc_time_names; +@@session.lc_time_names +vi_VN +SET @@session.lc_time_names=zh_CN; +SELECT @@session.lc_time_names; +@@session.lc_time_names +zh_CN +SET @@session.lc_time_names=zh_HK; +SELECT @@session.lc_time_names; +@@session.lc_time_names +zh_HK +SET @@session.lc_time_names=zh_TW; +SELECT @@session.lc_time_names; +@@session.lc_time_names +zh_TW +'#--------------------FN_DYNVARS_060_07-------------------------#' +SET @@global.lc_time_names=ar_AE; +SELECT @@global.lc_time_names; +@@global.lc_time_names +ar_AE +SET @@global.lc_time_names=ar_BH; +SELECT @@global.lc_time_names; +@@global.lc_time_names +ar_BH +SET @@global.lc_time_names=ar_DZ; +SELECT @@global.lc_time_names; +@@global.lc_time_names +ar_DZ +SET @@global.lc_time_names=ar_EG; +SELECT @@global.lc_time_names; +@@global.lc_time_names +ar_EG +SET @@global.lc_time_names=ar_IN; +SELECT @@global.lc_time_names; +@@global.lc_time_names +ar_IN +SET @@global.lc_time_names=ar_IQ; +SELECT @@global.lc_time_names; +@@global.lc_time_names +ar_IQ +SET @@global.lc_time_names=ar_JO; +SELECT @@global.lc_time_names; +@@global.lc_time_names +ar_JO +SET @@global.lc_time_names=ar_KW; +SELECT @@global.lc_time_names; +@@global.lc_time_names +ar_KW +SET @@global.lc_time_names=ar_LB; +SELECT @@global.lc_time_names; +@@global.lc_time_names +ar_LB +SET @@global.lc_time_names=ar_LY; +SELECT @@global.lc_time_names; +@@global.lc_time_names +ar_LY +SET @@global.lc_time_names=ar_MA; +SELECT @@global.lc_time_names; +@@global.lc_time_names +ar_MA +SET @@global.lc_time_names=ar_OM; +SELECT @@global.lc_time_names; +@@global.lc_time_names +ar_OM +SET @@global.lc_time_names=ar_QA; +SELECT @@global.lc_time_names; +@@global.lc_time_names +ar_QA +SET @@global.lc_time_names=ar_SA; +SELECT @@global.lc_time_names; +@@global.lc_time_names +ar_SA +SET @@global.lc_time_names=ar_SD; +SELECT @@global.lc_time_names; +@@global.lc_time_names +ar_SD +SET @@global.lc_time_names=ar_SY; +SELECT @@global.lc_time_names; +@@global.lc_time_names +ar_SY +SET @@global.lc_time_names=ar_TN; +SELECT @@global.lc_time_names; +@@global.lc_time_names +ar_TN +SET @@global.lc_time_names=ar_YE; +SELECT @@global.lc_time_names; +@@global.lc_time_names +ar_YE +SET @@global.lc_time_names=be_BY; +SELECT @@global.lc_time_names; +@@global.lc_time_names +be_BY +SET @@global.lc_time_names=bg_BG; +SELECT @@global.lc_time_names; +@@global.lc_time_names +bg_BG +SET @@global.lc_time_names=ca_ES; +SELECT @@global.lc_time_names; +@@global.lc_time_names +ca_ES +SET @@global.lc_time_names=cs_CZ; +SELECT @@global.lc_time_names; +@@global.lc_time_names +cs_CZ +SET @@global.lc_time_names=da_DK; +SELECT @@global.lc_time_names; +@@global.lc_time_names +da_DK +SET @@global.lc_time_names=de_AT; +SELECT @@global.lc_time_names; +@@global.lc_time_names +de_AT +SET @@global.lc_time_names=de_BE; +SELECT @@global.lc_time_names; +@@global.lc_time_names +de_BE +SET @@global.lc_time_names=de_CH; +SELECT @@global.lc_time_names; +@@global.lc_time_names +de_CH +SET @@global.lc_time_names=de_DE; +SELECT @@global.lc_time_names; +@@global.lc_time_names +de_DE +SET @@global.lc_time_names=de_LU; +SELECT @@global.lc_time_names; +@@global.lc_time_names +de_LU +SET @@global.lc_time_names=EE; +ERROR HY000: Unknown locale: 'EE' +'Bug: The locale for Estonian - Estonia is not supported. It is'; +'present in manual'; +'See http://dev.mysql.com/doc/refman/5.1/en/locale-support.html'; +SELECT @@global.lc_time_names; +@@global.lc_time_names +de_LU +SET @@global.lc_time_names=en_AU; +SELECT @@global.lc_time_names; +@@global.lc_time_names +en_AU +SET @@global.lc_time_names=en_CA; +SELECT @@global.lc_time_names; +@@global.lc_time_names +en_CA +SET @@global.lc_time_names=en_GB; +SELECT @@global.lc_time_names; +@@global.lc_time_names +en_GB +SET @@global.lc_time_names=en_IN; +SELECT @@global.lc_time_names; +@@global.lc_time_names +en_IN +SET @@global.lc_time_names=en_NZ; +SELECT @@global.lc_time_names; +@@global.lc_time_names +en_NZ +SET @@global.lc_time_names=en_PH; +SELECT @@global.lc_time_names; +@@global.lc_time_names +en_PH +SET @@global.lc_time_names=en_US; +SELECT @@global.lc_time_names; +@@global.lc_time_names +en_US +SET @@global.lc_time_names=en_ZA; +SELECT @@global.lc_time_names; +@@global.lc_time_names +en_ZA +SET @@global.lc_time_names=en_ZW; +SELECT @@global.lc_time_names; +@@global.lc_time_names +en_ZW +SET @@global.lc_time_names=es_AR; +SELECT @@global.lc_time_names; +@@global.lc_time_names +es_AR +SET @@global.lc_time_names=es_BO; +SELECT @@global.lc_time_names; +@@global.lc_time_names +es_BO +SET @@global.lc_time_names=es_CL; +SELECT @@global.lc_time_names; +@@global.lc_time_names +es_CL +SET @@global.lc_time_names=es_CO; +SELECT @@global.lc_time_names; +@@global.lc_time_names +es_CO +SET @@global.lc_time_names=es_CR; +SELECT @@global.lc_time_names; +@@global.lc_time_names +es_CR +SET @@global.lc_time_names=es_DO; +SELECT @@global.lc_time_names; +@@global.lc_time_names +es_DO +SET @@global.lc_time_names=es_EC; +SELECT @@global.lc_time_names; +@@global.lc_time_names +es_EC +SET @@global.lc_time_names=es_ES; +SELECT @@global.lc_time_names; +@@global.lc_time_names +es_ES +SET @@global.lc_time_names=es_GT; +SELECT @@global.lc_time_names; +@@global.lc_time_names +es_GT +SET @@global.lc_time_names=es_HN; +SELECT @@global.lc_time_names; +@@global.lc_time_names +es_HN +SET @@global.lc_time_names=es_MX; +SELECT @@global.lc_time_names; +@@global.lc_time_names +es_MX +SET @@global.lc_time_names=es_NI; +SELECT @@global.lc_time_names; +@@global.lc_time_names +es_NI +SET @@global.lc_time_names=es_PA; +SELECT @@global.lc_time_names; +@@global.lc_time_names +es_PA +SET @@global.lc_time_names=es_PE; +SELECT @@global.lc_time_names; +@@global.lc_time_names +es_PE +SET @@global.lc_time_names=es_PR; +SELECT @@global.lc_time_names; +@@global.lc_time_names +es_PR +SET @@global.lc_time_names=es_PY; +SELECT @@global.lc_time_names; +@@global.lc_time_names +es_PY +SET @@global.lc_time_names=es_SV; +SELECT @@global.lc_time_names; +@@global.lc_time_names +es_SV +SET @@global.lc_time_names=es_US; +SELECT @@global.lc_time_names; +@@global.lc_time_names +es_US +SET @@global.lc_time_names=es_UY; +SELECT @@global.lc_time_names; +@@global.lc_time_names +es_UY +SET @@global.lc_time_names=es_VE; +SELECT @@global.lc_time_names; +@@global.lc_time_names +es_VE +SET @@global.lc_time_names=eu_ES; +SELECT @@global.lc_time_names; +@@global.lc_time_names +eu_ES +SET @@global.lc_time_names=fi_FI; +SELECT @@global.lc_time_names; +@@global.lc_time_names +fi_FI +SET @@global.lc_time_names=fo_FO; +SELECT @@global.lc_time_names; +@@global.lc_time_names +fo_FO +SET @@global.lc_time_names=fr_BE; +SELECT @@global.lc_time_names; +@@global.lc_time_names +fr_BE +SET @@global.lc_time_names=fr_CA; +SELECT @@global.lc_time_names; +@@global.lc_time_names +fr_CA +SET @@global.lc_time_names=fr_CH; +SELECT @@global.lc_time_names; +@@global.lc_time_names +fr_CH +SET @@global.lc_time_names=fr_FR; +SELECT @@global.lc_time_names; +@@global.lc_time_names +fr_FR +SET @@global.lc_time_names=fr_LU; +SELECT @@global.lc_time_names; +@@global.lc_time_names +fr_LU +SET @@global.lc_time_names=gl_ES; +SELECT @@global.lc_time_names; +@@global.lc_time_names +gl_ES +SET @@global.lc_time_names=gu_IN; +SELECT @@global.lc_time_names; +@@global.lc_time_names +gu_IN +SET @@global.lc_time_names=he_IL; +SELECT @@global.lc_time_names; +@@global.lc_time_names +he_IL +SET @@global.lc_time_names=hi_IN; +SELECT @@global.lc_time_names; +@@global.lc_time_names +hi_IN +SET @@global.lc_time_names=hr_HR; +SELECT @@global.lc_time_names; +@@global.lc_time_names +hr_HR +SET @@global.lc_time_names=hu_HU; +SELECT @@global.lc_time_names; +@@global.lc_time_names +hu_HU +SET @@global.lc_time_names=id_ID; +SELECT @@global.lc_time_names; +@@global.lc_time_names +id_ID +SET @@global.lc_time_names=is_IS; +SELECT @@global.lc_time_names; +@@global.lc_time_names +is_IS +SET @@global.lc_time_names=it_CH; +SELECT @@global.lc_time_names; +@@global.lc_time_names +it_CH +SET @@global.lc_time_names=it_IT; +SELECT @@global.lc_time_names; +@@global.lc_time_names +it_IT +SET @@global.lc_time_names=ja_JP; +SELECT @@global.lc_time_names; +@@global.lc_time_names +ja_JP +SET @@global.lc_time_names=ko_KR; +SELECT @@global.lc_time_names; +@@global.lc_time_names +ko_KR +SET @@global.lc_time_names=lt_LT; +SELECT @@global.lc_time_names; +@@global.lc_time_names +lt_LT +SET @@global.lc_time_names=lv_LV; +SELECT @@global.lc_time_names; +@@global.lc_time_names +lv_LV +SET @@global.lc_time_names=mk_MK; +SELECT @@global.lc_time_names; +@@global.lc_time_names +mk_MK +SET @@global.lc_time_names=mn_MN; +SELECT @@global.lc_time_names; +@@global.lc_time_names +mn_MN +SET @@global.lc_time_names=ms_MY; +SELECT @@global.lc_time_names; +@@global.lc_time_names +ms_MY +SET @@global.lc_time_names=nb_NO; +SELECT @@global.lc_time_names; +@@global.lc_time_names +nb_NO +SET @@global.lc_time_names=nl_BE; +SELECT @@global.lc_time_names; +@@global.lc_time_names +nl_BE +SET @@global.lc_time_names=nl_NL; +SELECT @@global.lc_time_names; +@@global.lc_time_names +nl_NL +SET @@global.lc_time_names=no_NO; +SELECT @@global.lc_time_names; +@@global.lc_time_names +no_NO +SET @@global.lc_time_names=pl_PL; +SELECT @@global.lc_time_names; +@@global.lc_time_names +pl_PL +SET @@global.lc_time_names=pt_BR; +SELECT @@global.lc_time_names; +@@global.lc_time_names +pt_BR +SET @@global.lc_time_names=pt_PT; +SELECT @@global.lc_time_names; +@@global.lc_time_names +pt_PT +SET @@global.lc_time_names=ro_RO; +SELECT @@global.lc_time_names; +@@global.lc_time_names +ro_RO +SET @@global.lc_time_names=ru_RU; +SELECT @@global.lc_time_names; +@@global.lc_time_names +ru_RU +SET @@global.lc_time_names=ru_UA; +SELECT @@global.lc_time_names; +@@global.lc_time_names +ru_UA +SET @@global.lc_time_names=sk_SK; +SELECT @@global.lc_time_names; +@@global.lc_time_names +sk_SK +SET @@global.lc_time_names=sl_SI; +SELECT @@global.lc_time_names; +@@global.lc_time_names +sl_SI +SET @@global.lc_time_names=sq_AL; +SELECT @@global.lc_time_names; +@@global.lc_time_names +sq_AL +SET @@global.lc_time_names=sr_YU; +SELECT @@global.lc_time_names; +@@global.lc_time_names +sr_YU +SET @@global.lc_time_names=sv_FI; +SELECT @@global.lc_time_names; +@@global.lc_time_names +sv_FI +SET @@global.lc_time_names=sv_SE; +SELECT @@global.lc_time_names; +@@global.lc_time_names +sv_SE +SET @@global.lc_time_names=ta_IN; +SELECT @@global.lc_time_names; +@@global.lc_time_names +ta_IN +SET @@global.lc_time_names=te_IN; +SELECT @@global.lc_time_names; +@@global.lc_time_names +te_IN +SET @@global.lc_time_names=th_TH; +SELECT @@global.lc_time_names; +@@global.lc_time_names +th_TH +SET @@global.lc_time_names=tr_TR; +SELECT @@global.lc_time_names; +@@global.lc_time_names +tr_TR +SET @@global.lc_time_names=uk_UA; +SELECT @@global.lc_time_names; +@@global.lc_time_names +uk_UA +SET @@global.lc_time_names=ur_PK; +SELECT @@global.lc_time_names; +@@global.lc_time_names +ur_PK +SET @@global.lc_time_names=vi_VN; +SELECT @@global.lc_time_names; +@@global.lc_time_names +vi_VN +SET @@global.lc_time_names=zh_CN; +SELECT @@global.lc_time_names; +@@global.lc_time_names +zh_CN +SET @@global.lc_time_names=zh_HK; +SELECT @@global.lc_time_names; +@@global.lc_time_names +zh_HK +SET @@global.lc_time_names=zh_TW; +SELECT @@global.lc_time_names; +@@global.lc_time_names +zh_TW +'#--------------------FN_DYNVARS_060_08-------------------------#' +SET @@lc_time_names = ur_pk; +SELECT @@lc_time_names; +@@lc_time_names +ur_PK +SET @@lc_time_names = UR_PK; +SELECT @@lc_time_names; +@@lc_time_names +ur_PK +SET @@lc_time_names = uR_pK; +SELECT @@lc_time_names; +@@lc_time_names +ur_PK +'#--------------------FN_DYNVARS_060_09-------------------------#' +SET @@lc_time_names = 0; +SELECT @@lc_time_names; +@@lc_time_names +en_US +SET @@lc_time_names = 1; +SELECT @@lc_time_names; +@@lc_time_names +en_GB +SET @@lc_time_names = 2; +SELECT @@lc_time_names; +@@lc_time_names +ja_JP +SET @@lc_time_names = 3; +SELECT @@lc_time_names; +@@lc_time_names +sv_SE +SET @@lc_time_names = 10; +SELECT @@lc_time_names; +@@lc_time_names +ar_SY +SET @@lc_time_names = 50; +SELECT @@lc_time_names; +@@lc_time_names +te_IN +SET @@lc_time_names = 100; +SELECT @@lc_time_names; +@@lc_time_names +fr_BE +SET @@lc_time_names = 101; +SELECT @@lc_time_names; +@@lc_time_names +fr_CA +SET @@lc_time_names = 107; +SELECT @@lc_time_names; +@@lc_time_names +sv_FI +SET @@lc_time_names = 108; +SELECT @@lc_time_names; +@@lc_time_names +zh_HK +SET @@lc_time_names = 109; +ERROR HY000: Unknown locale: '109' +'#--------------------FN_DYNVARS_060_10-------------------------#' +SET @@lc_time_names = en_EN; +ERROR HY000: Unknown locale: 'en_EN' +SET @@lc_time_names = US_en; +ERROR HY000: Unknown locale: 'US_en' +SET @@lc_time_names = 1.1; +ERROR 42000: Incorrect argument type to variable 'lc_time_names' +SET @@lc_time_names = -1; +ERROR HY000: Unknown locale: '-1' +SET @@lc_time_names = 'en US'; +ERROR HY000: Unknown locale: 'en US' +SET @@lc_time_names = 'enUS'; +ERROR HY000: Unknown locale: 'enUS' +SET @@lc_time_names = true; +SELECT @@lc_time_names AS res_with_true; +res_with_true +en_GB +SET @@lc_time_names = false; +SELECT @@lc_time_names AS res_with_false; +res_with_false +en_US +SET @@lc_time_names = ON; +ERROR HY000: Unknown locale: 'ON' +'#--------------------FN_DYNVARS_060_11-------------------------#' +SET @@global.lc_time_names = en_EN; +ERROR HY000: Unknown locale: 'en_EN' +SET @@global.lc_time_names = US_en; +ERROR HY000: Unknown locale: 'US_en' +SET @@global.lc_time_names = 1.1; +ERROR 42000: Incorrect argument type to variable 'lc_time_names' +SET @@global.lc_time_names = -1; +ERROR HY000: Unknown locale: '-1' +SET @@global.lc_time_names = NULL; +ERROR 42000: Variable 'lc_time_names' can't be set to the value of 'NULL' +SET @@global.lc_time_names = 'enUS'; +ERROR HY000: Unknown locale: 'enUS' +SET @@global.lc_time_names = true; +SELECT @@global.lc_time_names; +@@global.lc_time_names +en_GB +SET @@global.lc_time_names = false; +SELECT @@global.lc_time_names; +@@global.lc_time_names +en_US +SET @@global.lc_time_names = ON; +ERROR HY000: Unknown locale: 'ON' +'#--------------------FN_DYNVARS_060_12-------------------------#' +SELECT @@global.lc_time_names = (SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='lc_time_names') AS res; +res +1 +SET @@global.lc_time_names = 1; +SELECT @@global.lc_time_names; +@@global.lc_time_names +en_GB +SELECT @@global.lc_time_names = (SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='lc_time_names') AS res; +res +1 +'#--------------------FN_DYNVARS_060_13-------------------------#' +SELECT @@lc_time_names = (SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='lc_time_names') AS res; +res +1 +SELECT @@local.lc_time_names = (SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='lc_time_names') AS res; +res +1 +SELECT @@session.lc_time_names = (SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='lc_time_names') AS res; +res +1 +SET @@global.lc_time_names = @global_start_value; +SELECT @@global.lc_time_names; +@@global.lc_time_names +en_US +SET @@session.lc_time_names = @session_start_value; +SELECT @@session.lc_time_names; +@@session.lc_time_names +en_US diff --git a/mysql-test/r/lc_time_names_func.result b/mysql-test/r/lc_time_names_func.result new file mode 100644 index 00000000000..703aa65a6be --- /dev/null +++ b/mysql-test/r/lc_time_names_func.result @@ -0,0 +1,55 @@ +'#--------------------FN_DYNVARS_060_01-------------------------#' +SET @@global.lc_time_names = "en_CA"; +'connect (con1,localhost,root,,,,)' +'connection con1' +SELECT @@global.lc_time_names; +@@global.lc_time_names +en_CA +SELECT @@session.lc_time_names; +@@session.lc_time_names +en_CA +SET @@global.lc_time_names = "en_IN"; +'connect (con2,localhost,root,,,,)' +'connection con2' +SELECT @@global.lc_time_names; +@@global.lc_time_names +en_IN +SELECT @@session.lc_time_names; +@@session.lc_time_names +en_IN +'#--------------------FN_DYNVARS_060_02-------------------------#' +'connection default' +SET NAMES 'utf8'; +SET @@session.lc_time_names = 'en_US'; +SELECT DATE_FORMAT('2010-01-01','%W %a %M %b'), DAYNAME('2010-05-05'),MONTHNAME('2010-12-12'); +DATE_FORMAT('2010-01-01','%W %a %M %b') DAYNAME('2010-05-05') MONTHNAME('2010-12-12') +Friday Fri January Jan Wednesday December +SET @@session.lc_time_names = 'ar_AE'; +SELECT DATE_FORMAT('2010-01-01','%W %a %M %b'), DAYNAME('2010-05-05'),MONTHNAME('2010-12-12'); +DATE_FORMAT('2010-01-01','%W %a %M %b') DAYNAME('2010-05-05') MONTHNAME('2010-12-12') +الجمعة ج يناير ينا الأربعاء ديسمبر +SET @@session.lc_time_names = 'es_ES'; +SELECT DATE_FORMAT('2010-01-01','%W %a %M %b'), DAYNAME('2010-05-05'),MONTHNAME('2010-12-12'); +DATE_FORMAT('2010-01-01','%W %a %M %b') DAYNAME('2010-05-05') MONTHNAME('2010-12-12') +viernes vie enero ene miércoles diciembre +SET @@session.lc_time_names = 'fi_FI'; +SELECT DATE_FORMAT('2010-01-01','%W %a %M %b'), DAYNAME('2010-05-05'),MONTHNAME('2010-12-12'); +DATE_FORMAT('2010-01-01','%W %a %M %b') DAYNAME('2010-05-05') MONTHNAME('2010-12-12') +perjantai pe tammikuu tammi  keskiviikko joulukuu +SET @@session.lc_time_names = 'gu_IN'; +SELECT DATE_FORMAT('2010-01-01','%W %a %M %b'), DAYNAME('2010-05-05'),MONTHNAME('2010-12-12'); +DATE_FORMAT('2010-01-01','%W %a %M %b') DAYNAME('2010-05-05') MONTHNAME('2010-12-12') +શà«àª•à«àª°àªµàª¾àª° શà«àª•à«àª° જાનà«àª¯à«àª†àª°à«€ જાન બà«àª§àªµàª¾àª° ડિસેમà«àª¬àª° +SET @@session.lc_time_names = 'it_IT'; +SELECT DATE_FORMAT('2010-01-01','%W %a %M %b'), DAYNAME('2010-05-05'),MONTHNAME('2010-12-12'); +DATE_FORMAT('2010-01-01','%W %a %M %b') DAYNAME('2010-05-05') MONTHNAME('2010-12-12') +venerdì ven gennaio gen mercoledì dicembre +SET @@session.lc_time_names = 'pt_BR'; +SELECT DATE_FORMAT('2010-01-01','%W %a %M %b'), DAYNAME('2010-05-05'),MONTHNAME('2010-12-12'); +DATE_FORMAT('2010-01-01','%W %a %M %b') DAYNAME('2010-05-05') MONTHNAME('2010-12-12') +sexta Sex janeiro Jan quarta dezembro +SET @@session.lc_time_names = 'ur_PK'; +SELECT DATE_FORMAT('2010-01-01','%W %a %M %b'), DAYNAME('2010-05-05'),MONTHNAME('2010-12-12'); +DATE_FORMAT('2010-01-01','%W %a %M %b') DAYNAME('2010-05-05') MONTHNAME('2010-12-12') +جمعه جمعه جنوري جنوري بدھ دسمبر +SET @@global.lc_time_names = "en_US"; diff --git a/mysql-test/r/license_basic.result b/mysql-test/r/license_basic.result new file mode 100644 index 00000000000..1f92e595020 --- /dev/null +++ b/mysql-test/r/license_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_040_01----------------------#' +SELECT COUNT(@@GLOBAL.license); +COUNT(@@GLOBAL.license) +1 +1 Expected +'#---------------------BS_STVARS_040_02----------------------#' +SET @@GLOBAL.license=1; +ERROR HY000: Variable 'license' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.license); +COUNT(@@GLOBAL.license) +1 +1 Expected +'#---------------------BS_STVARS_040_03----------------------#' +SELECT @@GLOBAL.license = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='license'; +@@GLOBAL.license = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.license); +COUNT(@@GLOBAL.license) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='license'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_040_04----------------------#' +SELECT @@license = @@GLOBAL.license; +@@license = @@GLOBAL.license +1 +1 Expected +'#---------------------BS_STVARS_040_05----------------------#' +SELECT COUNT(@@license); +COUNT(@@license) +1 +1 Expected +SELECT COUNT(@@local.license); +ERROR HY000: Variable 'license' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.license); +ERROR HY000: Variable 'license' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.license); +COUNT(@@GLOBAL.license) +1 +1 Expected +SELECT license = @@SESSION.license; +ERROR 42S22: Unknown column 'license' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/local_infile_basic.result b/mysql-test/r/local_infile_basic.result new file mode 100644 index 00000000000..5f4c215719a --- /dev/null +++ b/mysql-test/r/local_infile_basic.result @@ -0,0 +1,99 @@ +SET @start_value = @@global.local_infile; +SELECT @start_value; +@start_value +1 +'#--------------------FN_DYNVARS_018_01------------------------#' +SET @@global.local_infile = 0; +SET @@global.local_infile = DEFAULT; +SELECT @@global.local_infile; +@@global.local_infile +1 +'#---------------------FN_DYNVARS_018_02-------------------------#' +SET @@global.local_infile = DEFAULT; +SELECT @@global.local_infile = 1; +@@global.local_infile = 1 +1 +'#--------------------FN_DYNVARS_018_03------------------------#' +SET @@global.local_infile = 0; +SELECT @@global.local_infile; +@@global.local_infile +0 +SET @@global.local_infile = 1; +SELECT @@global.local_infile; +@@global.local_infile +1 +'#--------------------FN_DYNVARS_018_04-------------------------#' +SET @@global.local_infile = -1; +ERROR 42000: Variable 'local_infile' can't be set to the value of '-1' +SET @@global.local_infile = 2; +ERROR 42000: Variable 'local_infile' can't be set to the value of '2' +SET @@global.local_infile = 100; +ERROR 42000: Variable 'local_infile' can't be set to the value of '100' +SET @@global.local_infile = TRUEF; +ERROR 42000: Variable 'local_infile' can't be set to the value of 'TRUEF' +SET @@global.local_infile = TRUE_F; +ERROR 42000: Variable 'local_infile' can't be set to the value of 'TRUE_F' +SET @@global.local_infile = FALSE0; +ERROR 42000: Variable 'local_infile' can't be set to the value of 'FALSE0' +SET @@global.local_infile = OON; +ERROR 42000: Variable 'local_infile' can't be set to the value of 'OON' +SET @@global.local_infile = ONN; +ERROR 42000: Variable 'local_infile' can't be set to the value of 'ONN' +SET @@global.local_infile = OOFF; +ERROR 42000: Variable 'local_infile' can't be set to the value of 'OOFF' +SET @@global.local_infile = 0FF; +ERROR 42000: Variable 'local_infile' can't be set to the value of '0FF' +SET @@global.local_infile = ' '; +ERROR 42000: Variable 'local_infile' can't be set to the value of ' ' +SET @@global.local_infile = " "; +ERROR 42000: Variable 'local_infile' can't be set to the value of ' ' +'#-------------------FN_DYNVARS_018_05----------------------------#' +SET @@session.local_infile = 1; +ERROR HY000: Variable 'local_infile' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@session.local_infile = 1; +ERROR HY000: Variable 'local_infile' is a GLOBAL variable +'#----------------------FN_DYNVARS_018_06------------------------#' +SELECT @@global.local_infile = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='local_infile'; +@@global.local_infile = VARIABLE_VALUE +0 +'#---------------------FN_DYNVARS_018_07----------------------#' +SET @@global.local_infile = OFF; +SELECT @@global.local_infile; +@@global.local_infile +0 +SET @@global.local_infile = ON; +SELECT @@global.local_infile; +@@global.local_infile +1 +'#---------------------FN_DYNVARS_018_08----------------------#' +SET @@global.local_infile = TRUE; +SELECT @@global.local_infile; +@@global.local_infile +1 +SET @@global.local_infile = FALSE; +SELECT @@global.local_infile; +@@global.local_infile +0 +'#---------------------FN_DYNVARS_018_09----------------------#' +SET @@global.local_infile = 1; +SELECT @@local_infile = @@global.local_infile; +@@local_infile = @@global.local_infile +1 +'#---------------------FN_DYNVARS_018_10----------------------#' +SET local_infile = 1; +ERROR HY000: Variable 'local_infile' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@local_infile; +@@local_infile +1 +SET global.local_infile = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'local_infile = 1' at line 1 +SELECT global.local_infile; +ERROR 42S02: Unknown table 'global' in field list +SELECT local_infile = @@session.local_infile; +ERROR 42S22: Unknown column 'local_infile' in 'field list' +SET @@global.local_infile = @start_value; +SELECT @@global.local_infile; +@@global.local_infile +1 diff --git a/mysql-test/r/local_infile_func.result b/mysql-test/r/local_infile_func.result new file mode 100644 index 00000000000..66a1e5544fb --- /dev/null +++ b/mysql-test/r/local_infile_func.result @@ -0,0 +1,36 @@ +'#--------------------FN_DYNVARS_037_01-------------------------#' +SET @@global.local_infile = 0; +'connect (con1,localhost,root,,,,)' +'connection con1' +SELECT @@global.local_infile; +@@global.local_infile +0 +SET @@global.local_infile = 1; +'connect (con2,localhost,root,,,,)' +'connection con2' +SELECT @@global.local_infile; +@@global.local_infile +1 +'#--------------------FN_DYNVARS_037_02-------------------------#' +'connection con1' +'-----Checking LOAD DATA when local_infile is 1-------' +SET @@global.local_infile = 1; +DROP TABLE IF EXISTS t1; +create table t1(a int); +LOAD DATA LOCAL INFILE +'MYSQLTEST_VARDIR/std_data/numbers.txt' INTO TABLE test.t1; +SELECT count(*) from t1; +count(*) +9 +'-----Checking LOAD DATA when local_infile is 0-------' +SET @@global.local_infile = 0; +DROP TABLE IF EXISTS t1; +create table t1(a int); +LOAD DATA LOCAL INFILE +'MYSQLTEST_VARDIR/std_data/numbers.txt' INTO TABLE test.t1; +ERROR 42000: The used command is not allowed with this MySQL version +SELECT count(*) from t1; +count(*) +0 +DROP TABLE t1; +SET @@global.local_infile = 1; diff --git a/mysql-test/r/log_basic.result b/mysql-test/r/log_basic.result new file mode 100644 index 00000000000..44d0ff48f1d --- /dev/null +++ b/mysql-test/r/log_basic.result @@ -0,0 +1,17 @@ +'#--------------------FN_DYNVARS_062_01------------------#' +SELECT @@global.log AS INIT_VALUE; +INIT_VALUE +1 +SELECT @@log AS INIT_VALUE; +INIT_VALUE +1 +SET @@global.log = ON; +SET global log = 0; +'Bug# 34832: log is a system but it is not accessible using SET @@global.log;' +'SET GLOBAL log; and SELECT @@global.log. SHOW VARIABLES shows the value of log.' +'#--------------------FN_DYNVARS_062_02-------------------------#' +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='log'; +VARIABLE_VALUE +OFF diff --git a/mysql-test/r/log_bin_trust_function_creators_basic.result b/mysql-test/r/log_bin_trust_function_creators_basic.result new file mode 100644 index 00000000000..40dc0e217c4 --- /dev/null +++ b/mysql-test/r/log_bin_trust_function_creators_basic.result @@ -0,0 +1,100 @@ +SET @start_global_value = @@global.log_bin_trust_function_creators; +SELECT @start_global_value; +@start_global_value +1 +'Bug# 34876: TRUE value is coming as Default' +SET @start_session_value = @@session.log_bin_trust_function_creators; +ERROR HY000: Variable 'log_bin_trust_function_creators' is a GLOBAL variable +'Bug# 34881: According to documentation the scope of this variable is GLOBAL as well as SESSION too'; +'#--------------------FN_DYNVARS_063_01-------------------------#' +SET @@global.log_bin_trust_function_creators = TRUE; +SET @@global.log_bin_trust_function_creators = DEFAULT; +SELECT @@global.log_bin_trust_function_creators; +@@global.log_bin_trust_function_creators +0 +'#--------------------FN_DYNVARS_063_02-------------------------#' +SET @@global.log_bin_trust_function_creators = DEFAULT; +SELECT @@global.log_bin_trust_function_creators = 'FALSE'; +@@global.log_bin_trust_function_creators = 'FALSE' +1 +Warnings: +Warning 1292 Truncated incorrect DOUBLE value: 'FALSE' +'#--------------------FN_DYNVARS_063_03-------------------------#' +SET @@global.log_bin_trust_function_creators = ON; +SELECT @@global.log_bin_trust_function_creators; +@@global.log_bin_trust_function_creators +1 +SET @@global.log_bin_trust_function_creators = OFF; +SELECT @@global.log_bin_trust_function_creators; +@@global.log_bin_trust_function_creators +0 +SET @@global.log_bin_trust_function_creators = 0; +SELECT @@global.log_bin_trust_function_creators; +@@global.log_bin_trust_function_creators +0 +SET @@global.log_bin_trust_function_creators = 1; +SELECT @@global.log_bin_trust_function_creators; +@@global.log_bin_trust_function_creators +1 +SET @@global.log_bin_trust_function_creators = TRUE; +SELECT @@global.log_bin_trust_function_creators; +@@global.log_bin_trust_function_creators +1 +SET @@global.log_bin_trust_function_creators = FALSE; +SELECT @@global.log_bin_trust_function_creators; +@@global.log_bin_trust_function_creators +0 +'#-------------------FN_DYNVARS_063_04----------------------------#' +SET @@session.log_bin_trust_function_creators = 0; +ERROR HY000: Variable 'log_bin_trust_function_creators' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@session.log_bin_trust_function_creators; +ERROR HY000: Variable 'log_bin_trust_function_creators' is a GLOBAL variable +'#------------------FN_DYNVARS_063_05-----------------------#' +SET @@global.log_bin_trust_function_creators = 'ONN'; +ERROR 42000: Variable 'log_bin_trust_function_creators' can't be set to the value of 'ONN' +SET @@global.log_bin_trust_function_creators = "OFFF"; +ERROR 42000: Variable 'log_bin_trust_function_creators' can't be set to the value of 'OFFF' +SET @@global.log_bin_trust_function_creators = OF; +'Bug# 34828: OF is also working as OFF and no error is coming'; +SET @@global.log_bin_trust_function_creators = TTRUE; +ERROR 42000: Variable 'log_bin_trust_function_creators' can't be set to the value of 'TTRUE' +SET @@global.log_bin_trust_function_creators = FELSE; +ERROR 42000: Variable 'log_bin_trust_function_creators' can't be set to the value of 'FELSE' +SET @@global.log_bin_trust_function_creators = -1024; +ERROR 42000: Variable 'log_bin_trust_function_creators' can't be set to the value of '-1024' +SET @@global.log_bin_trust_function_creators = 65536; +ERROR 42000: Variable 'log_bin_trust_function_creators' can't be set to the value of '65536' +SET @@global.log_bin_trust_function_creators = 65530.34; +ERROR 42000: Variable 'log_bin_trust_function_creators' can't be set to the value of '65530' +SET @@global.log_bin_trust_function_creators = test; +ERROR 42000: Variable 'log_bin_trust_function_creators' can't be set to the value of 'test' +'#------------------FN_DYNVARS_063_06-----------------------#' +SELECT @@global.log_bin_trust_function_creators = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='log_bin_trust_function_creators'; +@@global.log_bin_trust_function_creators = VARIABLE_VALUE +1 +SELECT @@session.log_bin_trust_function_creators = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='log_bin_trust_function_creators'; +ERROR HY000: Variable 'log_bin_trust_function_creators' is a GLOBAL variable +'#---------------------FN_DYNVARS_063_07----------------------#' +SET @@global.log_bin_trust_function_creators = TRUE; +SELECT @@log_bin_trust_function_creators = @@global.log_bin_trust_function_creators; +@@log_bin_trust_function_creators = @@global.log_bin_trust_function_creators +1 +'#---------------------FN_DYNVARS_063_08----------------------#' +SET @@global.log_bin_trust_function_creators = TRUE; +SELECT @@log_bin_trust_function_creators; +@@log_bin_trust_function_creators +1 +SELECT local.log_bin_trust_function_creators; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.log_bin_trust_function_creators; +ERROR 42S02: Unknown table 'session' in field list +SELECT log_bin_trust_function_creators = @@session.log_bin_trust_function_creators; +ERROR 42S22: Unknown column 'log_bin_trust_function_creators' in 'field list' +SET @@global.log_bin_trust_function_creators = @start_global_value; +SELECT @@global.log_bin_trust_function_creators; +@@global.log_bin_trust_function_creators +1 diff --git a/mysql-test/r/log_bin_trust_function_creators_func.result b/mysql-test/r/log_bin_trust_function_creators_func.result new file mode 100644 index 00000000000..e109b53a8e7 --- /dev/null +++ b/mysql-test/r/log_bin_trust_function_creators_func.result @@ -0,0 +1,71 @@ +drop table if exists t1; +'#--------------------FN_DYNVARS_063_01-------------------------#' +## Creating new user tt ## +CREATE user tt@localhost; +## Setting value of variable to 0 ## +SET @@global.log_bin_trust_function_creators = 0; +## Creating new table t2 ## +create table t2 (a INT); +## Creating & connecting with new connection test_con1 ## +SELECT @@log_bin_trust_function_creators; +@@log_bin_trust_function_creators +0 +SELECT @@sql_log_bin; +@@sql_log_bin +1 +## Creating new function f1 ## +CREATE FUNCTION f1(a INT) RETURNS INT +BEGIN +IF (a < 3) THEN +INSERT INTO t2 VALUES (a); +END IF; +RETURN 1; +END| +'Bug: Create Function should give error here because non-super user'; +'is creating function here'; +## Creating new table t1 ## +CREATE TABLE t1 (a INT); +## Inserting some records in t1 ## +INSERT INTO t1 VALUES (1),(2),(3); +SELECT f1(a) FROM t1; +f1(a) +1 +1 +1 +## Dropping function f1 & table t1 ## +drop function f1; +drop table t1; +'#--------------------FN_DYNVARS_063_02-------------------------#' +## Switching to default connection ## +## Setting value of variable to 1 ## +SET @@global.log_bin_trust_function_creators = 1; +## Creating and connecting to new connection test_con2 ## +## Verifying value of variable ## +SELECT @@log_bin_trust_function_creators; +@@log_bin_trust_function_creators +1 +SELECT @@sql_log_bin; +@@sql_log_bin +1 +## Creating new function f1 ## +CREATE FUNCTION f1(a INT) RETURNS INT +BEGIN +IF (a < 3) THEN +INSERT INTO t2 VALUES (a); +END IF; +RETURN 1; +END| +## Creating new table t1 ## +CREATE TABLE t1 (a INT); +## Inserting values in table t1 ## +INSERT INTO t1 VALUES (1),(2),(3); +SELECT f1(a) FROM t1; +f1(a) +1 +1 +1 +## Dropping function f1 ## +drop function f1; +## Dropping table t1 & t2 ## +drop table t1,t2; +## Disconnecting both the connections ## diff --git a/mysql-test/r/log_bin_trust_routine_creators_basic.result b/mysql-test/r/log_bin_trust_routine_creators_basic.result new file mode 100644 index 00000000000..2b7fb548f36 --- /dev/null +++ b/mysql-test/r/log_bin_trust_routine_creators_basic.result @@ -0,0 +1,121 @@ +SET @start_global_value = @@global.log_bin_trust_routine_creators; +SELECT @start_global_value; +@start_global_value +1 +'#--------------------FN_DYNVARS_064_01-------------------------#' +SET @@global.log_bin_trust_routine_creators = TRUE; +Warnings: +Warning 1287 The syntax 'log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use 'log_bin_trust_function_creators' instead +SET @@global.log_bin_trust_routine_creators = DEFAULT; +Warnings: +Warning 1287 The syntax 'log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use 'log_bin_trust_function_creators' instead +SELECT @@global.log_bin_trust_routine_creators; +@@global.log_bin_trust_routine_creators +0 +'#--------------------FN_DYNVARS_064_02-------------------------#' +SET @@global.log_bin_trust_routine_creators = DEFAULT; +Warnings: +Warning 1287 The syntax 'log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use 'log_bin_trust_function_creators' instead +SELECT @@global.log_bin_trust_routine_creators = 'FALSE'; +@@global.log_bin_trust_routine_creators = 'FALSE' +1 +Warnings: +Warning 1292 Truncated incorrect DOUBLE value: 'FALSE' +'#--------------------FN_DYNVARS_064_03-------------------------#' +SET @@global.log_bin_trust_routine_creators = ON; +Warnings: +Warning 1287 The syntax 'log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use 'log_bin_trust_function_creators' instead +SELECT @@global.log_bin_trust_routine_creators; +@@global.log_bin_trust_routine_creators +1 +SET @@global.log_bin_trust_routine_creators = OFF; +Warnings: +Warning 1287 The syntax 'log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use 'log_bin_trust_function_creators' instead +SELECT @@global.log_bin_trust_routine_creators; +@@global.log_bin_trust_routine_creators +0 +SET @@global.log_bin_trust_routine_creators = 0; +Warnings: +Warning 1287 The syntax 'log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use 'log_bin_trust_function_creators' instead +SELECT @@global.log_bin_trust_routine_creators; +@@global.log_bin_trust_routine_creators +0 +SET @@global.log_bin_trust_routine_creators = 1; +Warnings: +Warning 1287 The syntax 'log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use 'log_bin_trust_function_creators' instead +SELECT @@global.log_bin_trust_routine_creators; +@@global.log_bin_trust_routine_creators +1 +SET @@global.log_bin_trust_routine_creators = TRUE; +Warnings: +Warning 1287 The syntax 'log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use 'log_bin_trust_function_creators' instead +SELECT @@global.log_bin_trust_routine_creators; +@@global.log_bin_trust_routine_creators +1 +SET @@global.log_bin_trust_routine_creators = FALSE; +Warnings: +Warning 1287 The syntax 'log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use 'log_bin_trust_function_creators' instead +SELECT @@global.log_bin_trust_routine_creators; +@@global.log_bin_trust_routine_creators +0 +'#-------------------FN_DYNVARS_064_04----------------------------#' +SET @@session.log_bin_trust_routine_creators = 0; +ERROR HY000: Variable 'log_bin_trust_routine_creators' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@session.log_bin_trust_routine_creators; +ERROR HY000: Variable 'log_bin_trust_routine_creators' is a GLOBAL variable +'#------------------FN_DYNVARS_064_05-----------------------#' +SET @@global.log_bin_trust_routine_creators = 'ONN'; +ERROR 42000: Variable 'log_bin_trust_routine_creators' can't be set to the value of 'ONN' +SET @@global.log_bin_trust_routine_creators = "OFFF"; +ERROR 42000: Variable 'log_bin_trust_routine_creators' can't be set to the value of 'OFFF' +SET @@global.log_bin_trust_routine_creators = OF; +Warnings: +Warning 1287 The syntax 'log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use 'log_bin_trust_function_creators' instead +SELECT @@global.log_bin_trust_routine_creators; +@@global.log_bin_trust_routine_creators +0 +'Bug# 34828: OF is also working as OFF and no error is coming'; +SET @@global.log_bin_trust_routine_creators = TTRUE; +ERROR 42000: Variable 'log_bin_trust_routine_creators' can't be set to the value of 'TTRUE' +SET @@global.log_bin_trust_routine_creators = FELSE; +ERROR 42000: Variable 'log_bin_trust_routine_creators' can't be set to the value of 'FELSE' +SET @@global.log_bin_trust_routine_creators = -1024; +ERROR 42000: Variable 'log_bin_trust_routine_creators' can't be set to the value of '-1024' +SET @@global.log_bin_trust_routine_creators = 65536; +ERROR 42000: Variable 'log_bin_trust_routine_creators' can't be set to the value of '65536' +SET @@global.log_bin_trust_routine_creators = 65530.34; +ERROR 42000: Variable 'log_bin_trust_routine_creators' can't be set to the value of '65530' +SET @@global.log_bin_trust_routine_creators = test; +ERROR 42000: Variable 'log_bin_trust_routine_creators' can't be set to the value of 'test' +'#------------------FN_DYNVARS_064_06-----------------------#' +SELECT @@global.log_bin_trust_routine_creators = VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='log_bin_trust_routine_creators'; +@@global.log_bin_trust_routine_creators = VARIABLE_VALUE +1 +SELECT @@session.log_bin_trust_routine_creators = VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='log_bin_trust_routine_creators'; +ERROR HY000: Variable 'log_bin_trust_routine_creators' is a GLOBAL variable +'#---------------------FN_DYNVARS_064_07----------------------#' +SET @@global.log_bin_trust_routine_creators = TRUE; +Warnings: +Warning 1287 The syntax 'log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use 'log_bin_trust_function_creators' instead +SELECT @@log_bin_trust_routine_creators = @@global.log_bin_trust_routine_creators; +@@log_bin_trust_routine_creators = @@global.log_bin_trust_routine_creators +1 +'#---------------------FN_DYNVARS_064_08----------------------#' +SET @@global.log_bin_trust_routine_creators = TRUE; +Warnings: +Warning 1287 The syntax 'log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use 'log_bin_trust_function_creators' instead +SELECT @@log_bin_trust_routine_creators; +@@log_bin_trust_routine_creators +1 +SELECT local.log_bin_trust_routine_creators; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.log_bin_trust_routine_creators; +ERROR 42S02: Unknown table 'session' in field list +SELECT log_bin_trust_routine_creators = @@session.log_bin_trust_routine_creators; +ERROR 42S22: Unknown column 'log_bin_trust_routine_creators' in 'field list' +SET @@global.log_bin_trust_routine_creators = @start_global_value; +Warnings: +Warning 1287 The syntax 'log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use 'log_bin_trust_function_creators' instead +SELECT @@global.log_bin_trust_routine_creators; +@@global.log_bin_trust_routine_creators +1 diff --git a/mysql-test/r/log_output_basic.result b/mysql-test/r/log_output_basic.result new file mode 100644 index 00000000000..481d5862074 --- /dev/null +++ b/mysql-test/r/log_output_basic.result @@ -0,0 +1,175 @@ +SET @start_value = @@global.log_output; +SELECT @start_value; +@start_value +FILE,TABLE +'#--------------------FN_DYNVARS_065_01------------------------#' +SET @@global.log_output = FILE; +SET @@global.log_output = DEFAULT; +SELECT @@global.log_output; +@@global.log_output +FILE +'Bug# 34876: Documentation specifies a DEFAULT value of TABLE whereas'; +'DEFAULT value is FILE. Also note that initial value is different'; +'from DEFAULT'; +'#---------------------FN_DYNVARS_065_02-------------------------#' +SET @@global.log_output = NULL; +ERROR 42000: Variable 'log_output' can't be set to the value of 'NULL' +SET @@global.log_output = ""; +ERROR 42000: Variable 'log_output' can't be set to the value of '' +SELECT @@global.log_output; +@@global.log_output +FILE +'Bug# 34838: Empty value is allowed where as it is not specified in'; +'documentation'; +'#--------------------FN_DYNVARS_065_03------------------------#' +SET @@global.log_output = 'TABLE'; +SELECT @@global.log_output; +@@global.log_output +TABLE +SET @@global.log_output = 'FILE'; +SELECT @@global.log_output; +@@global.log_output +FILE +SET @@global.log_output = 'NONE'; +SELECT @@global.log_output; +@@global.log_output +NONE +SET @@global.log_output = 'FILE,TABLE'; +SELECT @@global.log_output; +@@global.log_output +FILE,TABLE +SET @@global.log_output = 'TABLE,FILE'; +SELECT @@global.log_output; +@@global.log_output +FILE,TABLE +SET @@global.log_output = 'NONE,TABLE'; +SELECT @@global.log_output; +@@global.log_output +NONE,TABLE +SET @@global.log_output = 'NONE,FILE'; +SELECT @@global.log_output; +@@global.log_output +NONE,FILE +SET @@global.log_output = 'FILE,TABLE,NONE'; +SELECT @@global.log_output; +@@global.log_output +NONE,FILE,TABLE +SET @@global.log_output = 'TABLE,NONE'; +SELECT @@global.log_output; +@@global.log_output +NONE,TABLE +SET @@global.log_output = 'TABLE,TABLE'; +SELECT @@global.log_output; +@@global.log_output +TABLE +SET @@global.log_output = ',TABLE'; +SELECT @@global.log_output; +@@global.log_output +TABLE +SET @@global.log_output = ','; +SELECT @@global.log_output; +@@global.log_output + +SET @@global.log_output = 'TABLE,,FILE,,,'; +SELECT @@global.log_output; +@@global.log_output +FILE,TABLE +'#--------------------FN_DYNVARS_065_04-------------------------#' +SET @@global.log_output = -1; +ERROR 42000: Variable 'log_output' can't be set to the value of '-1' +SET @@global.log_output = TAB; +ERROR 42000: Variable 'log_output' can't be set to the value of 'TAB' +SET @@global.log_output = NIL; +ERROR 42000: Variable 'log_output' can't be set to the value of 'NIL' +SET @@global.log_output = 'FIL'; +ERROR 42000: Variable 'log_output' can't be set to the value of 'FIL' +SET @@global.log_output = 'T'; +ERROR 42000: Variable 'log_output' can't be set to the value of 'T' +SET @@global.log_output = 'TABLE, FILE'; +ERROR 42000: Variable 'log_output' can't be set to the value of ' FILE' +SET @@global.log_output = ' TABLE,FILE'; +ERROR 42000: Variable 'log_output' can't be set to the value of ' TABLE' +SET @@global.log_output = ', '; +SELECT @@global.log_output; +@@global.log_output + +SET @@global.log_output = ' '; +SELECT @@global.log_output; +@@global.log_output + +SET @@global.log_output = ' '; +SELECT @@global.log_output; +@@global.log_output + +'Bug: The behavior of space in value is not consistent.'; +'Some times it is trimmed and some times not.'; +'The space before and after value is not accepted where as space'; +'between comma is accepted.'; +'#-------------------FN_DYNVARS_065_05----------------------------#' +SET @@log_output = 0; +ERROR HY000: Variable 'log_output' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@session.log_output; +ERROR HY000: Variable 'log_output' is a GLOBAL variable +'#----------------------FN_DYNVARS_065_06------------------------#' +SELECT @@log_output = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='log_output'; +@@log_output = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_065_07-------------------------#' +SET @@global.log_output = 0; +ERROR 42000: Variable 'log_output' can't be set to the value of '0' +SELECT @@global.log_output; +@@global.log_output + +SET @@global.log_output = 1; +SELECT @@global.log_output; +@@global.log_output +NONE +SET @@global.log_output = 2; +SELECT @@global.log_output; +@@global.log_output +FILE +SET @@global.log_output = 3; +SELECT @@global.log_output; +@@global.log_output +NONE,FILE +SET @@global.log_output = 4; +SELECT @@global.log_output; +@@global.log_output +TABLE +SET @@global.log_output = 5; +SELECT @@global.log_output; +@@global.log_output +NONE,TABLE +SET @@global.log_output = 6; +SELECT @@global.log_output; +@@global.log_output +FILE,TABLE +SET @@global.log_output = 7; +SELECT @@global.log_output; +@@global.log_output +NONE,FILE,TABLE +SET @@global.log_output = 8; +ERROR 42000: Variable 'log_output' can't be set to the value of '8' +'#---------------------FN_DYNVARS_065_08----------------------#' +SET @@global.log_output = TRUE; +SELECT @@global.log_output; +@@global.log_output +NONE +SET @@global.log_output = FALSE; +ERROR 42000: Variable 'log_output' can't be set to the value of '0' +SELECT @@global.log_output; +@@global.log_output +NONE +'#---------------------FN_DYNVARS_065_09----------------------#' +SET log_output = ON; +ERROR HY000: Variable 'log_output' is a GLOBAL variable and should be set with SET GLOBAL +SET global log_output = 'TABLE'; +SELECT @@global.log_output; +@@global.log_output +TABLE +SET @@global.log_output = @start_value; +SELECT @@global.log_output; +@@global.log_output +FILE,TABLE diff --git a/mysql-test/r/log_output_func.result b/mysql-test/r/log_output_func.result new file mode 100644 index 00000000000..8af7f471195 --- /dev/null +++ b/mysql-test/r/log_output_func.result @@ -0,0 +1,53 @@ +'#--------------------FN_DYNVARS_065_01-------------------------#' +SET @@global.log_output = 'NONE'; +'connect (con1,localhost,root,,,,)' +'connection con1' +SELECT @@global.log_output; +@@global.log_output +NONE +SET @@global.log_output = 'TABLE,FILE'; +'connect (con2,localhost,root,,,,)' +'connection con2' +SELECT @@global.log_output; +@@global.log_output +FILE,TABLE +'#--------------------FN_DYNVARS_065_02-------------------------#' +'connection con1' +'---Checking general_log when log_output is NONE---' +SET @@global.log_output = 'NONE'; +TRUNCATE TABLE mysql.general_log; +DROP TABLE IF EXISTS t1; +CREATE TABLE t1(a INT); +INSERT INTO t1 value(1); +SELECT 'abc'; +abc +abc +SELECT count(*) FROM mysql.general_log; +count(*) +0 +'---Checking general_log when log_output is TABLE---' +SET @@global.log_output = 'TABLE'; +TRUNCATE TABLE mysql.general_log; +DROP TABLE IF EXISTS t1; +create table t1(a int); +INSERT INTO t1 value(1); +SELECT 'abc'; +abc +abc +SELECT count(*) from mysql.general_log; +count(*) +5 +'Bug#35371: Changing general_log file is crashing server' +'SET @@global.general_log_file = @log_file;' +SET @@global.log_output = 'FILE'; +TRUNCATE TABLE mysql.general_log; +DROP TABLE IF EXISTS t1; +create table t1(a int); +INSERT INTO t1 value(1); +SELECT 'abc'; +abc +abc +SELECT count(*) from mysql.general_log; +count(*) +0 +DROP TABLE t1; diff --git a/mysql-test/r/log_queries_not_using_indexes_basic.result b/mysql-test/r/log_queries_not_using_indexes_basic.result new file mode 100644 index 00000000000..d05437e3f66 --- /dev/null +++ b/mysql-test/r/log_queries_not_using_indexes_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_041_01----------------------#' +SELECT COUNT(@@GLOBAL.log_queries_not_using_indexes); +COUNT(@@GLOBAL.log_queries_not_using_indexes) +1 +1 Expected +'#---------------------BS_STVARS_041_02----------------------#' +SET @@GLOBAL.log_queries_not_using_indexes=1; +Expected error 'Read only variable' +"BUG:It should give error on setting this variable as it is readonly variable" +SELECT COUNT(@@GLOBAL.log_queries_not_using_indexes); +COUNT(@@GLOBAL.log_queries_not_using_indexes) +1 +1 Expected +'#---------------------BS_STVARS_041_03----------------------#' +SELECT @@GLOBAL.log_queries_not_using_indexes = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='log_queries_not_using_indexes'; +@@GLOBAL.log_queries_not_using_indexes = VARIABLE_VALUE +0 +1 Expected +SELECT COUNT(@@GLOBAL.log_queries_not_using_indexes); +COUNT(@@GLOBAL.log_queries_not_using_indexes) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='log_queries_not_using_indexes'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_041_04----------------------#' +SELECT @@log_queries_not_using_indexes = @@GLOBAL.log_queries_not_using_indexes; +@@log_queries_not_using_indexes = @@GLOBAL.log_queries_not_using_indexes +1 +1 Expected +'#---------------------BS_STVARS_041_05----------------------#' +SELECT COUNT(@@log_queries_not_using_indexes); +COUNT(@@log_queries_not_using_indexes) +1 +1 Expected +SELECT COUNT(@@local.log_queries_not_using_indexes); +ERROR HY000: Variable 'log_queries_not_using_indexes' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.log_queries_not_using_indexes); +ERROR HY000: Variable 'log_queries_not_using_indexes' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.log_queries_not_using_indexes); +COUNT(@@GLOBAL.log_queries_not_using_indexes) +1 +1 Expected +SELECT log_queries_not_using_indexes = @@SESSION.log_queries_not_using_indexes; +ERROR 42S22: Unknown column 'log_queries_not_using_indexes' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/log_state.result b/mysql-test/r/log_state.result index 8ecfe3b2094..c293956148f 100644 --- a/mysql-test/r/log_state.result +++ b/mysql-test/r/log_state.result @@ -249,4 +249,25 @@ set global slow_query_log_file= NULL; ERROR 42000: Variable 'slow_query_log_file' can't be set to the value of 'NULL' set global general_log_file= @old_general_log_file; set global slow_query_log_file= @old_slow_query_log_file; + +# -- +# -- Bug#32748: Inconsistent handling of assignments to +# -- general_log_file/slow_query_log_file. +# -- + +SET @general_log_file_saved = @@global.general_log_file; +SET @slow_query_log_file_saved = @@global.slow_query_log_file; + +SET GLOBAL general_log_file = 'bug32748.query.log'; +SET GLOBAL slow_query_log_file = 'bug32748.slow.log'; + +SHOW VARIABLES LIKE '%log_file'; +Variable_name Value +general_log_file bug32748.query.log +slow_query_log_file bug32748.slow.log + +SET GLOBAL general_log_file = @general_log_file_saved; +SET GLOBAL slow_query_log_file = @slow_query_log_file_saved; + +# -- End of Bug#32748. End of 5.1 tests diff --git a/mysql-test/r/log_warnings_basic_32.result b/mysql-test/r/log_warnings_basic_32.result new file mode 100644 index 00000000000..702e95b1383 --- /dev/null +++ b/mysql-test/r/log_warnings_basic_32.result @@ -0,0 +1,162 @@ +SET @start_global_value = @@global.log_warnings; +SELECT @start_global_value; +@start_global_value +1 +SET @start_session_value = @@session.log_warnings; +SELECT @start_session_value; +@start_session_value +1 +'#--------------------FN_DYNVARS_067_01-------------------------#' +SET @@global.log_warnings = 100; +SET @@global.log_warnings = DEFAULT; +SELECT @@global.log_warnings; +@@global.log_warnings +1 +SET @@session.log_warnings = 200; +SET @@session.log_warnings = DEFAULT; +SELECT @@session.log_warnings; +@@session.log_warnings +1 +'#--------------------FN_DYNVARS_067_02-------------------------#' +SET @@global.log_warnings = DEFAULT; +SELECT @@global.log_warnings = 1; +@@global.log_warnings = 1 +1 +SET @@session.log_warnings = DEFAULT; +SELECT @@session.log_warnings = 1; +@@session.log_warnings = 1 +1 +'#--------------------FN_DYNVARS_067_03-------------------------#' +SET @@global.log_warnings = 0; +SELECT @@global.log_warnings; +@@global.log_warnings +0 +SET @@global.log_warnings = 1; +SELECT @@global.log_warnings; +@@global.log_warnings +1 +SET @@global.log_warnings = 60020; +SELECT @@global.log_warnings; +@@global.log_warnings +60020 +SET @@global.log_warnings = 65535; +SELECT @@global.log_warnings; +@@global.log_warnings +65535 +SET @@global.log_warnings = 65536; +SELECT @@global.log_warnings; +@@global.log_warnings +65536 +'#--------------------FN_DYNVARS_067_04-------------------------#' +SET @@session.log_warnings = 0; +SELECT @@session.log_warnings; +@@session.log_warnings +0 +SET @@session.log_warnings = 1; +SELECT @@session.log_warnings; +@@session.log_warnings +1 +SET @@session.log_warnings = 50050; +SELECT @@session.log_warnings; +@@session.log_warnings +50050 +SET @@session.log_warnings = 65535; +SELECT @@session.log_warnings; +@@session.log_warnings +65535 +SET @@session.log_warnings = 65550; +SELECT @@session.log_warnings; +@@session.log_warnings +65550 +'#------------------FN_DYNVARS_067_05-----------------------#' +SET @@global.log_warnings = 100000000000; +Warnings: +Warning 1292 Truncated incorrect log-warnings value: '100000000000' +SELECT @@global.log_warnings; +@@global.log_warnings +4294967295 +SET @@global.log_warnings = -1024; +SELECT @@global.log_warnings; +@@global.log_warnings +0 +SET @@global.log_warnings = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.log_warnings; +@@global.log_warnings +0 +SET @@global.log_warnings = test; +ERROR 42000: Incorrect argument type to variable 'log_warnings' +SELECT @@global.log_warnings; +@@global.log_warnings +0 +SET @@session.log_warnings = 100000000000; +Warnings: +Warning 1292 Truncated incorrect log-warnings value: '100000000000' +SELECT @@session.log_warnings; +@@session.log_warnings +4294967295 +SET @@session.log_warnings = -2; +SELECT @@session.log_warnings; +@@session.log_warnings +0 +SET @@session.log_warnings = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@session.log_warnings = test; +ERROR 42000: Incorrect argument type to variable 'log_warnings' +SELECT @@session.log_warnings; +@@session.log_warnings +0 +'#------------------FN_DYNVARS_067_06-----------------------#' +SELECT @@global.log_warnings = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='log_warnings'; +@@global.log_warnings = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_067_07-----------------------#' +SELECT @@session.log_warnings = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='log_warnings'; +@@session.log_warnings = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_067_08-----------------------#' +SET @@global.log_warnings = TRUE; +SELECT @@global.log_warnings; +@@global.log_warnings +1 +SET @@global.log_warnings = FALSE; +SELECT @@global.log_warnings; +@@global.log_warnings +0 +'#---------------------FN_DYNVARS_067_09----------------------#' +SET @@global.log_warnings = 10; +SELECT @@log_warnings = @@global.log_warnings; +@@log_warnings = @@global.log_warnings +0 +'#---------------------FN_DYNVARS_067_10----------------------#' +SET @@log_warnings = 100; +SELECT @@log_warnings = @@local.log_warnings; +@@log_warnings = @@local.log_warnings +1 +SELECT @@local.log_warnings = @@session.log_warnings; +@@local.log_warnings = @@session.log_warnings +1 +'#---------------------FN_DYNVARS_067_11----------------------#' +SET log_warnings = 1; +SELECT @@log_warnings; +@@log_warnings +1 +SELECT local.log_warnings; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.log_warnings; +ERROR 42S02: Unknown table 'session' in field list +SELECT log_warnings = @@session.log_warnings; +ERROR 42S22: Unknown column 'log_warnings' in 'field list' +SET @@global.log_warnings = @start_global_value; +SELECT @@global.log_warnings; +@@global.log_warnings +1 +SET @@session.log_warnings = @start_session_value; +SELECT @@session.log_warnings; +@@session.log_warnings +1 diff --git a/mysql-test/r/log_warnings_basic_64.result b/mysql-test/r/log_warnings_basic_64.result new file mode 100644 index 00000000000..ba6671c87a4 --- /dev/null +++ b/mysql-test/r/log_warnings_basic_64.result @@ -0,0 +1,158 @@ +SET @start_global_value = @@global.log_warnings; +SELECT @start_global_value; +@start_global_value +1 +SET @start_session_value = @@session.log_warnings; +SELECT @start_session_value; +@start_session_value +1 +'#--------------------FN_DYNVARS_067_01-------------------------#' +SET @@global.log_warnings = 100; +SET @@global.log_warnings = DEFAULT; +SELECT @@global.log_warnings; +@@global.log_warnings +1 +SET @@session.log_warnings = 200; +SET @@session.log_warnings = DEFAULT; +SELECT @@session.log_warnings; +@@session.log_warnings +1 +'#--------------------FN_DYNVARS_067_02-------------------------#' +SET @@global.log_warnings = DEFAULT; +SELECT @@global.log_warnings = 1; +@@global.log_warnings = 1 +1 +SET @@session.log_warnings = DEFAULT; +SELECT @@session.log_warnings = 1; +@@session.log_warnings = 1 +1 +'#--------------------FN_DYNVARS_067_03-------------------------#' +SET @@global.log_warnings = 0; +SELECT @@global.log_warnings; +@@global.log_warnings +0 +SET @@global.log_warnings = 1; +SELECT @@global.log_warnings; +@@global.log_warnings +1 +SET @@global.log_warnings = 60020; +SELECT @@global.log_warnings; +@@global.log_warnings +60020 +SET @@global.log_warnings = 65535; +SELECT @@global.log_warnings; +@@global.log_warnings +65535 +SET @@global.log_warnings = 65536; +SELECT @@global.log_warnings; +@@global.log_warnings +65536 +'#--------------------FN_DYNVARS_067_04-------------------------#' +SET @@session.log_warnings = 0; +SELECT @@session.log_warnings; +@@session.log_warnings +0 +SET @@session.log_warnings = 1; +SELECT @@session.log_warnings; +@@session.log_warnings +1 +SET @@session.log_warnings = 50050; +SELECT @@session.log_warnings; +@@session.log_warnings +50050 +SET @@session.log_warnings = 65535; +SELECT @@session.log_warnings; +@@session.log_warnings +65535 +SET @@session.log_warnings = 65550; +SELECT @@session.log_warnings; +@@session.log_warnings +65550 +'#------------------FN_DYNVARS_067_05-----------------------#' +SET @@global.log_warnings = 100000000000; +SELECT @@global.log_warnings; +@@global.log_warnings +100000000000 +SET @@global.log_warnings = -1024; +SELECT @@global.log_warnings; +@@global.log_warnings +0 +SET @@global.log_warnings = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.log_warnings; +@@global.log_warnings +0 +SET @@global.log_warnings = test; +ERROR 42000: Incorrect argument type to variable 'log_warnings' +SELECT @@global.log_warnings; +@@global.log_warnings +0 +SET @@session.log_warnings = 100000000000; +SELECT @@session.log_warnings; +@@session.log_warnings +100000000000 +SET @@session.log_warnings = -2; +SELECT @@session.log_warnings; +@@session.log_warnings +0 +SET @@session.log_warnings = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@session.log_warnings = test; +ERROR 42000: Incorrect argument type to variable 'log_warnings' +SELECT @@session.log_warnings; +@@session.log_warnings +0 +'#------------------FN_DYNVARS_067_06-----------------------#' +SELECT @@global.log_warnings = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='log_warnings'; +@@global.log_warnings = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_067_07-----------------------#' +SELECT @@session.log_warnings = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='log_warnings'; +@@session.log_warnings = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_067_08-----------------------#' +SET @@global.log_warnings = TRUE; +SELECT @@global.log_warnings; +@@global.log_warnings +1 +SET @@global.log_warnings = FALSE; +SELECT @@global.log_warnings; +@@global.log_warnings +0 +'#---------------------FN_DYNVARS_067_09----------------------#' +SET @@global.log_warnings = 10; +SELECT @@log_warnings = @@global.log_warnings; +@@log_warnings = @@global.log_warnings +0 +'#---------------------FN_DYNVARS_067_10----------------------#' +SET @@log_warnings = 100; +SELECT @@log_warnings = @@local.log_warnings; +@@log_warnings = @@local.log_warnings +1 +SELECT @@local.log_warnings = @@session.log_warnings; +@@local.log_warnings = @@session.log_warnings +1 +'#---------------------FN_DYNVARS_067_11----------------------#' +SET log_warnings = 1; +SELECT @@log_warnings; +@@log_warnings +1 +SELECT local.log_warnings; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.log_warnings; +ERROR 42S02: Unknown table 'session' in field list +SELECT log_warnings = @@session.log_warnings; +ERROR 42S22: Unknown column 'log_warnings' in 'field list' +SET @@global.log_warnings = @start_global_value; +SELECT @@global.log_warnings; +@@global.log_warnings +1 +SET @@session.log_warnings = @start_session_value; +SELECT @@session.log_warnings; +@@session.log_warnings +1 diff --git a/mysql-test/r/long_query_time_basic.result b/mysql-test/r/long_query_time_basic.result new file mode 100644 index 00000000000..b44500dc1e2 --- /dev/null +++ b/mysql-test/r/long_query_time_basic.result @@ -0,0 +1,158 @@ +SET @start_global_value = @@global.long_query_time; +SELECT @start_global_value; +@start_global_value +10 +SET @start_session_value = @@session.long_query_time; +SELECT @start_session_value; +@start_session_value +10 +'#--------------------FN_DYNVARS_068_01-------------------------#' +SET @@global.long_query_time = 100; +SET @@global.long_query_time = DEFAULT; +SELECT @@global.long_query_time; +@@global.long_query_time +10.000000 +SET @@session.long_query_time = 200; +SET @@session.long_query_time = DEFAULT; +SELECT @@session.long_query_time; +@@session.long_query_time +10.000000 +'#--------------------FN_DYNVARS_068_02-------------------------#' +SET @@global.long_query_time = DEFAULT; +SELECT @@global.long_query_time = 10; +@@global.long_query_time = 10 +1 +SET @@session.long_query_time = DEFAULT; +SELECT @@session.long_query_time = 10; +@@session.long_query_time = 10 +1 +'#--------------------FN_DYNVARS_068_03-------------------------#' +SET @@global.long_query_time = 0; +SELECT @@global.long_query_time; +@@global.long_query_time +0.000000 +SET @@global.long_query_time = 1; +SELECT @@global.long_query_time; +@@global.long_query_time +1.000000 +SET @@global.long_query_time = 60020; +SELECT @@global.long_query_time; +@@global.long_query_time +60020.000000 +SET @@global.long_query_time = 31536000; +SELECT @@global.long_query_time; +@@global.long_query_time +31536000.000000 +SET @@global.long_query_time = 65536; +SELECT @@global.long_query_time; +@@global.long_query_time +65536.000000 +'#--------------------FN_DYNVARS_068_04-------------------------#' +SET @@session.long_query_time = 0; +SELECT @@session.long_query_time; +@@session.long_query_time +0.000000 +SET @@session.long_query_time = 1; +SELECT @@session.long_query_time; +@@session.long_query_time +1.000000 +SET @@session.long_query_time = 50050; +SELECT @@session.long_query_time; +@@session.long_query_time +50050.000000 +SET @@session.long_query_time = 31536000; +SELECT @@session.long_query_time; +@@session.long_query_time +31536000.000000 +SET @@session.long_query_time = 65550; +SELECT @@session.long_query_time; +@@session.long_query_time +65550.000000 +'#------------------FN_DYNVARS_068_05-----------------------#' +SET @@global.long_query_time = 100000000000; +SELECT @@global.long_query_time; +@@global.long_query_time +31536000.000000 +SET @@global.long_query_time = -1; +SELECT @@global.long_query_time; +@@global.long_query_time +0.000000 +SET @@global.long_query_time = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.long_query_time; +@@global.long_query_time +0.000000 +SET @@global.long_query_time = test; +ERROR 42000: Incorrect argument type to variable 'long_query_time' +SELECT @@global.long_query_time; +@@global.long_query_time +0.000000 +SET @@session.long_query_time = 100000000000; +SELECT @@session.long_query_time; +@@session.long_query_time +31536000.000000 +SET @@session.long_query_time = -2; +SELECT @@session.long_query_time; +@@session.long_query_time +0.000000 +SET @@session.long_query_time = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@session.long_query_time = test; +ERROR 42000: Incorrect argument type to variable 'long_query_time' +SELECT @@session.long_query_time; +@@session.long_query_time +0.000000 +'#------------------FN_DYNVARS_068_06-----------------------#' +SELECT @@global.long_query_time = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='long_query_time'; +@@global.long_query_time = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_068_07-----------------------#' +SELECT @@session.long_query_time = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='long_query_time'; +@@session.long_query_time = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_068_08-----------------------#' +SET @@global.long_query_time = TRUE; +SELECT @@global.long_query_time; +@@global.long_query_time +1.000000 +SET @@global.long_query_time = FALSE; +SELECT @@global.long_query_time; +@@global.long_query_time +0.000000 +'#---------------------FN_DYNVARS_001_09----------------------#' +SET @@global.long_query_time = 10; +SELECT @@long_query_time = @@global.long_query_time; +@@long_query_time = @@global.long_query_time +0 +'#---------------------FN_DYNVARS_001_10----------------------#' +SET @@long_query_time = 100; +SELECT @@long_query_time = @@local.long_query_time; +@@long_query_time = @@local.long_query_time +1 +SELECT @@local.long_query_time = @@session.long_query_time; +@@local.long_query_time = @@session.long_query_time +1 +'#---------------------FN_DYNVARS_001_11----------------------#' +SET long_query_time = 1; +SELECT @@long_query_time; +@@long_query_time +1.000000 +SELECT local.long_query_time; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.long_query_time; +ERROR 42S02: Unknown table 'session' in field list +SELECT long_query_time = @@session.long_query_time; +ERROR 42S22: Unknown column 'long_query_time' in 'field list' +SET @@global.long_query_time = @start_global_value; +SELECT @@global.long_query_time; +@@global.long_query_time +10.000000 +SET @@session.long_query_time = @start_session_value; +SELECT @@session.long_query_time; +@@session.long_query_time +10.000000 diff --git a/mysql-test/r/low_priority_updates_basic.result b/mysql-test/r/low_priority_updates_basic.result new file mode 100644 index 00000000000..87b30814837 --- /dev/null +++ b/mysql-test/r/low_priority_updates_basic.result @@ -0,0 +1,164 @@ +SET @start_global_value = @@global.low_priority_updates; +SELECT @start_global_value; +@start_global_value +0 +SET @start_session_value = @@session.low_priority_updates; +SELECT @start_session_value; +@start_session_value +0 +'#--------------------FN_DYNVARS_069_01-------------------------#' +SET @@global.low_priority_updates = ON; +SET @@global.low_priority_updates = DEFAULT; +SELECT @@global.low_priority_updates; +@@global.low_priority_updates +0 +SET @@session.low_priority_updates = ON; +SET @@session.low_priority_updates = DEFAULT; +SELECT @@session.low_priority_updates; +@@session.low_priority_updates +0 +'#--------------------FN_DYNVARS_069_02-------------------------#' +SET @@global.low_priority_updates = DEFAULT; +SELECT @@global.low_priority_updates = 'FALSE'; +@@global.low_priority_updates = 'FALSE' +1 +Warnings: +Warning 1292 Truncated incorrect DOUBLE value: 'FALSE' +SET @@session.low_priority_updates = DEFAULT; +SELECT @@session.low_priority_updates = 'FALSE'; +@@session.low_priority_updates = 'FALSE' +1 +Warnings: +Warning 1292 Truncated incorrect DOUBLE value: 'FALSE' +'#--------------------FN_DYNVARS_069_03-------------------------#' +SET @@global.low_priority_updates = ON; +SELECT @@global.low_priority_updates; +@@global.low_priority_updates +1 +SET @@global.low_priority_updates = OFF; +SELECT @@global.low_priority_updates; +@@global.low_priority_updates +0 +SET @@global.low_priority_updates = 0; +SELECT @@global.low_priority_updates; +@@global.low_priority_updates +0 +SET @@global.low_priority_updates = 1; +SELECT @@global.low_priority_updates; +@@global.low_priority_updates +1 +SET @@global.low_priority_updates = TRUE; +SELECT @@global.low_priority_updates; +@@global.low_priority_updates +1 +SET @@global.low_priority_updates = FALSE; +SELECT @@global.low_priority_updates; +@@global.low_priority_updates +0 +'#--------------------FN_DYNVARS_069_04-------------------------#' +SET @@session.low_priority_updates = ON; +SELECT @@session.low_priority_updates; +@@session.low_priority_updates +1 +SET @@session.low_priority_updates = OFF; +SELECT @@session.low_priority_updates; +@@session.low_priority_updates +0 +SET @@session.low_priority_updates = 0; +SELECT @@session.low_priority_updates; +@@session.low_priority_updates +0 +SET @@session.low_priority_updates = 1; +SELECT @@session.low_priority_updates; +@@session.low_priority_updates +1 +SET @@session.low_priority_updates = TRUE; +SELECT @@session.low_priority_updates; +@@session.low_priority_updates +1 +SET @@session.low_priority_updates = FALSE; +SELECT @@session.low_priority_updates; +@@session.low_priority_updates +0 +'#------------------FN_DYNVARS_069_05-----------------------#' +SET @@global.low_priority_updates = 'ONN'; +ERROR 42000: Variable 'low_priority_updates' can't be set to the value of 'ONN' +SET @@global.low_priority_updates = "OFFF"; +ERROR 42000: Variable 'low_priority_updates' can't be set to the value of 'OFFF' +SET @@global.low_priority_updates = TTRUE; +ERROR 42000: Variable 'low_priority_updates' can't be set to the value of 'TTRUE' +SET @@global.low_priority_updates = FELSE; +ERROR 42000: Variable 'low_priority_updates' can't be set to the value of 'FELSE' +SET @@global.low_priority_updates = -1024; +ERROR 42000: Variable 'low_priority_updates' can't be set to the value of '-1024' +SET @@global.low_priority_updates = 65536; +ERROR 42000: Variable 'low_priority_updates' can't be set to the value of '65536' +SET @@global.low_priority_updates = 65530.34; +ERROR 42000: Variable 'low_priority_updates' can't be set to the value of '65530' +SET @@global.low_priority_updates = test; +ERROR 42000: Variable 'low_priority_updates' can't be set to the value of 'test' +SET @@session.low_priority_updates = ONN; +ERROR 42000: Variable 'low_priority_updates' can't be set to the value of 'ONN' +SET @@session.low_priority_updates = ONF; +ERROR 42000: Variable 'low_priority_updates' can't be set to the value of 'ONF' +SET @@session.low_priority_updates = OF; +SELECT @@session.low_priority_updates; +@@session.low_priority_updates +0 +'Bug# 34828: OF is also working as OFF and no error is coming'; +SET @@session.low_priority_updates = 'OFN'; +ERROR 42000: Variable 'low_priority_updates' can't be set to the value of 'OFN' +SET @@session.low_priority_updates = -2; +ERROR 42000: Variable 'low_priority_updates' can't be set to the value of '-2' +SET @@session.low_priority_updates = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.low_priority_updates = 65550; +ERROR 42000: Variable 'low_priority_updates' can't be set to the value of '65550' +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@session.low_priority_updates = test; +ERROR 42000: Variable 'low_priority_updates' can't be set to the value of 'test' +'#------------------FN_DYNVARS_069_06-----------------------#' +SELECT @@global.low_priority_updates = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='low_priority_updates'; +@@global.low_priority_updates = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_069_07-----------------------#' +SELECT @@session.low_priority_updates = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='low_priority_updates'; +@@session.low_priority_updates = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_069_08----------------------#' +SET @@low_priority_updates = FALSE; +SET @@global.low_priority_updates = TRUE; +SELECT @@low_priority_updates = @@global.low_priority_updates; +@@low_priority_updates = @@global.low_priority_updates +0 +'#---------------------FN_DYNVARS_069_09----------------------#' +SET @@low_priority_updates = ON; +SELECT @@low_priority_updates = @@local.low_priority_updates; +@@low_priority_updates = @@local.low_priority_updates +1 +SELECT @@local.low_priority_updates = @@session.low_priority_updates; +@@local.low_priority_updates = @@session.low_priority_updates +1 +'#---------------------FN_DYNVARS_069_10----------------------#' +SET low_priority_updates = 1; +SELECT @@low_priority_updates; +@@low_priority_updates +1 +SELECT local.low_priority_updates; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.low_priority_updates; +ERROR 42S02: Unknown table 'session' in field list +SELECT low_priority_updates = @@session.low_priority_updates; +ERROR 42S22: Unknown column 'low_priority_updates' in 'field list' +SET @@global.low_priority_updates = @start_global_value; +SELECT @@global.low_priority_updates; +@@global.low_priority_updates +0 +SET @@session.low_priority_updates = @start_session_value; +SELECT @@session.low_priority_updates; +@@session.low_priority_updates +0 diff --git a/mysql-test/r/max_allowed_packet_basic.result b/mysql-test/r/max_allowed_packet_basic.result new file mode 100644 index 00000000000..3940cc1b2f2 --- /dev/null +++ b/mysql-test/r/max_allowed_packet_basic.result @@ -0,0 +1,193 @@ +SET @start_global_value = @@global.max_allowed_packet; +SELECT @start_global_value; +@start_global_value +1048576 +SET @start_session_value = @@session.max_allowed_packet; +SELECT @start_session_value; +@start_session_value +1048576 +'#--------------------FN_DYNVARS_070_01-------------------------#' +SET @@global.max_allowed_packet = 1000; +Warnings: +Warning 1292 Truncated incorrect max_allowed_packet value: '1000' +SET @@global.max_allowed_packet = DEFAULT; +SELECT @@global.max_allowed_packet; +@@global.max_allowed_packet +1048576 +SET @@session.max_allowed_packet = 20000; +SET @@session.max_allowed_packet = DEFAULT; +SELECT @@session.max_allowed_packet; +@@session.max_allowed_packet +1048576 +'#--------------------FN_DYNVARS_070_02-------------------------#' +SET @@global.max_allowed_packet = DEFAULT; +SELECT @@global.max_allowed_packet = 1048576; +@@global.max_allowed_packet = 1048576 +1 +SET @@session.max_allowed_packet = DEFAULT; +SELECT @@session.max_allowed_packet = 1048576; +@@session.max_allowed_packet = 1048576 +1 +'#--------------------FN_DYNVARS_070_03-------------------------#' +SET @@global.max_allowed_packet = 1024; +SELECT @@global.max_allowed_packet; +@@global.max_allowed_packet +1024 +SET @@global.max_allowed_packet = 1025; +SELECT @@global.max_allowed_packet; +@@global.max_allowed_packet +1024 +: 'Bug# 34841: "Invalid values are coming in variable on assigning valid value'; +SET @@global.max_allowed_packet = 1073741824; +SELECT @@global.max_allowed_packet; +@@global.max_allowed_packet +1073741824 +SET @@global.max_allowed_packet = 1073741823; +SELECT @@global.max_allowed_packet; +@@global.max_allowed_packet +1073740800 +'#--------------------FN_DYNVARS_070_04-------------------------#' +SET @@session.max_allowed_packet = 1024; +SELECT @@session.max_allowed_packet; +@@session.max_allowed_packet +1024 +SET @@session.max_allowed_packet = 1025; +SELECT @@session.max_allowed_packet; +@@session.max_allowed_packet +1024 +SET @@session.max_allowed_packet = 65535; +SELECT @@session.max_allowed_packet; +@@session.max_allowed_packet +64512 +SET @@session.max_allowed_packet = 1073741824; +SELECT @@session.max_allowed_packet; +@@session.max_allowed_packet +1073741824 +SET @@session.max_allowed_packet = 1073741823; +SELECT @@session.max_allowed_packet; +@@session.max_allowed_packet +1073740800 +'#------------------FN_DYNVARS_070_05-----------------------#' +SET @@global.max_allowed_packet = 0; +Warnings: +Warning 1292 Truncated incorrect max_allowed_packet value: '0' +SELECT @@global.max_allowed_packet; +@@global.max_allowed_packet +1024 +SET @@global.max_allowed_packet = -1024; +Warnings: +Warning 1292 Truncated incorrect max_allowed_packet value: '0' +SELECT @@global.max_allowed_packet; +@@global.max_allowed_packet +1024 +SET @@global.max_allowed_packet = 1023; +Warnings: +Warning 1292 Truncated incorrect max_allowed_packet value: '1023' +SELECT @@global.max_allowed_packet; +@@global.max_allowed_packet +1024 +SET @@global.max_allowed_packet = 10737418241; +Warnings: +Warning 1292 Truncated incorrect max_allowed_packet value: '10737418241' +SELECT @@global.max_allowed_packet; +@@global.max_allowed_packet +1073741824 +SET @@global.max_allowed_packet = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.max_allowed_packet; +@@global.max_allowed_packet +1073741824 +SET @@global.max_allowed_packet = test; +ERROR 42000: Incorrect argument type to variable 'max_allowed_packet' +SELECT @@global.max_allowed_packet; +@@global.max_allowed_packet +1073741824 +SET @@session.max_allowed_packet = 0; +Warnings: +Warning 1292 Truncated incorrect max_allowed_packet value: '0' +SELECT @@session.max_allowed_packet; +@@session.max_allowed_packet +1024 +SET @@session.max_allowed_packet = 1023; +Warnings: +Warning 1292 Truncated incorrect max_allowed_packet value: '1023' +SELECT @@session.max_allowed_packet; +@@session.max_allowed_packet +1024 +SET @@session.max_allowed_packet = -2; +Warnings: +Warning 1292 Truncated incorrect max_allowed_packet value: '0' +SELECT @@session.max_allowed_packet; +@@session.max_allowed_packet +1024 +SET @@session.max_allowed_packet = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.max_allowed_packet = 10737418241; +Warnings: +Warning 1292 Truncated incorrect max_allowed_packet value: '10737418241' +SELECT @@session.max_allowed_packet; +@@session.max_allowed_packet +1073741824 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@session.max_allowed_packet = test; +ERROR 42000: Incorrect argument type to variable 'max_allowed_packet' +SELECT @@session.max_allowed_packet; +@@session.max_allowed_packet +1073741824 +'#------------------FN_DYNVARS_070_06-----------------------#' +SELECT @@global.max_allowed_packet = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='max_allowed_packet'; +@@global.max_allowed_packet = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_070_07-----------------------#' +SELECT @@session.max_allowed_packet = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='max_allowed_packet'; +@@session.max_allowed_packet = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_070_08-----------------------#' +SET @@global.max_allowed_packet = TRUE; +Warnings: +Warning 1292 Truncated incorrect max_allowed_packet value: '1' +SELECT @@global.max_allowed_packet; +@@global.max_allowed_packet +1024 +SET @@global.max_allowed_packet = FALSE; +Warnings: +Warning 1292 Truncated incorrect max_allowed_packet value: '0' +SELECT @@global.max_allowed_packet; +@@global.max_allowed_packet +1024 +'#---------------------FN_DYNVARS_070_09----------------------#' +SET @@global.max_allowed_packet = 2048; +SELECT @@max_allowed_packet = @@global.max_allowed_packet; +@@max_allowed_packet = @@global.max_allowed_packet +0 +'#---------------------FN_DYNVARS_070_10----------------------#' +SET @@max_allowed_packet = 100000; +SELECT @@max_allowed_packet = @@local.max_allowed_packet; +@@max_allowed_packet = @@local.max_allowed_packet +1 +SELECT @@local.max_allowed_packet = @@session.max_allowed_packet; +@@local.max_allowed_packet = @@session.max_allowed_packet +1 +'#---------------------FN_DYNVARS_070_11----------------------#' +SET max_allowed_packet = 1024; +SELECT @@max_allowed_packet; +@@max_allowed_packet +1024 +SELECT local.max_allowed_packet; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.max_allowed_packet; +ERROR 42S02: Unknown table 'session' in field list +SELECT max_allowed_packet = @@session.max_allowed_packet; +ERROR 42S22: Unknown column 'max_allowed_packet' in 'field list' +SET @@global.max_allowed_packet = @start_global_value; +SELECT @@global.max_allowed_packet; +@@global.max_allowed_packet +1048576 +SET @@session.max_allowed_packet = @start_session_value; +SELECT @@session.max_allowed_packet; +@@session.max_allowed_packet +1048576 diff --git a/mysql-test/r/max_allowed_packet_func.result b/mysql-test/r/max_allowed_packet_func.result new file mode 100644 index 00000000000..9e44bcfb7b1 --- /dev/null +++ b/mysql-test/r/max_allowed_packet_func.result @@ -0,0 +1,47 @@ +1048576 +drop table if exists t1; +## Creating new table t1 ## +CREATE TABLE t1 +( +id INT NOT NULL auto_increment, +PRIMARY KEY (id), +name BLOB +); +'#--------------------FN_DYNVARS_070_01-------------------------#' +## Setting value of max_allowed packet and net_buffer_length to 1024 ## +SET @@session.max_allowed_packet = 1024; +SET @@session.net_buffer_length = 1024; +SELECT @@session.max_allowed_packet; +@@session.max_allowed_packet +1024 +SELECT @@session.net_buffer_length; +@@session.net_buffer_length +1024 +## Inserting and fetching data of length greater than 1024 ## +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +SELECT length("aaaaaasssssssssssdddddddfffffgggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk") as len; +len +1470 +## Verifying record in table t1 ## +SELECT * from t1; +id name +1 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +'Bug#35381: Error is not coming on inserting and fetching data of length' +'greater than max_allowed_packet size at session level'; +'#--------------------FN_DYNVARS_070_02-------------------------#' +## Setting value of max_allowed packet and net_buffer_length to 1024 ## +SET @@global.max_allowed_packet = 1024; +SET @@global.net_buffer_length = 1024; +SELECT @@global.max_allowed_packet; +@@global.max_allowed_packet +1024 +SELECT @@global.net_buffer_length; +@@global.net_buffer_length +1024 +## Creating new connection test_con1 ## +## Inserting and fetching data of length greater than 1024 ## +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +drop table t1; +SET @@global.max_allowed_packet = 1048576; +## Server disconnects after this case and error occurs that Server ## +## has gone away ## diff --git a/mysql-test/r/max_binlog_cache_size_basic_32.result b/mysql-test/r/max_binlog_cache_size_basic_32.result new file mode 100644 index 00000000000..1dbeb50ff90 --- /dev/null +++ b/mysql-test/r/max_binlog_cache_size_basic_32.result @@ -0,0 +1,145 @@ +SET @start_value = @@global.max_binlog_cache_size; +SELECT @start_value; +@start_value +4294967295 +'#--------------------FN_DYNVARS_072_01------------------------#' +SET @@global.max_binlog_cache_size = 5000; +SET @@global.max_binlog_cache_size = DEFAULT; +SELECT @@global.max_binlog_cache_size; +@@global.max_binlog_cache_size +4294963200 +'#---------------------FN_DYNVARS_072_02-------------------------#' +SET @@global.max_binlog_cache_size = @start_value; +SELECT @@global.max_binlog_cache_size = 4294967295; +@@global.max_binlog_cache_size = 4294967295 +0 +'Bug# 34876: Incorrect Default Value is assigned to variable'; +'#--------------------FN_DYNVARS_072_03------------------------#' +SET @@global.max_binlog_cache_size = 4096; +SELECT @@global.max_binlog_cache_size; +@@global.max_binlog_cache_size +4096 +SET @@global.max_binlog_cache_size = 4294967295; +SELECT @@global.max_binlog_cache_size; +@@global.max_binlog_cache_size +4294963200 +SET @@global.max_binlog_cache_size = 4294967294; +SELECT @@global.max_binlog_cache_size; +@@global.max_binlog_cache_size +4294963200 +SET @@global.max_binlog_cache_size = 4097; +SELECT @@global.max_binlog_cache_size; +@@global.max_binlog_cache_size +4096 +SET @@global.max_binlog_cache_size = 65535; +SELECT @@global.max_binlog_cache_size; +@@global.max_binlog_cache_size +61440 +'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +'#--------------------FN_DYNVARS_072_04-------------------------#' +SET @@global.max_binlog_cache_size = -1; +Warnings: +Warning 1292 Truncated incorrect max_binlog_cache_size value: '0' +SELECT @@global.max_binlog_cache_size; +@@global.max_binlog_cache_size +4096 +SET @@global.max_binlog_cache_size = 100000000000; +Warnings: +Warning 1292 Truncated incorrect max_binlog_cache_size value: '100000000000' +SELECT @@global.max_binlog_cache_size; +@@global.max_binlog_cache_size +4294963200 +SET @@global.max_binlog_cache_size = 10000.01; +ERROR 42000: Incorrect argument type to variable 'max_binlog_cache_size' +SELECT @@global.max_binlog_cache_size; +@@global.max_binlog_cache_size +4294963200 +SET @@global.max_binlog_cache_size = -1024; +Warnings: +Warning 1292 Truncated incorrect max_binlog_cache_size value: '0' +SELECT @@global.max_binlog_cache_size; +@@global.max_binlog_cache_size +4096 +SET @@global.max_binlog_cache_size = 1024; +Warnings: +Warning 1292 Truncated incorrect max_binlog_cache_size value: '1024' +SELECT @@global.max_binlog_cache_size; +@@global.max_binlog_cache_size +4096 +SET @@global.max_binlog_cache_size = 4294967296; +Warnings: +Warning 1292 Truncated incorrect max_binlog_cache_size value: '4294967296' +SELECT @@global.max_binlog_cache_size; +@@global.max_binlog_cache_size +4294963200 +SET @@global.max_binlog_cache_size = 4095; +Warnings: +Warning 1292 Truncated incorrect max_binlog_cache_size value: '4095' +SELECT @@global.max_binlog_cache_size; +@@global.max_binlog_cache_size +4096 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@global.max_binlog_cache_size = ON; +ERROR 42000: Incorrect argument type to variable 'max_binlog_cache_size' +SELECT @@global.max_binlog_cache_size; +@@global.max_binlog_cache_size +4096 +SET @@global.max_binlog_cache_size = 'test'; +ERROR 42000: Incorrect argument type to variable 'max_binlog_cache_size' +SELECT @@global.max_binlog_cache_size; +@@global.max_binlog_cache_size +4096 +'#-------------------FN_DYNVARS_072_05----------------------------#' +SET @@session.max_binlog_cache_size = 4096; +ERROR HY000: Variable 'max_binlog_cache_size' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@session.max_binlog_cache_size; +ERROR HY000: Variable 'max_binlog_cache_size' is a GLOBAL variable +'#----------------------FN_DYNVARS_072_06------------------------#' +SELECT @@global.max_binlog_cache_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='max_binlog_cache_size'; +@@global.max_binlog_cache_size = VARIABLE_VALUE +1 +SELECT @@max_binlog_cache_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='max_binlog_cache_size'; +@@max_binlog_cache_size = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_072_07----------------------#' +SET @@global.max_binlog_cache_size = TRUE; +Warnings: +Warning 1292 Truncated incorrect max_binlog_cache_size value: '1' +SELECT @@global.max_binlog_cache_size; +@@global.max_binlog_cache_size +4096 +SET @@global.max_binlog_cache_size = FALSE; +Warnings: +Warning 1292 Truncated incorrect max_binlog_cache_size value: '0' +SELECT @@global.max_binlog_cache_size; +@@global.max_binlog_cache_size +4096 +'#---------------------FN_DYNVARS_072_08----------------------#' +SET @@global.max_binlog_cache_size = 5000; +SELECT @@max_binlog_cache_size = @@global.max_binlog_cache_size; +@@max_binlog_cache_size = @@global.max_binlog_cache_size +1 +'#---------------------FN_DYNVARS_072_09----------------------#' +SET max_binlog_cache_size = 6000; +ERROR HY000: Variable 'max_binlog_cache_size' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@max_binlog_cache_size; +@@max_binlog_cache_size +4096 +SET local.max_binlog_cache_size = 7000; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'max_binlog_cache_size = 7000' at line 1 +SELECT local.max_binlog_cache_size; +ERROR 42S02: Unknown table 'local' in field list +SET global.max_binlog_cache_size = 8000; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'max_binlog_cache_size = 8000' at line 1 +SELECT global.max_binlog_cache_size; +ERROR 42S02: Unknown table 'global' in field list +SELECT max_binlog_cache_size = @@session.max_binlog_cache_size; +ERROR 42S22: Unknown column 'max_binlog_cache_size' in 'field list' +SET @@global.max_binlog_cache_size = @start_value; +SELECT @@global.max_binlog_cache_size; +@@global.max_binlog_cache_size +4294963200 diff --git a/mysql-test/r/max_binlog_cache_size_basic_64.result b/mysql-test/r/max_binlog_cache_size_basic_64.result new file mode 100644 index 00000000000..30db3f14dd4 --- /dev/null +++ b/mysql-test/r/max_binlog_cache_size_basic_64.result @@ -0,0 +1,141 @@ +SET @start_value = @@global.max_binlog_cache_size; +SELECT @start_value; +@start_value +18446744073709551615 +'#--------------------FN_DYNVARS_072_01------------------------#' +SET @@global.max_binlog_cache_size = 5000; +SET @@global.max_binlog_cache_size = DEFAULT; +SELECT @@global.max_binlog_cache_size; +@@global.max_binlog_cache_size +18446744073709547520 +'#---------------------FN_DYNVARS_072_02-------------------------#' +SET @@global.max_binlog_cache_size = @start_value; +SELECT @@global.max_binlog_cache_size = 4294967295; +@@global.max_binlog_cache_size = 4294967295 +0 +'Bug# 34876: Incorrect Default Value is assigned to variable'; +'#--------------------FN_DYNVARS_072_03------------------------#' +SET @@global.max_binlog_cache_size = 4096; +SELECT @@global.max_binlog_cache_size; +@@global.max_binlog_cache_size +4096 +SET @@global.max_binlog_cache_size = 4294967295; +SELECT @@global.max_binlog_cache_size; +@@global.max_binlog_cache_size +4294963200 +SET @@global.max_binlog_cache_size = 4294967294; +SELECT @@global.max_binlog_cache_size; +@@global.max_binlog_cache_size +4294963200 +SET @@global.max_binlog_cache_size = 4097; +SELECT @@global.max_binlog_cache_size; +@@global.max_binlog_cache_size +4096 +SET @@global.max_binlog_cache_size = 65535; +SELECT @@global.max_binlog_cache_size; +@@global.max_binlog_cache_size +61440 +'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +'#--------------------FN_DYNVARS_072_04-------------------------#' +SET @@global.max_binlog_cache_size = -1; +Warnings: +Warning 1292 Truncated incorrect max_binlog_cache_size value: '0' +SELECT @@global.max_binlog_cache_size; +@@global.max_binlog_cache_size +4096 +SET @@global.max_binlog_cache_size = 100000000000; +SELECT @@global.max_binlog_cache_size; +@@global.max_binlog_cache_size +99999997952 +SET @@global.max_binlog_cache_size = 10000.01; +ERROR 42000: Incorrect argument type to variable 'max_binlog_cache_size' +SELECT @@global.max_binlog_cache_size; +@@global.max_binlog_cache_size +99999997952 +SET @@global.max_binlog_cache_size = -1024; +Warnings: +Warning 1292 Truncated incorrect max_binlog_cache_size value: '0' +SELECT @@global.max_binlog_cache_size; +@@global.max_binlog_cache_size +4096 +SET @@global.max_binlog_cache_size = 1024; +Warnings: +Warning 1292 Truncated incorrect max_binlog_cache_size value: '1024' +SELECT @@global.max_binlog_cache_size; +@@global.max_binlog_cache_size +4096 +SET @@global.max_binlog_cache_size = 4294967296; +SELECT @@global.max_binlog_cache_size; +@@global.max_binlog_cache_size +4294967296 +SET @@global.max_binlog_cache_size = 4095; +Warnings: +Warning 1292 Truncated incorrect max_binlog_cache_size value: '4095' +SELECT @@global.max_binlog_cache_size; +@@global.max_binlog_cache_size +4096 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@global.max_binlog_cache_size = ON; +ERROR 42000: Incorrect argument type to variable 'max_binlog_cache_size' +SELECT @@global.max_binlog_cache_size; +@@global.max_binlog_cache_size +4096 +SET @@global.max_binlog_cache_size = 'test'; +ERROR 42000: Incorrect argument type to variable 'max_binlog_cache_size' +SELECT @@global.max_binlog_cache_size; +@@global.max_binlog_cache_size +4096 +'#-------------------FN_DYNVARS_072_05----------------------------#' +SET @@session.max_binlog_cache_size = 4096; +ERROR HY000: Variable 'max_binlog_cache_size' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@session.max_binlog_cache_size; +ERROR HY000: Variable 'max_binlog_cache_size' is a GLOBAL variable +'#----------------------FN_DYNVARS_072_06------------------------#' +SELECT @@global.max_binlog_cache_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='max_binlog_cache_size'; +@@global.max_binlog_cache_size = VARIABLE_VALUE +1 +SELECT @@max_binlog_cache_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='max_binlog_cache_size'; +@@max_binlog_cache_size = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_072_07----------------------#' +SET @@global.max_binlog_cache_size = TRUE; +Warnings: +Warning 1292 Truncated incorrect max_binlog_cache_size value: '1' +SELECT @@global.max_binlog_cache_size; +@@global.max_binlog_cache_size +4096 +SET @@global.max_binlog_cache_size = FALSE; +Warnings: +Warning 1292 Truncated incorrect max_binlog_cache_size value: '0' +SELECT @@global.max_binlog_cache_size; +@@global.max_binlog_cache_size +4096 +'#---------------------FN_DYNVARS_072_08----------------------#' +SET @@global.max_binlog_cache_size = 5000; +SELECT @@max_binlog_cache_size = @@global.max_binlog_cache_size; +@@max_binlog_cache_size = @@global.max_binlog_cache_size +1 +'#---------------------FN_DYNVARS_072_09----------------------#' +SET max_binlog_cache_size = 6000; +ERROR HY000: Variable 'max_binlog_cache_size' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@max_binlog_cache_size; +@@max_binlog_cache_size +4096 +SET local.max_binlog_cache_size = 7000; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'max_binlog_cache_size = 7000' at line 1 +SELECT local.max_binlog_cache_size; +ERROR 42S02: Unknown table 'local' in field list +SET global.max_binlog_cache_size = 8000; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'max_binlog_cache_size = 8000' at line 1 +SELECT global.max_binlog_cache_size; +ERROR 42S02: Unknown table 'global' in field list +SELECT max_binlog_cache_size = @@session.max_binlog_cache_size; +ERROR 42S22: Unknown column 'max_binlog_cache_size' in 'field list' +SET @@global.max_binlog_cache_size = @start_value; +SELECT @@global.max_binlog_cache_size; +@@global.max_binlog_cache_size +18446744073709547520 diff --git a/mysql-test/r/max_binlog_cache_size_func.result b/mysql-test/r/max_binlog_cache_size_func.result new file mode 100644 index 00000000000..50c9e8e935d --- /dev/null +++ b/mysql-test/r/max_binlog_cache_size_func.result @@ -0,0 +1,350 @@ +drop table if exists t1; +## Setting value of log_warning to 1 ## +SET @@global.log_warnings = 1; +## Creating new table t1 ## +CREATE TABLE t1 +( +id INT NOT NULL auto_increment, +PRIMARY KEY (id), +name BLOB +) engine = innodb; +'#--------------------FN_DYNVARS_071_01-------------------------#' +## Setting initial value of variable to 4096 ## +SET @@global.max_binlog_cache_size = 4096; +## Creating & connecting with new connection test_con1 ## +SET @@autocommit = 0; +SELECT @@global.max_binlog_cache_size; +@@global.max_binlog_cache_size +4096 +## Inserting and fetching data of length greater than 4096 ## +START TRANSACTION; +'Bug: According to documentation, if multistatement transcation'; +'requires more than 4096 bytes, an error should occur, but no error'; +'is coming'; +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +COMMIT; +START TRANSACTION; +INSERT into t1(name) values("1111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("11111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +ROLLBACK; +START TRANSACTION; +INSERT into t1(name) values("21111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("211111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("2111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("2111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("2111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("2111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +COMMIT; +START TRANSACTION; +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +COMMIT; +START TRANSACTION; +INSERT into t1(name) values("1111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("11111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +ROLLBACK; +START TRANSACTION; +INSERT into t1(name) values("21111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("211111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("2111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("2111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("2111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("2111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +COMMIT; +START TRANSACTION; +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +COMMIT; +START TRANSACTION; +INSERT into t1(name) values("1111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("11111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +ROLLBACK; +START TRANSACTION; +INSERT into t1(name) values("21111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("211111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("2111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("2111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("2111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +INSERT into t1(name) values("2111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +COMMIT; +SELECT * from t1; +id name +1 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +2 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +3 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +4 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +5 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +6 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +7 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +8 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +9 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +10 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +11 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +12 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +13 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +14 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +15 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +16 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +17 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +18 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +19 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +20 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +21 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +22 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +23 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +24 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +25 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +26 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +27 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +28 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +29 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +30 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +31 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +32 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +33 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +34 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +35 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +36 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +37 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +38 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +39 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +40 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +41 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +42 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +43 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +44 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +45 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +46 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +47 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +48 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +49 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +50 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +51 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +52 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +53 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +54 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +55 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +56 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +57 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +58 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +59 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +60 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +61 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +62 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +63 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +64 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +65 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +66 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +67 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +68 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +69 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +70 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +71 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +72 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +73 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +74 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +75 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +76 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +77 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +78 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +79 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +80 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +81 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +82 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +83 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +84 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +85 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +86 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +87 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +88 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +89 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +90 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +91 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +92 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +93 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +94 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +95 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +96 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +97 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +98 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +99 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +100 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +101 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +102 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +103 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +104 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +105 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +106 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +107 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +108 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +109 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +110 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +111 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +112 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +113 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +120 21111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +121 211111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +122 2111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +123 2111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +124 2111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +125 2111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +126 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +127 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +128 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +129 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +130 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +131 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +138 21111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +139 211111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +140 2111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +141 2111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +142 2111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +143 2111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +144 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +145 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +146 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +147 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +148 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +149 aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +156 21111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +157 211111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +158 2111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +159 2111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +160 2111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +161 2111111111aaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkaaassssssssddddddddffffffgggggggg, askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +DELETE FROM t1; +## Dropping table t1 ## +drop table t1; +## Disconnecting test_con1 ## diff --git a/mysql-test/r/max_binlog_size_basic.result b/mysql-test/r/max_binlog_size_basic.result new file mode 100644 index 00000000000..291b687f76c --- /dev/null +++ b/mysql-test/r/max_binlog_size_basic.result @@ -0,0 +1,145 @@ +SET @start_value = @@global.max_binlog_size; +SELECT @start_value; +@start_value +1073741824 +'#--------------------FN_DYNVARS_072_01------------------------#' +SET @@global.max_binlog_size = 5000; +SET @@global.max_binlog_size = DEFAULT; +SELECT @@global.max_binlog_size; +@@global.max_binlog_size +1073741824 +'Bug# 34878: This variable has invalid default value as compared to documentation'; +'#---------------------FN_DYNVARS_072_02-------------------------#' +SET @@global.max_binlog_size = @start_value; +SELECT @@global.max_binlog_size = 1073741824; +@@global.max_binlog_size = 1073741824 +1 +'#--------------------FN_DYNVARS_072_03------------------------#' +SET @@global.max_binlog_size = 4096; +SELECT @@global.max_binlog_size; +@@global.max_binlog_size +4096 +SET @@global.max_binlog_size = 1073741824; +SELECT @@global.max_binlog_size; +@@global.max_binlog_size +1073741824 +SET @@global.max_binlog_size = 1073741823; +SELECT @@global.max_binlog_size; +@@global.max_binlog_size +1073737728 +SET @@global.max_binlog_size = 4097; +SELECT @@global.max_binlog_size; +@@global.max_binlog_size +4096 +SET @@global.max_binlog_size = 65535; +SELECT @@global.max_binlog_size; +@@global.max_binlog_size +61440 +'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +'#--------------------FN_DYNVARS_072_04-------------------------#' +SET @@global.max_binlog_size = -1; +Warnings: +Warning 1292 Truncated incorrect max_binlog_size value: '0' +SELECT @@global.max_binlog_size; +@@global.max_binlog_size +4096 +SET @@global.max_binlog_size = 100000000000; +Warnings: +Warning 1292 Truncated incorrect max_binlog_size value: '100000000000' +SELECT @@global.max_binlog_size; +@@global.max_binlog_size +1073741824 +SET @@global.max_binlog_size = 10000.01; +ERROR 42000: Incorrect argument type to variable 'max_binlog_size' +SELECT @@global.max_binlog_size; +@@global.max_binlog_size +1073741824 +SET @@global.max_binlog_size = -1024; +Warnings: +Warning 1292 Truncated incorrect max_binlog_size value: '0' +SELECT @@global.max_binlog_size; +@@global.max_binlog_size +4096 +SET @@global.max_binlog_size = 1024; +Warnings: +Warning 1292 Truncated incorrect max_binlog_size value: '1024' +SELECT @@global.max_binlog_size; +@@global.max_binlog_size +4096 +SET @@global.max_binlog_size = 4294967296; +Warnings: +Warning 1292 Truncated incorrect max_binlog_size value: '4294967296' +SELECT @@global.max_binlog_size; +@@global.max_binlog_size +1073741824 +SET @@global.max_binlog_size = 4095; +Warnings: +Warning 1292 Truncated incorrect max_binlog_size value: '4095' +SELECT @@global.max_binlog_size; +@@global.max_binlog_size +4096 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@global.max_binlog_size = ON; +ERROR 42000: Incorrect argument type to variable 'max_binlog_size' +SELECT @@global.max_binlog_size; +@@global.max_binlog_size +4096 +SET @@global.max_binlog_size = 'test'; +ERROR 42000: Incorrect argument type to variable 'max_binlog_size' +SELECT @@global.max_binlog_size; +@@global.max_binlog_size +4096 +'#-------------------FN_DYNVARS_072_05----------------------------#' +SET @@session.max_binlog_size = 4096; +ERROR HY000: Variable 'max_binlog_size' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@session.max_binlog_size; +ERROR HY000: Variable 'max_binlog_size' is a GLOBAL variable +'#----------------------FN_DYNVARS_072_06------------------------#' +SELECT @@global.max_binlog_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='max_binlog_size'; +@@global.max_binlog_size = VARIABLE_VALUE +1 +SELECT @@max_binlog_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='max_binlog_size'; +@@max_binlog_size = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_072_07----------------------#' +SET @@global.max_binlog_size = TRUE; +Warnings: +Warning 1292 Truncated incorrect max_binlog_size value: '1' +SELECT @@global.max_binlog_size; +@@global.max_binlog_size +4096 +SET @@global.max_binlog_size = FALSE; +Warnings: +Warning 1292 Truncated incorrect max_binlog_size value: '0' +SELECT @@global.max_binlog_size; +@@global.max_binlog_size +4096 +'#---------------------FN_DYNVARS_072_08----------------------#' +SET @@global.max_binlog_size = 5000; +SELECT @@max_binlog_size = @@global.max_binlog_size; +@@max_binlog_size = @@global.max_binlog_size +1 +'#---------------------FN_DYNVARS_072_09----------------------#' +SET max_binlog_size = 6000; +ERROR HY000: Variable 'max_binlog_size' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@max_binlog_size; +@@max_binlog_size +4096 +SET local.max_binlog_size = 7000; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'max_binlog_size = 7000' at line 1 +SELECT local.max_binlog_size; +ERROR 42S02: Unknown table 'local' in field list +SET global.max_binlog_size = 8000; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'max_binlog_size = 8000' at line 1 +SELECT global.max_binlog_size; +ERROR 42S02: Unknown table 'global' in field list +SELECT max_binlog_size = @@session.max_binlog_size; +ERROR 42S22: Unknown column 'max_binlog_size' in 'field list' +SET @@global.max_binlog_size = @start_value; +SELECT @@global.max_binlog_size; +@@global.max_binlog_size +1073741824 diff --git a/mysql-test/r/max_connect_errors_basic_32.result b/mysql-test/r/max_connect_errors_basic_32.result new file mode 100644 index 00000000000..b786e0ce31a --- /dev/null +++ b/mysql-test/r/max_connect_errors_basic_32.result @@ -0,0 +1,137 @@ +SET @start_value = @@global.max_connect_errors; +SELECT @start_value; +@start_value +10 +'#--------------------FN_DYNVARS_073_01------------------------#' +SET @@global.max_connect_errors = 5000; +SET @@global.max_connect_errors = DEFAULT; +SELECT @@global.max_connect_errors; +@@global.max_connect_errors +10 +'Bug# 34876: This variable has invalid default value as compared to documentation'; +'#---------------------FN_DYNVARS_073_02-------------------------#' +SET @@global.max_connect_errors = @start_value; +SELECT @@global.max_connect_errors = 10; +@@global.max_connect_errors = 10 +1 +'#--------------------FN_DYNVARS_073_03------------------------#' +SET @@global.max_connect_errors = 4096; +SELECT @@global.max_connect_errors; +@@global.max_connect_errors +4096 +SET @@global.max_connect_errors = 4294967294; +SELECT @@global.max_connect_errors; +@@global.max_connect_errors +4294967294 +SET @@global.max_connect_errors = 4294967295; +SELECT @@global.max_connect_errors; +@@global.max_connect_errors +4294967295 +SET @@global.max_connect_errors = 1; +SELECT @@global.max_connect_errors; +@@global.max_connect_errors +1 +SET @@global.max_connect_errors = 2; +SELECT @@global.max_connect_errors; +@@global.max_connect_errors +2 +'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +'#--------------------FN_DYNVARS_073_04-------------------------#' +SET @@global.max_connect_errors = -1; +Warnings: +Warning 1292 Truncated incorrect max_connect_errors value: '0' +SELECT @@global.max_connect_errors; +@@global.max_connect_errors +1 +SET @@global.max_connect_errors = 100000000000; +Warnings: +Warning 1292 Truncated incorrect max_connect_errors value: '100000000000' +SELECT @@global.max_connect_errors; +@@global.max_connect_errors +4294967295 +SET @@global.max_connect_errors = 10000.01; +ERROR 42000: Incorrect argument type to variable 'max_connect_errors' +SELECT @@global.max_connect_errors; +@@global.max_connect_errors +4294967295 +SET @@global.max_connect_errors = -1024; +Warnings: +Warning 1292 Truncated incorrect max_connect_errors value: '0' +SELECT @@global.max_connect_errors; +@@global.max_connect_errors +1 +SET @@global.max_connect_errors = 0; +Warnings: +Warning 1292 Truncated incorrect max_connect_errors value: '0' +SELECT @@global.max_connect_errors; +@@global.max_connect_errors +1 +SET @@global.max_connect_errors = 4294967296; +Warnings: +Warning 1292 Truncated incorrect max_connect_errors value: '4294967296' +SELECT @@global.max_connect_errors; +@@global.max_connect_errors +4294967295 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@global.max_connect_errors = ON; +ERROR 42000: Incorrect argument type to variable 'max_connect_errors' +SELECT @@global.max_connect_errors; +@@global.max_connect_errors +4294967295 +SET @@global.max_connect_errors = 'test'; +ERROR 42000: Incorrect argument type to variable 'max_connect_errors' +SELECT @@global.max_connect_errors; +@@global.max_connect_errors +4294967295 +'#-------------------FN_DYNVARS_073_05----------------------------#' +SET @@session.max_connect_errors = 4096; +ERROR HY000: Variable 'max_connect_errors' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@session.max_connect_errors; +ERROR HY000: Variable 'max_connect_errors' is a GLOBAL variable +'#----------------------FN_DYNVARS_073_06------------------------#' +SELECT @@global.max_connect_errors = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='max_connect_errors'; +@@global.max_connect_errors = VARIABLE_VALUE +1 +SELECT @@max_connect_errors = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='max_connect_errors'; +@@max_connect_errors = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_073_07----------------------#' +SET @@global.max_connect_errors = TRUE; +SELECT @@global.max_connect_errors; +@@global.max_connect_errors +1 +SET @@global.max_connect_errors = FALSE; +Warnings: +Warning 1292 Truncated incorrect max_connect_errors value: '0' +SELECT @@global.max_connect_errors; +@@global.max_connect_errors +1 +'#---------------------FN_DYNVARS_073_08----------------------#' +SET @@global.max_connect_errors = 5000; +SELECT @@max_connect_errors = @@global.max_connect_errors; +@@max_connect_errors = @@global.max_connect_errors +1 +'#---------------------FN_DYNVARS_073_09----------------------#' +SET max_connect_errors = 6000; +ERROR HY000: Variable 'max_connect_errors' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@max_connect_errors; +@@max_connect_errors +5000 +SET local.max_connect_errors = 7000; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'max_connect_errors = 7000' at line 1 +SELECT local.max_connect_errors; +ERROR 42S02: Unknown table 'local' in field list +SET global.max_connect_errors = 8000; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'max_connect_errors = 8000' at line 1 +SELECT global.max_connect_errors; +ERROR 42S02: Unknown table 'global' in field list +SELECT max_connect_errors = @@session.max_connect_errors; +ERROR 42S22: Unknown column 'max_connect_errors' in 'field list' +SET @@global.max_connect_errors = @start_value; +SELECT @@global.max_connect_errors; +@@global.max_connect_errors +10 diff --git a/mysql-test/r/max_connect_errors_basic_64.result b/mysql-test/r/max_connect_errors_basic_64.result new file mode 100644 index 00000000000..8117b650651 --- /dev/null +++ b/mysql-test/r/max_connect_errors_basic_64.result @@ -0,0 +1,133 @@ +SET @start_value = @@global.max_connect_errors; +SELECT @start_value; +@start_value +10 +'#--------------------FN_DYNVARS_073_01------------------------#' +SET @@global.max_connect_errors = 5000; +SET @@global.max_connect_errors = DEFAULT; +SELECT @@global.max_connect_errors; +@@global.max_connect_errors +10 +'Bug# 34876: This variable has invalid default value as compared to documentation'; +'#---------------------FN_DYNVARS_073_02-------------------------#' +SET @@global.max_connect_errors = @start_value; +SELECT @@global.max_connect_errors = 10; +@@global.max_connect_errors = 10 +1 +'#--------------------FN_DYNVARS_073_03------------------------#' +SET @@global.max_connect_errors = 4096; +SELECT @@global.max_connect_errors; +@@global.max_connect_errors +4096 +SET @@global.max_connect_errors = 4294967294; +SELECT @@global.max_connect_errors; +@@global.max_connect_errors +4294967294 +SET @@global.max_connect_errors = 4294967295; +SELECT @@global.max_connect_errors; +@@global.max_connect_errors +4294967295 +SET @@global.max_connect_errors = 1; +SELECT @@global.max_connect_errors; +@@global.max_connect_errors +1 +SET @@global.max_connect_errors = 2; +SELECT @@global.max_connect_errors; +@@global.max_connect_errors +2 +'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +'#--------------------FN_DYNVARS_073_04-------------------------#' +SET @@global.max_connect_errors = -1; +Warnings: +Warning 1292 Truncated incorrect max_connect_errors value: '0' +SELECT @@global.max_connect_errors; +@@global.max_connect_errors +1 +SET @@global.max_connect_errors = 100000000000; +SELECT @@global.max_connect_errors; +@@global.max_connect_errors +100000000000 +SET @@global.max_connect_errors = 10000.01; +ERROR 42000: Incorrect argument type to variable 'max_connect_errors' +SELECT @@global.max_connect_errors; +@@global.max_connect_errors +100000000000 +SET @@global.max_connect_errors = -1024; +Warnings: +Warning 1292 Truncated incorrect max_connect_errors value: '0' +SELECT @@global.max_connect_errors; +@@global.max_connect_errors +1 +SET @@global.max_connect_errors = 0; +Warnings: +Warning 1292 Truncated incorrect max_connect_errors value: '0' +SELECT @@global.max_connect_errors; +@@global.max_connect_errors +1 +SET @@global.max_connect_errors = 4294967296; +SELECT @@global.max_connect_errors; +@@global.max_connect_errors +4294967296 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@global.max_connect_errors = ON; +ERROR 42000: Incorrect argument type to variable 'max_connect_errors' +SELECT @@global.max_connect_errors; +@@global.max_connect_errors +4294967296 +SET @@global.max_connect_errors = 'test'; +ERROR 42000: Incorrect argument type to variable 'max_connect_errors' +SELECT @@global.max_connect_errors; +@@global.max_connect_errors +4294967296 +'#-------------------FN_DYNVARS_073_05----------------------------#' +SET @@session.max_connect_errors = 4096; +ERROR HY000: Variable 'max_connect_errors' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@session.max_connect_errors; +ERROR HY000: Variable 'max_connect_errors' is a GLOBAL variable +'#----------------------FN_DYNVARS_073_06------------------------#' +SELECT @@global.max_connect_errors = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='max_connect_errors'; +@@global.max_connect_errors = VARIABLE_VALUE +1 +SELECT @@max_connect_errors = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='max_connect_errors'; +@@max_connect_errors = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_073_07----------------------#' +SET @@global.max_connect_errors = TRUE; +SELECT @@global.max_connect_errors; +@@global.max_connect_errors +1 +SET @@global.max_connect_errors = FALSE; +Warnings: +Warning 1292 Truncated incorrect max_connect_errors value: '0' +SELECT @@global.max_connect_errors; +@@global.max_connect_errors +1 +'#---------------------FN_DYNVARS_073_08----------------------#' +SET @@global.max_connect_errors = 5000; +SELECT @@max_connect_errors = @@global.max_connect_errors; +@@max_connect_errors = @@global.max_connect_errors +1 +'#---------------------FN_DYNVARS_073_09----------------------#' +SET max_connect_errors = 6000; +ERROR HY000: Variable 'max_connect_errors' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@max_connect_errors; +@@max_connect_errors +5000 +SET local.max_connect_errors = 7000; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'max_connect_errors = 7000' at line 1 +SELECT local.max_connect_errors; +ERROR 42S02: Unknown table 'local' in field list +SET global.max_connect_errors = 8000; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'max_connect_errors = 8000' at line 1 +SELECT global.max_connect_errors; +ERROR 42S02: Unknown table 'global' in field list +SELECT max_connect_errors = @@session.max_connect_errors; +ERROR 42S22: Unknown column 'max_connect_errors' in 'field list' +SET @@global.max_connect_errors = @start_value; +SELECT @@global.max_connect_errors; +@@global.max_connect_errors +10 diff --git a/mysql-test/r/max_connections_basic.result b/mysql-test/r/max_connections_basic.result new file mode 100644 index 00000000000..ccedff01c54 --- /dev/null +++ b/mysql-test/r/max_connections_basic.result @@ -0,0 +1,137 @@ +SET @start_value = @@global.max_connections; +SELECT @start_value; +@start_value +151 +'#--------------------FN_DYNVARS_074_01------------------------#' +SET @@global.max_connections = 5000; +SET @@global.max_connections = DEFAULT; +SELECT @@global.max_connections; +@@global.max_connections +151 +'Bug# 34876: This variable has invalid default value as compared to documentation'; +'#---------------------FN_DYNVARS_074_02-------------------------#' +SET @@global.max_connections = @start_value; +SELECT @@global.max_connections = 151; +@@global.max_connections = 151 +1 +'#--------------------FN_DYNVARS_074_03------------------------#' +SET @@global.max_connections = 100000; +SELECT @@global.max_connections; +@@global.max_connections +100000 +SET @@global.max_connections = 99999; +SELECT @@global.max_connections; +@@global.max_connections +99999 +SET @@global.max_connections = 65536; +SELECT @@global.max_connections; +@@global.max_connections +65536 +SET @@global.max_connections = 1; +SELECT @@global.max_connections; +@@global.max_connections +1 +SET @@global.max_connections = 2; +SELECT @@global.max_connections; +@@global.max_connections +2 +'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +'#--------------------FN_DYNVARS_074_04-------------------------#' +SET @@global.max_connections = -1; +Warnings: +Warning 1292 Truncated incorrect max_connections value: '0' +SELECT @@global.max_connections; +@@global.max_connections +1 +SET @@global.max_connections = 100000000000; +Warnings: +Warning 1292 Truncated incorrect max_connections value: '100000000000' +SELECT @@global.max_connections; +@@global.max_connections +100000 +SET @@global.max_connections = 10000.01; +ERROR 42000: Incorrect argument type to variable 'max_connections' +SELECT @@global.max_connections; +@@global.max_connections +100000 +SET @@global.max_connections = -1024; +Warnings: +Warning 1292 Truncated incorrect max_connections value: '0' +SELECT @@global.max_connections; +@@global.max_connections +1 +SET @@global.max_connections = 0; +Warnings: +Warning 1292 Truncated incorrect max_connections value: '0' +SELECT @@global.max_connections; +@@global.max_connections +1 +SET @@global.max_connections = 100001; +Warnings: +Warning 1292 Truncated incorrect max_connections value: '100001' +SELECT @@global.max_connections; +@@global.max_connections +100000 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@global.max_connections = ON; +ERROR 42000: Incorrect argument type to variable 'max_connections' +SELECT @@global.max_connections; +@@global.max_connections +100000 +SET @@global.max_connections = 'test'; +ERROR 42000: Incorrect argument type to variable 'max_connections' +SELECT @@global.max_connections; +@@global.max_connections +100000 +'#-------------------FN_DYNVARS_074_05----------------------------#' +SET @@session.max_connections = 4096; +ERROR HY000: Variable 'max_connections' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@session.max_connections; +ERROR HY000: Variable 'max_connections' is a GLOBAL variable +'#----------------------FN_DYNVARS_074_06------------------------#' +SELECT @@global.max_connections = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='max_connections'; +@@global.max_connections = VARIABLE_VALUE +1 +SELECT @@max_connections = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='max_connections'; +@@max_connections = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_074_07----------------------#' +SET @@global.max_connections = TRUE; +SELECT @@global.max_connections; +@@global.max_connections +1 +SET @@global.max_connections = FALSE; +Warnings: +Warning 1292 Truncated incorrect max_connections value: '0' +SELECT @@global.max_connections; +@@global.max_connections +1 +'#---------------------FN_DYNVARS_074_08----------------------#' +SET @@global.max_connections = 5000; +SELECT @@max_connections = @@global.max_connections; +@@max_connections = @@global.max_connections +1 +'#---------------------FN_DYNVARS_074_09----------------------#' +SET max_connections = 6000; +ERROR HY000: Variable 'max_connections' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@max_connections; +@@max_connections +5000 +SET local.max_connections = 7000; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'max_connections = 7000' at line 1 +SELECT local.max_connections; +ERROR 42S02: Unknown table 'local' in field list +SET global.max_connections = 8000; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'max_connections = 8000' at line 1 +SELECT global.max_connections; +ERROR 42S02: Unknown table 'global' in field list +SELECT max_connections = @@session.max_connections; +ERROR 42S22: Unknown column 'max_connections' in 'field list' +SET @@global.max_connections = @start_value; +SELECT @@global.max_connections; +@@global.max_connections +151 diff --git a/mysql-test/r/max_delayed_threads_basic.result b/mysql-test/r/max_delayed_threads_basic.result new file mode 100644 index 00000000000..e0b2a3ee1cd --- /dev/null +++ b/mysql-test/r/max_delayed_threads_basic.result @@ -0,0 +1,183 @@ +SET @start_global_value = @@global.max_delayed_threads; +SELECT @start_global_value; +@start_global_value +20 +SET @start_session_value = @@session.max_delayed_threads; +SELECT @start_session_value; +@start_session_value +20 +'#--------------------FN_DYNVARS_075_01-------------------------#' +SET @@global.max_delayed_threads = 1000; +SET @@global.max_delayed_threads = DEFAULT; +SELECT @@global.max_delayed_threads; +@@global.max_delayed_threads +20 +SET @@session.max_delayed_threads = 1000; +ERROR 42000: Variable 'max_delayed_threads' can't be set to the value of '1000' +'Bug# 34882: Valid values are not allowed to assign in this variable'; +SET @@session.max_delayed_threads = DEFAULT; +SELECT @@session.max_delayed_threads; +@@session.max_delayed_threads +20 +'#--------------------FN_DYNVARS_075_02-------------------------#' +SET @@global.max_delayed_threads = DEFAULT; +SELECT @@global.max_delayed_threads = 20; +@@global.max_delayed_threads = 20 +1 +SET @@session.max_delayed_threads = DEFAULT; +SELECT @@session.max_delayed_threads = 20; +@@session.max_delayed_threads = 20 +1 +'#--------------------FN_DYNVARS_075_03-------------------------#' +SET @@global.max_delayed_threads = 1; +SELECT @@global.max_delayed_threads; +@@global.max_delayed_threads +1 +SET @@global.max_delayed_threads = 1025; +SELECT @@global.max_delayed_threads; +@@global.max_delayed_threads +1025 +'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +SET @@global.max_delayed_threads = 0; +SELECT @@global.max_delayed_threads; +@@global.max_delayed_threads +0 +SET @@global.max_delayed_threads = 16384; +SELECT @@global.max_delayed_threads; +@@global.max_delayed_threads +16384 +SET @@global.max_delayed_threads = 16383; +SELECT @@global.max_delayed_threads; +@@global.max_delayed_threads +16383 +'#--------------------FN_DYNVARS_075_04-------------------------#' +SET @@session.max_delayed_threads = 1; +ERROR 42000: Variable 'max_delayed_threads' can't be set to the value of '1' +SELECT @@session.max_delayed_threads; +@@session.max_delayed_threads +20 +SET @@session.max_delayed_threads = 1025; +ERROR 42000: Variable 'max_delayed_threads' can't be set to the value of '1025' +SELECT @@session.max_delayed_threads; +@@session.max_delayed_threads +20 +SET @@session.max_delayed_threads = 0; +SELECT @@session.max_delayed_threads; +@@session.max_delayed_threads +0 +SET @@session.max_delayed_threads = 16384; +ERROR 42000: Variable 'max_delayed_threads' can't be set to the value of '16384' +SELECT @@session.max_delayed_threads; +@@session.max_delayed_threads +0 +SET @@session.max_delayed_threads = 16383; +SELECT @@session.max_delayed_threads; +@@session.max_delayed_threads +16383 +'#------------------FN_DYNVARS_075_05-----------------------#' +SET @@global.max_delayed_threads = -1024; +SELECT @@global.max_delayed_threads; +@@global.max_delayed_threads +0 +SET @@global.max_delayed_threads = -1; +SELECT @@global.max_delayed_threads; +@@global.max_delayed_threads +0 +SET @@global.max_delayed_threads = 16385; +Warnings: +Warning 1292 Truncated incorrect max_delayed_threads value: '16385' +SELECT @@global.max_delayed_threads; +@@global.max_delayed_threads +16384 +SET @@global.max_delayed_threads = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.max_delayed_threads; +@@global.max_delayed_threads +16384 +SET @@global.max_delayed_threads = test; +ERROR 42000: Incorrect argument type to variable 'max_delayed_threads' +SELECT @@global.max_delayed_threads; +@@global.max_delayed_threads +16384 +SET @@session.max_delayed_threads = 16385; +ERROR 42000: Variable 'max_delayed_threads' can't be set to the value of '16385' +SELECT @@session.max_delayed_threads; +@@session.max_delayed_threads +16383 +SET @@session.max_delayed_threads = -1; +ERROR 42000: Variable 'max_delayed_threads' can't be set to the value of '-1' +SELECT @@session.max_delayed_threads; +@@session.max_delayed_threads +16383 +SET @@session.max_delayed_threads = -2; +ERROR 42000: Variable 'max_delayed_threads' can't be set to the value of '-2' +SELECT @@session.max_delayed_threads; +@@session.max_delayed_threads +16383 +SET @@session.max_delayed_threads = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.max_delayed_threads = 10737418241; +ERROR 42000: Variable 'max_delayed_threads' can't be set to the value of '10737418241' +SELECT @@session.max_delayed_threads; +@@session.max_delayed_threads +16383 +SET @@session.max_delayed_threads = test; +ERROR 42000: Incorrect argument type to variable 'max_delayed_threads' +SELECT @@session.max_delayed_threads; +@@session.max_delayed_threads +16383 +'#------------------FN_DYNVARS_075_06-----------------------#' +SELECT @@global.max_delayed_threads = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='max_delayed_threads'; +@@global.max_delayed_threads = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_075_07-----------------------#' +SELECT @@session.max_delayed_threads = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='max_delayed_threads'; +@@session.max_delayed_threads = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_075_08-----------------------#' +SET @@global.max_delayed_threads = TRUE; +SELECT @@global.max_delayed_threads; +@@global.max_delayed_threads +1 +SET @@global.max_delayed_threads = FALSE; +SELECT @@global.max_delayed_threads; +@@global.max_delayed_threads +0 +'#---------------------FN_DYNVARS_001_09----------------------#' +SET @@global.max_delayed_threads = 2048; +SELECT @@max_delayed_threads = @@global.max_delayed_threads; +@@max_delayed_threads = @@global.max_delayed_threads +0 +'#---------------------FN_DYNVARS_001_10----------------------#' +SET @@max_delayed_threads = 100000; +ERROR 42000: Variable 'max_delayed_threads' can't be set to the value of '100000' +SELECT @@max_delayed_threads = @@local.max_delayed_threads; +@@max_delayed_threads = @@local.max_delayed_threads +1 +SELECT @@local.max_delayed_threads = @@session.max_delayed_threads; +@@local.max_delayed_threads = @@session.max_delayed_threads +1 +'#---------------------FN_DYNVARS_001_11----------------------#' +SET max_delayed_threads = 1024; +ERROR 42000: Variable 'max_delayed_threads' can't be set to the value of '1024' +SELECT @@max_delayed_threads; +@@max_delayed_threads +16383 +SELECT local.max_delayed_threads; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.max_delayed_threads; +ERROR 42S02: Unknown table 'session' in field list +SELECT max_delayed_threads = @@session.max_delayed_threads; +ERROR 42S22: Unknown column 'max_delayed_threads' in 'field list' +SET @@global.max_delayed_threads = @start_global_value; +SELECT @@global.max_delayed_threads; +@@global.max_delayed_threads +20 +SET @@session.max_delayed_threads = @start_session_value; +SELECT @@session.max_delayed_threads; +@@session.max_delayed_threads +20 diff --git a/mysql-test/r/max_error_count_basic.result b/mysql-test/r/max_error_count_basic.result new file mode 100644 index 00000000000..2046a5e9dfa --- /dev/null +++ b/mysql-test/r/max_error_count_basic.result @@ -0,0 +1,173 @@ +SET @start_global_value = @@global.max_error_count; +SELECT @start_global_value; +@start_global_value +64 +SET @start_session_value = @@session.max_error_count; +SELECT @start_session_value; +@start_session_value +64 +'#--------------------FN_DYNVARS_076_01-------------------------#' +SET @@global.max_error_count = 1000; +SET @@global.max_error_count = DEFAULT; +SELECT @@global.max_error_count; +@@global.max_error_count +64 +SET @@session.max_error_count = 20000; +SET @@session.max_error_count = DEFAULT; +SELECT @@session.max_error_count; +@@session.max_error_count +64 +'#--------------------FN_DYNVARS_076_02-------------------------#' +SET @@global.max_error_count = DEFAULT; +SELECT @@global.max_error_count = 64; +@@global.max_error_count = 64 +1 +SET @@session.max_error_count = DEFAULT; +SELECT @@session.max_error_count = 64; +@@session.max_error_count = 64 +1 +'#--------------------FN_DYNVARS_076_03-------------------------#' +SET @@global.max_error_count = 1; +SELECT @@global.max_error_count; +@@global.max_error_count +1 +SET @@global.max_error_count = 0; +SELECT @@global.max_error_count; +@@global.max_error_count +0 +'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +SET @@global.max_error_count = 65535; +SELECT @@global.max_error_count; +@@global.max_error_count +65535 +SET @@global.max_error_count = 65534; +SELECT @@global.max_error_count; +@@global.max_error_count +65534 +'#--------------------FN_DYNVARS_076_04-------------------------#' +SET @@session.max_error_count = 0; +SELECT @@session.max_error_count; +@@session.max_error_count +0 +SET @@session.max_error_count = 1; +SELECT @@session.max_error_count; +@@session.max_error_count +1 +SET @@session.max_error_count = 65535; +SELECT @@session.max_error_count; +@@session.max_error_count +65535 +SET @@session.max_error_count = 65534; +SELECT @@session.max_error_count; +@@session.max_error_count +65534 +'#------------------FN_DYNVARS_076_05-----------------------#' +SET @@global.max_error_count = -1; +SELECT @@global.max_error_count; +@@global.max_error_count +0 +SET @@global.max_error_count = -1024; +SELECT @@global.max_error_count; +@@global.max_error_count +0 +SET @@global.max_error_count = 65536; +Warnings: +Warning 1292 Truncated incorrect max_error_count value: '65536' +SELECT @@global.max_error_count; +@@global.max_error_count +65535 +SET @@global.max_error_count = 10737418241; +Warnings: +Warning 1292 Truncated incorrect max_error_count value: '10737418241' +SELECT @@global.max_error_count; +@@global.max_error_count +65535 +SET @@global.max_error_count = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.max_error_count; +@@global.max_error_count +65535 +SET @@global.max_error_count = test; +ERROR 42000: Incorrect argument type to variable 'max_error_count' +SELECT @@global.max_error_count; +@@global.max_error_count +65535 +SET @@session.max_error_count = -1; +SELECT @@session.max_error_count; +@@session.max_error_count +0 +SET @@session.max_error_count = 65536; +Warnings: +SELECT @@session.max_error_count; +@@session.max_error_count +65535 +SET @@session.max_error_count = -2; +SELECT @@session.max_error_count; +@@session.max_error_count +0 +SET @@session.max_error_count = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.max_error_count = 10737418241; +Warnings: +SELECT @@session.max_error_count; +@@session.max_error_count +65535 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@session.max_error_count = test; +ERROR 42000: Incorrect argument type to variable 'max_error_count' +SELECT @@session.max_error_count; +@@session.max_error_count +65535 +'#------------------FN_DYNVARS_076_06-----------------------#' +SELECT @@global.max_error_count = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='max_error_count'; +@@global.max_error_count = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_076_07-----------------------#' +SELECT @@session.max_error_count = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='max_error_count'; +@@session.max_error_count = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_076_08-----------------------#' +SET @@global.max_error_count = TRUE; +SELECT @@global.max_error_count; +@@global.max_error_count +1 +SET @@global.max_error_count = FALSE; +SELECT @@global.max_error_count; +@@global.max_error_count +0 +'#---------------------FN_DYNVARS_001_09----------------------#' +SET @@global.max_error_count = 2048; +SELECT @@max_error_count = @@global.max_error_count; +@@max_error_count = @@global.max_error_count +0 +'#---------------------FN_DYNVARS_001_10----------------------#' +SET @@max_error_count = 60000; +SELECT @@max_error_count = @@local.max_error_count; +@@max_error_count = @@local.max_error_count +1 +SELECT @@local.max_error_count = @@session.max_error_count; +@@local.max_error_count = @@session.max_error_count +1 +'#---------------------FN_DYNVARS_001_11----------------------#' +SET max_error_count = 1024; +SELECT @@max_error_count; +@@max_error_count +1024 +SELECT local.max_error_count; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.max_error_count; +ERROR 42S02: Unknown table 'session' in field list +SELECT max_error_count = @@session.max_error_count; +ERROR 42S22: Unknown column 'max_error_count' in 'field list' +SET @@global.max_error_count = @start_global_value; +SELECT @@global.max_error_count; +@@global.max_error_count +64 +SET @@session.max_error_count = @start_session_value; +SELECT @@session.max_error_count; +@@session.max_error_count +64 diff --git a/mysql-test/r/max_heap_table_size_basic_32.result b/mysql-test/r/max_heap_table_size_basic_32.result new file mode 100644 index 00000000000..04eaa3ddd19 --- /dev/null +++ b/mysql-test/r/max_heap_table_size_basic_32.result @@ -0,0 +1,196 @@ +SET @start_global_value = @@global.max_heap_table_size; +SELECT @start_global_value; +@start_global_value +1048576 +SET @start_session_value = @@session.max_heap_table_size; +SELECT @start_session_value; +@start_session_value +1048576 +'#--------------------FN_DYNVARS_077_01-------------------------#' +SET @@global.max_heap_table_size = 1677721610; +SET @@global.max_heap_table_size = DEFAULT; +SELECT @@global.max_heap_table_size; +@@global.max_heap_table_size +16777216 +SET @@session.max_heap_table_size = 1677721610; +SET @@session.max_heap_table_size = DEFAULT; +SELECT @@session.max_heap_table_size; +@@session.max_heap_table_size +16777216 +'#--------------------FN_DYNVARS_077_02-------------------------#' +SET @@global.max_heap_table_size = DEFAULT; +SELECT @@global.max_heap_table_size = 16777216; +@@global.max_heap_table_size = 16777216 +1 +SET @@session.max_heap_table_size = DEFAULT; +SELECT @@session.max_heap_table_size = 16777216; +@@session.max_heap_table_size = 16777216 +1 +'#--------------------FN_DYNVARS_077_03-------------------------#' +SET @@global.max_heap_table_size = 16384; +SELECT @@global.max_heap_table_size; +@@global.max_heap_table_size +16384 +SET @@global.max_heap_table_size = 16385; +SELECT @@global.max_heap_table_size; +@@global.max_heap_table_size +16384 +SET @@global.max_heap_table_size = 65535; +SELECT @@global.max_heap_table_size; +@@global.max_heap_table_size +64512 +SET @@global.max_heap_table_size = 4294967294; +SELECT @@global.max_heap_table_size; +@@global.max_heap_table_size +4294966272 +SET @@global.max_heap_table_size = 4294967295; +SELECT @@global.max_heap_table_size; +@@global.max_heap_table_size +4294966272 +'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +'#--------------------FN_DYNVARS_077_04-------------------------#' +SET @@session.max_heap_table_size = 16384; +SELECT @@session.max_heap_table_size; +@@session.max_heap_table_size +16384 +SET @@session.max_heap_table_size = 16385; +SELECT @@session.max_heap_table_size; +@@session.max_heap_table_size +16384 +SET @@session.max_heap_table_size = 65535; +SELECT @@session.max_heap_table_size; +@@session.max_heap_table_size +64512 +SET @@session.max_heap_table_size = 4294967294; +SELECT @@session.max_heap_table_size; +@@session.max_heap_table_size +4294966272 +SET @@session.max_heap_table_size = 4294967295; +SELECT @@session.max_heap_table_size; +@@session.max_heap_table_size +4294966272 +'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +'#------------------FN_DYNVARS_077_05-----------------------#' +SET @@global.max_heap_table_size = -1; +Warnings: +Warning 1292 Truncated incorrect max_heap_table_size value: '0' +SELECT @@global.max_heap_table_size; +@@global.max_heap_table_size +16384 +SET @@global.max_heap_table_size = -1024; +Warnings: +Warning 1292 Truncated incorrect max_heap_table_size value: '0' +SELECT @@global.max_heap_table_size; +@@global.max_heap_table_size +16384 +SET @@global.max_heap_table_size = 1024; +Warnings: +Warning 1292 Truncated incorrect max_heap_table_size value: '1024' +SELECT @@global.max_heap_table_size; +@@global.max_heap_table_size +16384 +SET @@global.max_heap_table_size = 16383; +Warnings: +Warning 1292 Truncated incorrect max_heap_table_size value: '16383' +SELECT @@global.max_heap_table_size; +@@global.max_heap_table_size +16384 +SET @@global.max_heap_table_size = 4294967296; +SELECT @@global.max_heap_table_size; +@@global.max_heap_table_size +4294966272 +SET @@global.max_heap_table_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.max_heap_table_size; +@@global.max_heap_table_size +4294966272 +SET @@global.max_heap_table_size = test; +ERROR 42000: Incorrect argument type to variable 'max_heap_table_size' +SELECT @@global.max_heap_table_size; +@@global.max_heap_table_size +4294966272 +SET @@session.max_heap_table_size = -1; +Warnings: +Warning 1292 Truncated incorrect max_heap_table_size value: '0' +SELECT @@session.max_heap_table_size; +@@session.max_heap_table_size +16384 +SET @@session.max_heap_table_size = 16383; +Warnings: +Warning 1292 Truncated incorrect max_heap_table_size value: '16383' +SELECT @@session.max_heap_table_size; +@@session.max_heap_table_size +16384 +SET @@session.max_heap_table_size = 4294967296; +SELECT @@session.max_heap_table_size; +@@session.max_heap_table_size +4294966272 +SET @@session.max_heap_table_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.max_heap_table_size = 10737418241; +SELECT @@session.max_heap_table_size; +@@session.max_heap_table_size +4294966272 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@session.max_heap_table_size = test; +ERROR 42000: Incorrect argument type to variable 'max_heap_table_size' +SELECT @@session.max_heap_table_size; +@@session.max_heap_table_size +4294966272 +'#------------------FN_DYNVARS_077_06-----------------------#' +SELECT @@global.max_heap_table_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='max_heap_table_size'; +@@global.max_heap_table_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_077_07-----------------------#' +SELECT @@session.max_heap_table_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='max_heap_table_size'; +@@session.max_heap_table_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_077_08-----------------------#' +SET @@global.max_heap_table_size = TRUE; +Warnings: +Warning 1292 Truncated incorrect max_heap_table_size value: '1' +SELECT @@global.max_heap_table_size; +@@global.max_heap_table_size +16384 +SET @@global.max_heap_table_size = FALSE; +Warnings: +Warning 1292 Truncated incorrect max_heap_table_size value: '0' +SELECT @@global.max_heap_table_size; +@@global.max_heap_table_size +16384 +'#---------------------FN_DYNVARS_077_09----------------------#' +SET @@global.max_heap_table_size = 163845; +SELECT @@max_heap_table_size = @@global.max_heap_table_size; +@@max_heap_table_size = @@global.max_heap_table_size +0 +'#---------------------FN_DYNVARS_077_10----------------------#' +SET @@max_heap_table_size = 16777216; +SELECT @@max_heap_table_size = @@local.max_heap_table_size; +@@max_heap_table_size = @@local.max_heap_table_size +1 +SELECT @@local.max_heap_table_size = @@session.max_heap_table_size; +@@local.max_heap_table_size = @@session.max_heap_table_size +1 +'#---------------------FN_DYNVARS_077_11----------------------#' +SET max_heap_table_size = 316777216; +SELECT @@max_heap_table_size; +@@max_heap_table_size +316776448 +SELECT local.max_heap_table_size; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.max_heap_table_size; +ERROR 42S02: Unknown table 'session' in field list +SELECT max_heap_table_size = @@session.max_heap_table_size; +ERROR 42S22: Unknown column 'max_heap_table_size' in 'field list' +SET @@global.max_heap_table_size = @start_global_value; +SELECT @@global.max_heap_table_size; +@@global.max_heap_table_size +1048576 +SET @@session.max_heap_table_size = @start_session_value; +SELECT @@session.max_heap_table_size; +@@session.max_heap_table_size +1048576 diff --git a/mysql-test/r/max_heap_table_size_basic_64.result b/mysql-test/r/max_heap_table_size_basic_64.result new file mode 100644 index 00000000000..ebab80f376b --- /dev/null +++ b/mysql-test/r/max_heap_table_size_basic_64.result @@ -0,0 +1,196 @@ +SET @start_global_value = @@global.max_heap_table_size; +SELECT @start_global_value; +@start_global_value +1048576 +SET @start_session_value = @@session.max_heap_table_size; +SELECT @start_session_value; +@start_session_value +1048576 +'#--------------------FN_DYNVARS_077_01-------------------------#' +SET @@global.max_heap_table_size = 1677721610; +SET @@global.max_heap_table_size = DEFAULT; +SELECT @@global.max_heap_table_size; +@@global.max_heap_table_size +16777216 +SET @@session.max_heap_table_size = 1677721610; +SET @@session.max_heap_table_size = DEFAULT; +SELECT @@session.max_heap_table_size; +@@session.max_heap_table_size +16777216 +'#--------------------FN_DYNVARS_077_02-------------------------#' +SET @@global.max_heap_table_size = DEFAULT; +SELECT @@global.max_heap_table_size = 16777216; +@@global.max_heap_table_size = 16777216 +1 +SET @@session.max_heap_table_size = DEFAULT; +SELECT @@session.max_heap_table_size = 16777216; +@@session.max_heap_table_size = 16777216 +1 +'#--------------------FN_DYNVARS_077_03-------------------------#' +SET @@global.max_heap_table_size = 16384; +SELECT @@global.max_heap_table_size; +@@global.max_heap_table_size +16384 +SET @@global.max_heap_table_size = 16385; +SELECT @@global.max_heap_table_size; +@@global.max_heap_table_size +16384 +SET @@global.max_heap_table_size = 65535; +SELECT @@global.max_heap_table_size; +@@global.max_heap_table_size +64512 +SET @@global.max_heap_table_size = 4294967294; +SELECT @@global.max_heap_table_size; +@@global.max_heap_table_size +4294966272 +SET @@global.max_heap_table_size = 4294967295; +SELECT @@global.max_heap_table_size; +@@global.max_heap_table_size +4294966272 +'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +'#--------------------FN_DYNVARS_077_04-------------------------#' +SET @@session.max_heap_table_size = 16384; +SELECT @@session.max_heap_table_size; +@@session.max_heap_table_size +16384 +SET @@session.max_heap_table_size = 16385; +SELECT @@session.max_heap_table_size; +@@session.max_heap_table_size +16384 +SET @@session.max_heap_table_size = 65535; +SELECT @@session.max_heap_table_size; +@@session.max_heap_table_size +64512 +SET @@session.max_heap_table_size = 4294967294; +SELECT @@session.max_heap_table_size; +@@session.max_heap_table_size +4294966272 +SET @@session.max_heap_table_size = 4294967295; +SELECT @@session.max_heap_table_size; +@@session.max_heap_table_size +4294966272 +'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +'#------------------FN_DYNVARS_077_05-----------------------#' +SET @@global.max_heap_table_size = -1; +Warnings: +Warning 1292 Truncated incorrect max_heap_table_size value: '0' +SELECT @@global.max_heap_table_size; +@@global.max_heap_table_size +16384 +SET @@global.max_heap_table_size = -1024; +Warnings: +Warning 1292 Truncated incorrect max_heap_table_size value: '0' +SELECT @@global.max_heap_table_size; +@@global.max_heap_table_size +16384 +SET @@global.max_heap_table_size = 1024; +Warnings: +Warning 1292 Truncated incorrect max_heap_table_size value: '1024' +SELECT @@global.max_heap_table_size; +@@global.max_heap_table_size +16384 +SET @@global.max_heap_table_size = 16383; +Warnings: +Warning 1292 Truncated incorrect max_heap_table_size value: '16383' +SELECT @@global.max_heap_table_size; +@@global.max_heap_table_size +16384 +SET @@global.max_heap_table_size = 4294967296; +SELECT @@global.max_heap_table_size; +@@global.max_heap_table_size +4294967296 +SET @@global.max_heap_table_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.max_heap_table_size; +@@global.max_heap_table_size +4294967296 +SET @@global.max_heap_table_size = test; +ERROR 42000: Incorrect argument type to variable 'max_heap_table_size' +SELECT @@global.max_heap_table_size; +@@global.max_heap_table_size +4294967296 +SET @@session.max_heap_table_size = -1; +Warnings: +Warning 1292 Truncated incorrect max_heap_table_size value: '0' +SELECT @@session.max_heap_table_size; +@@session.max_heap_table_size +16384 +SET @@session.max_heap_table_size = 16383; +Warnings: +Warning 1292 Truncated incorrect max_heap_table_size value: '16383' +SELECT @@session.max_heap_table_size; +@@session.max_heap_table_size +16384 +SET @@session.max_heap_table_size = 4294967296; +SELECT @@session.max_heap_table_size; +@@session.max_heap_table_size +4294967296 +SET @@session.max_heap_table_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.max_heap_table_size = 10737418241; +SELECT @@session.max_heap_table_size; +@@session.max_heap_table_size +10737418240 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@session.max_heap_table_size = test; +ERROR 42000: Incorrect argument type to variable 'max_heap_table_size' +SELECT @@session.max_heap_table_size; +@@session.max_heap_table_size +10737418240 +'#------------------FN_DYNVARS_077_06-----------------------#' +SELECT @@global.max_heap_table_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='max_heap_table_size'; +@@global.max_heap_table_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_077_07-----------------------#' +SELECT @@session.max_heap_table_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='max_heap_table_size'; +@@session.max_heap_table_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_077_08-----------------------#' +SET @@global.max_heap_table_size = TRUE; +Warnings: +Warning 1292 Truncated incorrect max_heap_table_size value: '1' +SELECT @@global.max_heap_table_size; +@@global.max_heap_table_size +16384 +SET @@global.max_heap_table_size = FALSE; +Warnings: +Warning 1292 Truncated incorrect max_heap_table_size value: '0' +SELECT @@global.max_heap_table_size; +@@global.max_heap_table_size +16384 +'#---------------------FN_DYNVARS_077_09----------------------#' +SET @@global.max_heap_table_size = 163845; +SELECT @@max_heap_table_size = @@global.max_heap_table_size; +@@max_heap_table_size = @@global.max_heap_table_size +0 +'#---------------------FN_DYNVARS_077_10----------------------#' +SET @@max_heap_table_size = 16777216; +SELECT @@max_heap_table_size = @@local.max_heap_table_size; +@@max_heap_table_size = @@local.max_heap_table_size +1 +SELECT @@local.max_heap_table_size = @@session.max_heap_table_size; +@@local.max_heap_table_size = @@session.max_heap_table_size +1 +'#---------------------FN_DYNVARS_077_11----------------------#' +SET max_heap_table_size = 316777216; +SELECT @@max_heap_table_size; +@@max_heap_table_size +316776448 +SELECT local.max_heap_table_size; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.max_heap_table_size; +ERROR 42S02: Unknown table 'session' in field list +SELECT max_heap_table_size = @@session.max_heap_table_size; +ERROR 42S22: Unknown column 'max_heap_table_size' in 'field list' +SET @@global.max_heap_table_size = @start_global_value; +SELECT @@global.max_heap_table_size; +@@global.max_heap_table_size +1048576 +SET @@session.max_heap_table_size = @start_session_value; +SELECT @@session.max_heap_table_size; +@@session.max_heap_table_size +1048576 diff --git a/mysql-test/r/max_insert_delayed_threads_basic.result b/mysql-test/r/max_insert_delayed_threads_basic.result new file mode 100644 index 00000000000..31c1fcec396 --- /dev/null +++ b/mysql-test/r/max_insert_delayed_threads_basic.result @@ -0,0 +1,184 @@ +SET @start_global_value = @@global.max_insert_delayed_threads; +SELECT @start_global_value; +@start_global_value +20 +SET @start_session_value = @@session.max_insert_delayed_threads; +SELECT @start_session_value; +@start_session_value +20 +'#--------------------FN_DYNVARS_078_01-------------------------#' +SET @@global.max_insert_delayed_threads = 1000; +SET @@global.max_insert_delayed_threads = DEFAULT; +ERROR 42000: Variable 'max_insert_delayed_threads' doesn't have a default value +SELECT @@global.max_insert_delayed_threads; +@@global.max_insert_delayed_threads +1000 +SET @@session.max_insert_delayed_threads = 1000; +SET @@session.max_insert_delayed_threads = DEFAULT; +SELECT @@session.max_insert_delayed_threads; +@@session.max_insert_delayed_threads +1000 +'#--------------------FN_DYNVARS_078_02-------------------------#' +SET @@global.max_insert_delayed_threads = DEFAULT; +ERROR 42000: Variable 'max_insert_delayed_threads' doesn't have a default value +SELECT @@global.max_insert_delayed_threads = 20; +@@global.max_insert_delayed_threads = 20 +0 +SET @@session.max_insert_delayed_threads = DEFAULT; +SELECT @@session.max_insert_delayed_threads = 20; +@@session.max_insert_delayed_threads = 20 +0 +'Bug# 34876: This variable has invalid default value as compared to documentation'; +'#--------------------FN_DYNVARS_078_03-------------------------#' +SET @@global.max_insert_delayed_threads = 1; +SELECT @@global.max_insert_delayed_threads; +@@global.max_insert_delayed_threads +1 +SET @@global.max_insert_delayed_threads = 1025; +SELECT @@global.max_insert_delayed_threads; +@@global.max_insert_delayed_threads +1025 +'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +SET @@global.max_insert_delayed_threads = 0; +SELECT @@global.max_insert_delayed_threads; +@@global.max_insert_delayed_threads +0 +SET @@global.max_insert_delayed_threads = 16384; +SELECT @@global.max_insert_delayed_threads; +@@global.max_insert_delayed_threads +16384 +SET @@global.max_insert_delayed_threads = 16383; +SELECT @@global.max_insert_delayed_threads; +@@global.max_insert_delayed_threads +16383 +'#--------------------FN_DYNVARS_078_04-------------------------#' +SET @@session.max_insert_delayed_threads = 1; +ERROR 42000: Variable 'max_insert_delayed_threads' can't be set to the value of '1' +SELECT @@session.max_insert_delayed_threads; +@@session.max_insert_delayed_threads +1000 +SET @@session.max_insert_delayed_threads = 1025; +ERROR 42000: Variable 'max_insert_delayed_threads' can't be set to the value of '1025' +SELECT @@session.max_insert_delayed_threads; +@@session.max_insert_delayed_threads +1000 +SET @@session.max_insert_delayed_threads = 0; +SELECT @@session.max_insert_delayed_threads; +@@session.max_insert_delayed_threads +0 +SET @@session.max_insert_delayed_threads = 16384; +ERROR 42000: Variable 'max_insert_delayed_threads' can't be set to the value of '16384' +SELECT @@session.max_insert_delayed_threads; +@@session.max_insert_delayed_threads +0 +SET @@session.max_insert_delayed_threads = 16383; +SELECT @@session.max_insert_delayed_threads; +@@session.max_insert_delayed_threads +16383 +'#------------------FN_DYNVARS_078_05-----------------------#' +SET @@global.max_insert_delayed_threads = -1024; +SELECT @@global.max_insert_delayed_threads; +@@global.max_insert_delayed_threads +0 +SET @@global.max_insert_delayed_threads = -1; +SELECT @@global.max_insert_delayed_threads; +@@global.max_insert_delayed_threads +0 +SET @@global.max_insert_delayed_threads = 16385; +Warnings: +Warning 1292 Truncated incorrect max_insert_delayed_threads value: '16385' +SELECT @@global.max_insert_delayed_threads; +@@global.max_insert_delayed_threads +16384 +SET @@global.max_insert_delayed_threads = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.max_insert_delayed_threads; +@@global.max_insert_delayed_threads +16384 +SET @@global.max_insert_delayed_threads = test; +ERROR 42000: Incorrect argument type to variable 'max_insert_delayed_threads' +SELECT @@global.max_insert_delayed_threads; +@@global.max_insert_delayed_threads +16384 +SET @@session.max_insert_delayed_threads = 16385; +ERROR 42000: Variable 'max_insert_delayed_threads' can't be set to the value of '16385' +SELECT @@session.max_insert_delayed_threads; +@@session.max_insert_delayed_threads +16383 +SET @@session.max_insert_delayed_threads = -1; +ERROR 42000: Variable 'max_insert_delayed_threads' can't be set to the value of '-1' +SELECT @@session.max_insert_delayed_threads; +@@session.max_insert_delayed_threads +16383 +SET @@session.max_insert_delayed_threads = -2; +ERROR 42000: Variable 'max_insert_delayed_threads' can't be set to the value of '-2' +SELECT @@session.max_insert_delayed_threads; +@@session.max_insert_delayed_threads +16383 +SET @@session.max_insert_delayed_threads = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.max_insert_delayed_threads = 10737418241; +ERROR 42000: Variable 'max_insert_delayed_threads' can't be set to the value of '10737418241' +SELECT @@session.max_insert_delayed_threads; +@@session.max_insert_delayed_threads +16383 +SET @@session.max_insert_delayed_threads = test; +ERROR 42000: Incorrect argument type to variable 'max_insert_delayed_threads' +SELECT @@session.max_insert_delayed_threads; +@@session.max_insert_delayed_threads +16383 +'#------------------FN_DYNVARS_078_06-----------------------#' +SELECT @@global.max_insert_delayed_threads = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='max_insert_delayed_threads'; +@@global.max_insert_delayed_threads = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_078_07-----------------------#' +SELECT @@session.max_insert_delayed_threads = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='max_insert_delayed_threads'; +@@session.max_insert_delayed_threads = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_078_08-----------------------#' +SET @@global.max_insert_delayed_threads = TRUE; +SELECT @@global.max_insert_delayed_threads; +@@global.max_insert_delayed_threads +1 +SET @@global.max_insert_delayed_threads = FALSE; +SELECT @@global.max_insert_delayed_threads; +@@global.max_insert_delayed_threads +0 +'#---------------------FN_DYNVARS_078_09----------------------#' +SET @@global.max_insert_delayed_threads = 2048; +SELECT @@max_insert_delayed_threads = @@global.max_insert_delayed_threads; +@@max_insert_delayed_threads = @@global.max_insert_delayed_threads +0 +'#---------------------FN_DYNVARS_078_10----------------------#' +SET @@max_insert_delayed_threads = 100000; +ERROR 42000: Variable 'max_insert_delayed_threads' can't be set to the value of '100000' +SELECT @@max_insert_delayed_threads = @@local.max_insert_delayed_threads; +@@max_insert_delayed_threads = @@local.max_insert_delayed_threads +1 +SELECT @@local.max_insert_delayed_threads = @@session.max_insert_delayed_threads; +@@local.max_insert_delayed_threads = @@session.max_insert_delayed_threads +1 +'#---------------------FN_DYNVARS_078_11----------------------#' +SET max_insert_delayed_threads = 1024; +ERROR 42000: Variable 'max_insert_delayed_threads' can't be set to the value of '1024' +SELECT @@max_insert_delayed_threads; +@@max_insert_delayed_threads +16383 +SELECT local.max_insert_delayed_threads; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.max_insert_delayed_threads; +ERROR 42S02: Unknown table 'session' in field list +SELECT max_insert_delayed_threads = @@session.max_insert_delayed_threads; +ERROR 42S22: Unknown column 'max_insert_delayed_threads' in 'field list' +SET @@global.max_insert_delayed_threads = @start_global_value; +SELECT @@global.max_insert_delayed_threads; +@@global.max_insert_delayed_threads +20 +SET @@session.max_insert_delayed_threads = @start_session_value; +SELECT @@session.max_insert_delayed_threads; +@@session.max_insert_delayed_threads +20 diff --git a/mysql-test/r/max_join_size_func.result b/mysql-test/r/max_join_size_func.result new file mode 100644 index 00000000000..bf535579433 --- /dev/null +++ b/mysql-test/r/max_join_size_func.result @@ -0,0 +1,61 @@ +drop table if exists t1; +## Creating new table t1 ## +CREATE TABLE t1 +( +id INT NOT NULL auto_increment, +PRIMARY KEY (id), +name VARCHAR(30) +); +## Creating another table t2 ## +CREATE TABLE t2 +( +id INT NOT NULL auto_increment, +PRIMARY KEY (id), +name VARCHAR(30) +); +## Inserting records in both the tables ## +INSERT INTO t1(name) VALUES('Record_1'); +INSERT INTO t1(name) VALUES('Record_2'); +INSERT INTO t1(name) VALUES('Record_3'); +INSERT INTO t1(name) VALUES('Record_4'); +INSERT INTO t1(name) VALUES('Record_5'); +INSERT INTO t2(name) VALUES('Record_1_1'); +INSERT INTO t2(name) VALUES('Record_2_1'); +INSERT INTO t2(name) VALUES('Record_3_1'); +INSERT INTO t2(name) VALUES('Record_4_1'); +INSERT INTO t2(name) VALUES('Record_5_1'); +'#--------------------FN_DYNVARS_079_01-------------------------#' +## Setting max_join size value to 10 ## +SET @@session.max_join_size=10; +## This should work ## +SELECT * FROM t1 INNER JOIN t2 ON t1.id = t2.id; +id name id name +1 Record_1 1 Record_1_1 +2 Record_2 2 Record_2_1 +3 Record_3 3 Record_3_1 +4 Record_4 4 Record_4_1 +5 Record_5 5 Record_5_1 +'#--------------------FN_DYNVARS_079_02-------------------------#' +## Creating new connection test_con1 ## +## Setting value of max_join_size ## +SET @@session.max_join_size=8; +## Since total joins are more than max_join_size value so error will occur ## +SELECT * FROM t1 INNER JOIN t2 ON t1.id = t2.id; +ERROR 42000: The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET SQL_MAX_JOIN_SIZE=# if the SELECT is okay +'#--------------------FN_DYNVARS_079_03-------------------------#' +## Setting global value of variable ## +SET @@global.max_join_size=8; +## Creating and switching to new connection test_con2 ## +## Verifying value of max_join_size ## +SELECT @@global.max_join_size; +@@global.max_join_size +8 +## Since total joins are more than max_join_size value so error will occur ## +SELECT * FROM t1 INNER JOIN t2 ON t1.id = t2.id; +ERROR 42000: The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET SQL_MAX_JOIN_SIZE=# if the SELECT is okay +## Dropping both the tables ## +Drop table t1, t2; +## Restoring values ## +SET @@global.max_join_size = DEFAULT; +SET @@session.max_join_size = DEFAULT; +## Dropping connections ## diff --git a/mysql-test/r/max_length_for_sort_data_basic.result b/mysql-test/r/max_length_for_sort_data_basic.result new file mode 100644 index 00000000000..3edd3e86262 --- /dev/null +++ b/mysql-test/r/max_length_for_sort_data_basic.result @@ -0,0 +1,199 @@ +SET @start_global_value = @@global.max_length_for_sort_data; +SELECT @start_global_value; +@start_global_value +1024 +SET @start_session_value = @@session.max_length_for_sort_data; +SELECT @start_session_value; +@start_session_value +1024 +'#--------------------FN_DYNVARS_080_01-------------------------#' +SET @@global.max_length_for_sort_data = 1000; +SET @@global.max_length_for_sort_data = DEFAULT; +SELECT @@global.max_length_for_sort_data; +@@global.max_length_for_sort_data +1024 +SET @@session.max_length_for_sort_data = 1000; +SET @@session.max_length_for_sort_data = DEFAULT; +SELECT @@session.max_length_for_sort_data; +@@session.max_length_for_sort_data +1024 +'#--------------------FN_DYNVARS_080_02-------------------------#' +SET @@global.max_length_for_sort_data = DEFAULT; +SELECT @@global.max_length_for_sort_data = 1024; +@@global.max_length_for_sort_data = 1024 +1 +SET @@session.max_length_for_sort_data = DEFAULT; +SELECT @@session.max_length_for_sort_data = 1024; +@@session.max_length_for_sort_data = 1024 +1 +'#--------------------FN_DYNVARS_080_03-------------------------#' +SET @@global.max_length_for_sort_data = 4; +SELECT @@global.max_length_for_sort_data; +@@global.max_length_for_sort_data +4 +SET @@global.max_length_for_sort_data = 5; +SELECT @@global.max_length_for_sort_data; +@@global.max_length_for_sort_data +5 +SET @@global.max_length_for_sort_data = 8388608; +SELECT @@global.max_length_for_sort_data; +@@global.max_length_for_sort_data +8388608 +SET @@global.max_length_for_sort_data = 8388607; +SELECT @@global.max_length_for_sort_data; +@@global.max_length_for_sort_data +8388607 +SET @@global.max_length_for_sort_data = 65536; +SELECT @@global.max_length_for_sort_data; +@@global.max_length_for_sort_data +65536 +'#--------------------FN_DYNVARS_080_04-------------------------#' +SET @@session.max_length_for_sort_data = 4; +SELECT @@session.max_length_for_sort_data; +@@session.max_length_for_sort_data +4 +SET @@session.max_length_for_sort_data = 5; +SELECT @@session.max_length_for_sort_data; +@@session.max_length_for_sort_data +5 +SET @@session.max_length_for_sort_data = 8388608; +SELECT @@session.max_length_for_sort_data; +@@session.max_length_for_sort_data +8388608 +SET @@session.max_length_for_sort_data = 8388607; +SELECT @@session.max_length_for_sort_data; +@@session.max_length_for_sort_data +8388607 +SET @@session.max_length_for_sort_data = 65536; +SELECT @@session.max_length_for_sort_data; +@@session.max_length_for_sort_data +65536 +'#------------------FN_DYNVARS_080_05-----------------------#' +SET @@global.max_length_for_sort_data = -1024; +Warnings: +Warning 1292 Truncated incorrect max_length_for_sort_data value: '0' +SELECT @@global.max_length_for_sort_data; +@@global.max_length_for_sort_data +4 +SET @@global.max_length_for_sort_data = 3; +Warnings: +Warning 1292 Truncated incorrect max_length_for_sort_data value: '3' +SELECT @@global.max_length_for_sort_data; +@@global.max_length_for_sort_data +4 +SET @@global.max_length_for_sort_data = 8388609; +Warnings: +Warning 1292 Truncated incorrect max_length_for_sort_data value: '8388609' +SELECT @@global.max_length_for_sort_data; +@@global.max_length_for_sort_data +8388608 +SET @@global.max_length_for_sort_data = 0; +Warnings: +Warning 1292 Truncated incorrect max_length_for_sort_data value: '0' +SELECT @@global.max_length_for_sort_data; +@@global.max_length_for_sort_data +4 +SET @@global.max_length_for_sort_data = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.max_length_for_sort_data; +@@global.max_length_for_sort_data +4 +SET @@global.max_length_for_sort_data = test; +ERROR 42000: Incorrect argument type to variable 'max_length_for_sort_data' +SELECT @@global.max_length_for_sort_data; +@@global.max_length_for_sort_data +4 +SET @@session.max_length_for_sort_data = 8388610; +Warnings: +Warning 1292 Truncated incorrect max_length_for_sort_data value: '8388610' +SELECT @@session.max_length_for_sort_data; +@@session.max_length_for_sort_data +8388608 +SET @@session.max_length_for_sort_data = -1; +Warnings: +Warning 1292 Truncated incorrect max_length_for_sort_data value: '0' +SELECT @@session.max_length_for_sort_data; +@@session.max_length_for_sort_data +4 +SET @@session.max_length_for_sort_data = 3; +Warnings: +Warning 1292 Truncated incorrect max_length_for_sort_data value: '3' +SELECT @@session.max_length_for_sort_data; +@@session.max_length_for_sort_data +4 +SET @@session.max_length_for_sort_data = 0; +Warnings: +Warning 1292 Truncated incorrect max_length_for_sort_data value: '0' +SELECT @@session.max_length_for_sort_data; +@@session.max_length_for_sort_data +4 +SET @@session.max_length_for_sort_data = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.max_length_for_sort_data = 10737418241; +Warnings: +Warning 1292 Truncated incorrect max_length_for_sort_data value: '10737418241' +SELECT @@session.max_length_for_sort_data; +@@session.max_length_for_sort_data +8388608 +SET @@session.max_length_for_sort_data = test; +ERROR 42000: Incorrect argument type to variable 'max_length_for_sort_data' +SELECT @@session.max_length_for_sort_data; +@@session.max_length_for_sort_data +8388608 +'#------------------FN_DYNVARS_080_06-----------------------#' +SELECT @@global.max_length_for_sort_data = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='max_length_for_sort_data'; +@@global.max_length_for_sort_data = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_080_07-----------------------#' +SELECT @@session.max_length_for_sort_data = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='max_length_for_sort_data'; +@@session.max_length_for_sort_data = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_080_08-----------------------#' +SET @@global.max_length_for_sort_data = TRUE; +Warnings: +Warning 1292 Truncated incorrect max_length_for_sort_data value: '1' +SELECT @@global.max_length_for_sort_data; +@@global.max_length_for_sort_data +4 +SET @@global.max_length_for_sort_data = FALSE; +Warnings: +Warning 1292 Truncated incorrect max_length_for_sort_data value: '0' +SELECT @@global.max_length_for_sort_data; +@@global.max_length_for_sort_data +4 +'#---------------------FN_DYNVARS_080_09----------------------#' +SET @@global.max_length_for_sort_data = 2048; +SELECT @@max_length_for_sort_data = @@global.max_length_for_sort_data; +@@max_length_for_sort_data = @@global.max_length_for_sort_data +0 +'#---------------------FN_DYNVARS_080_10----------------------#' +SET @@max_length_for_sort_data = 100000; +SELECT @@max_length_for_sort_data = @@local.max_length_for_sort_data; +@@max_length_for_sort_data = @@local.max_length_for_sort_data +1 +SELECT @@local.max_length_for_sort_data = @@session.max_length_for_sort_data; +@@local.max_length_for_sort_data = @@session.max_length_for_sort_data +1 +'#---------------------FN_DYNVARS_080_11----------------------#' +SET max_length_for_sort_data = 1024; +SELECT @@max_length_for_sort_data; +@@max_length_for_sort_data +1024 +SELECT local.max_length_for_sort_data; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.max_length_for_sort_data; +ERROR 42S02: Unknown table 'session' in field list +SELECT max_length_for_sort_data = @@session.max_length_for_sort_data; +ERROR 42S22: Unknown column 'max_length_for_sort_data' in 'field list' +SET @@global.max_length_for_sort_data = @start_global_value; +SELECT @@global.max_length_for_sort_data; +@@global.max_length_for_sort_data +1024 +SET @@session.max_length_for_sort_data = @start_session_value; +SELECT @@session.max_length_for_sort_data; +@@session.max_length_for_sort_data +1024 diff --git a/mysql-test/r/max_prepared_stmt_count_basic.result b/mysql-test/r/max_prepared_stmt_count_basic.result new file mode 100644 index 00000000000..ebc7da8c7f8 --- /dev/null +++ b/mysql-test/r/max_prepared_stmt_count_basic.result @@ -0,0 +1,129 @@ +SET @start_value = @@global.max_prepared_stmt_count; +SELECT @start_value; +@start_value +16382 +'#--------------------FN_DYNVARS_081_01------------------------#' +SET @@global.max_prepared_stmt_count = 5000; +SET @@global.max_prepared_stmt_count = DEFAULT; +SELECT @@global.max_prepared_stmt_count; +@@global.max_prepared_stmt_count +16382 +'#---------------------FN_DYNVARS_081_02-------------------------#' +SET @@global.max_prepared_stmt_count = @start_value; +SELECT @@global.max_prepared_stmt_count = 16382; +@@global.max_prepared_stmt_count = 16382 +1 +'#--------------------FN_DYNVARS_081_03------------------------#' +SET @@global.max_prepared_stmt_count = 0; +SELECT @@global.max_prepared_stmt_count; +@@global.max_prepared_stmt_count +0 +SET @@global.max_prepared_stmt_count = 1; +SELECT @@global.max_prepared_stmt_count; +@@global.max_prepared_stmt_count +1 +SET @@global.max_prepared_stmt_count = 1048576; +SELECT @@global.max_prepared_stmt_count; +@@global.max_prepared_stmt_count +1048576 +SET @@global.max_prepared_stmt_count = 1048575; +SELECT @@global.max_prepared_stmt_count; +@@global.max_prepared_stmt_count +1048575 +SET @@global.max_prepared_stmt_count = 65535; +SELECT @@global.max_prepared_stmt_count; +@@global.max_prepared_stmt_count +65535 +'#--------------------FN_DYNVARS_081_04-------------------------#' +SET @@global.max_prepared_stmt_count = -1; +SELECT @@global.max_prepared_stmt_count; +@@global.max_prepared_stmt_count +0 +SET @@global.max_prepared_stmt_count = 100000000000; +Warnings: +Warning 1292 Truncated incorrect max_prepared_stmt_count value: '100000000000' +SELECT @@global.max_prepared_stmt_count; +@@global.max_prepared_stmt_count +1048576 +SET @@global.max_prepared_stmt_count = 10000.01; +ERROR 42000: Incorrect argument type to variable 'max_prepared_stmt_count' +SELECT @@global.max_prepared_stmt_count; +@@global.max_prepared_stmt_count +1048576 +SET @@global.max_prepared_stmt_count = -1024; +SELECT @@global.max_prepared_stmt_count; +@@global.max_prepared_stmt_count +0 +SET @@global.max_prepared_stmt_count = 1048577; +Warnings: +Warning 1292 Truncated incorrect max_prepared_stmt_count value: '1048577' +SELECT @@global.max_prepared_stmt_count; +@@global.max_prepared_stmt_count +1048576 +SET @@global.max_prepared_stmt_count = 104857612; +Warnings: +Warning 1292 Truncated incorrect max_prepared_stmt_count value: '104857612' +SELECT @@global.max_prepared_stmt_count; +@@global.max_prepared_stmt_count +1048576 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@global.max_prepared_stmt_count = ON; +ERROR 42000: Incorrect argument type to variable 'max_prepared_stmt_count' +SELECT @@global.max_prepared_stmt_count; +@@global.max_prepared_stmt_count +1048576 +SET @@global.max_prepared_stmt_count = 'test'; +ERROR 42000: Incorrect argument type to variable 'max_prepared_stmt_count' +SELECT @@global.max_prepared_stmt_count; +@@global.max_prepared_stmt_count +1048576 +'#-------------------FN_DYNVARS_081_05----------------------------#' +SET @@session.max_prepared_stmt_count = 4096; +ERROR HY000: Variable 'max_prepared_stmt_count' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@session.max_prepared_stmt_count; +ERROR HY000: Variable 'max_prepared_stmt_count' is a GLOBAL variable +'#----------------------FN_DYNVARS_081_06------------------------#' +SELECT @@global.max_prepared_stmt_count = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='max_prepared_stmt_count'; +@@global.max_prepared_stmt_count = VARIABLE_VALUE +1 +SELECT @@max_prepared_stmt_count = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='max_prepared_stmt_count'; +@@max_prepared_stmt_count = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_081_07----------------------#' +SET @@global.max_prepared_stmt_count = TRUE; +SELECT @@global.max_prepared_stmt_count; +@@global.max_prepared_stmt_count +1 +SET @@global.max_prepared_stmt_count = FALSE; +SELECT @@global.max_prepared_stmt_count; +@@global.max_prepared_stmt_count +0 +'#---------------------FN_DYNVARS_081_08----------------------#' +SET @@global.max_prepared_stmt_count = 5000; +SELECT @@max_prepared_stmt_count = @@global.max_prepared_stmt_count; +@@max_prepared_stmt_count = @@global.max_prepared_stmt_count +1 +'#---------------------FN_DYNVARS_081_09----------------------#' +SET max_prepared_stmt_count = 6000; +ERROR HY000: Variable 'max_prepared_stmt_count' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@max_prepared_stmt_count; +@@max_prepared_stmt_count +5000 +SET local.max_prepared_stmt_count = 7000; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'max_prepared_stmt_count = 7000' at line 1 +SELECT local.max_prepared_stmt_count; +ERROR 42S02: Unknown table 'local' in field list +SET global.max_prepared_stmt_count = 8000; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'max_prepared_stmt_count = 8000' at line 1 +SELECT global.max_prepared_stmt_count; +ERROR 42S02: Unknown table 'global' in field list +SELECT max_prepared_stmt_count = @@session.max_prepared_stmt_count; +ERROR 42S22: Unknown column 'max_prepared_stmt_count' in 'field list' +SET @@global.max_prepared_stmt_count = @start_value; +SELECT @@global.max_prepared_stmt_count; +@@global.max_prepared_stmt_count +16382 diff --git a/mysql-test/r/max_prepared_stmt_count_func.result b/mysql-test/r/max_prepared_stmt_count_func.result new file mode 100644 index 00000000000..562ef63f811 --- /dev/null +++ b/mysql-test/r/max_prepared_stmt_count_func.result @@ -0,0 +1,82 @@ +** Setup ** + +SET @global_max_prepared_stmt_count = @@global.max_prepared_stmt_count; +'#---------------------FN_DYNVARS_031_01----------------------#' +SET GLOBAL max_prepared_stmt_count=2; +** Prepare statements ** +PREPARE stmt from "SELECT * FROM information_schema.CHARACTER_SETS C"; +PREPARE stmt1 from "SELECT * FROM information_schema.CHARACTER_SETS C"; +PREPARE stmt2 from "SELECT * FROM information_schema.CHARACTER_SETS C"; +ERROR 42000: Can't create more than max_prepared_stmt_count statements (current value: 2) +Expected error "Max prepared statements count reached" +SHOW STATUS like 'Prepared_stmt_count'; +Variable_name Value +Prepared_stmt_count 2 +2 Expected +'#---------------------FN_DYNVARS_031_02----------------------#' +SET GLOBAL max_prepared_stmt_count=0; +PREPARE stmt3 from "SELECT * FROM information_schema.CHARACTER_SETS C"; +ERROR 42000: Can't create more than max_prepared_stmt_count statements (current value: 0) +Expected error "Max prepared statements count reached" +SHOW STATUS like 'Prepared_stmt_count'; +Variable_name Value +Prepared_stmt_count 2 +2 Expected +PREPARE stmt from "SELECT * FROM information_schema.CHARACTER_SETS C"; +ERROR 42000: Can't create more than max_prepared_stmt_count statements (current value: 0) +Expected error "Max prepared statements count reached" +SHOW STATUS like 'Prepared_stmt_count'; +Variable_name Value +Prepared_stmt_count 1 +2 Expected +'Bug#35389 A pre existing valid prepared statement DROPS if a PREPARE' +'STATEMENT command is issued with the same name that' +'causes ER_MAX_PREPARED_STMT_COUNT_REACHED error' +'#---------------------FN_DYNVARS_031_03----------------------#' +SHOW STATUS like 'Prepared_stmt_count'; +Variable_name Value +Prepared_stmt_count 1 +SET GLOBAL max_prepared_stmt_count=4; +PREPARE stmt from "SELECT * FROM information_schema.CHARACTER_SETS C"; +PREPARE stmt1 from "SELECT * FROM information_schema.CHARACTER_SETS C"; +PREPARE stmt2 from "SELECT * FROM information_schema.CHARACTER_SETS C"; +PREPARE stmt3 from "SELECT * FROM information_schema.CHARACTER_SETS C"; +** Value of prepared stmt' +SHOW STATUS LIKE 'Prepared_stmt_count'; +Variable_name Value +Prepared_stmt_count 4 +4 Expected +'#---------------------FN_DYNVARS_031_04----------------------#' +** preparing stmts ** +PREPARE stmt from "SELECT * FROM information_schema.CHARACTER_SETS C"; +PREPARE stmt1 from "SELECT * FROM information_schema.CHARACTER_SETS C"; +PREPARE stmt2 from "SELECT * FROM information_schema.CHARACTER_SETS C"; +** setting value ** +SET GLOBAL max_prepared_stmt_count=3; +** Check wether any more statements can be prepared ** +PREPARE stmt5 from "SELECT * FROM information_schema.CHARACTER_SETS C"; +ERROR 42000: Can't create more than max_prepared_stmt_count statements (current value: 3) +Expected error "Max prepared statements count reached" +SHOW STATUS LIKE 'Prepared_stmt_count'; +Variable_name Value +Prepared_stmt_count 4 +4 Expected +'#---------------------FN_DYNVARS_031_05----------------------#' +SET GLOBAL max_prepared_stmt_count=3; +** Creating procedure ** +DROP PROCEDURE IF EXISTS sp_checkstmts; +Warnings: +Note 1305 PROCEDURE sp_checkstmts does not exist +CREATE PROCEDURE sp_checkstmts () +BEGIN +PREPARE newstmt from "SELECT * FROM information_schema.CHARACTER_SETS C"; +END // +CALL sp_checkstmts(); +ERROR 42000: Can't create more than max_prepared_stmt_count statements (current value: 3) +Expected error "Max prepared statements count reached" +DROP PREPARE stmt; +DROP PREPARE stmt1; +DROP PREPARE stmt2; +DROP PREPARE stmt3; +DROP PROCEDURE sp_checkstmts; +SET @@global.max_prepared_stmt_count = @global_max_prepared_stmt_count; diff --git a/mysql-test/r/max_relay_log_size_basic.result b/mysql-test/r/max_relay_log_size_basic.result new file mode 100644 index 00000000000..c0042f497ad --- /dev/null +++ b/mysql-test/r/max_relay_log_size_basic.result @@ -0,0 +1,131 @@ +SET @start_value = @@global.max_relay_log_size; +SELECT @start_value; +@start_value +0 +'#--------------------FN_DYNVARS_082_01------------------------#' +SET @@global.max_relay_log_size = 5000; +SET @@global.max_relay_log_size = DEFAULT; +SELECT @@global.max_relay_log_size; +@@global.max_relay_log_size +0 +'#---------------------FN_DYNVARS_082_02-------------------------#' +SET @@global.max_relay_log_size = @start_value; +SELECT @@global.max_relay_log_size = 1024; +@@global.max_relay_log_size = 1024 +0 +'Bug# 34876: This variable has invalid default value as compared to documentation'; +'#--------------------FN_DYNVARS_082_03------------------------#' +SET @@global.max_relay_log_size = 0; +SELECT @@global.max_relay_log_size; +@@global.max_relay_log_size +0 +SET @@global.max_relay_log_size = 1; +SELECT @@global.max_relay_log_size; +@@global.max_relay_log_size +0 +SET @@global.max_relay_log_size = 1073741824; +SELECT @@global.max_relay_log_size; +@@global.max_relay_log_size +1073741824 +SET @@global.max_relay_log_size = 1073741823; +SELECT @@global.max_relay_log_size; +@@global.max_relay_log_size +1073737728 +SET @@global.max_relay_log_size = 65535; +SELECT @@global.max_relay_log_size; +@@global.max_relay_log_size +61440 +'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +'#--------------------FN_DYNVARS_082_04-------------------------#' +SET @@global.max_relay_log_size = -1; +SELECT @@global.max_relay_log_size; +@@global.max_relay_log_size +0 +SET @@global.max_relay_log_size = 100000000000; +Warnings: +Warning 1292 Truncated incorrect max_relay_log_size value: '100000000000' +SELECT @@global.max_relay_log_size; +@@global.max_relay_log_size +1073741824 +SET @@global.max_relay_log_size = 10000.01; +ERROR 42000: Incorrect argument type to variable 'max_relay_log_size' +SELECT @@global.max_relay_log_size; +@@global.max_relay_log_size +1073741824 +SET @@global.max_relay_log_size = -1024; +SELECT @@global.max_relay_log_size; +@@global.max_relay_log_size +0 +SET @@global.max_relay_log_size = 1073741825; +Warnings: +Warning 1292 Truncated incorrect max_relay_log_size value: '1073741825' +SELECT @@global.max_relay_log_size; +@@global.max_relay_log_size +1073741824 +SET @@global.max_relay_log_size = 10737418241; +Warnings: +Warning 1292 Truncated incorrect max_relay_log_size value: '10737418241' +SELECT @@global.max_relay_log_size; +@@global.max_relay_log_size +1073741824 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@global.max_relay_log_size = ON; +ERROR 42000: Incorrect argument type to variable 'max_relay_log_size' +SELECT @@global.max_relay_log_size; +@@global.max_relay_log_size +1073741824 +SET @@global.max_relay_log_size = 'test'; +ERROR 42000: Incorrect argument type to variable 'max_relay_log_size' +SELECT @@global.max_relay_log_size; +@@global.max_relay_log_size +1073741824 +'#-------------------FN_DYNVARS_082_05----------------------------#' +SET @@session.max_relay_log_size = 4096; +ERROR HY000: Variable 'max_relay_log_size' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@session.max_relay_log_size; +ERROR HY000: Variable 'max_relay_log_size' is a GLOBAL variable +'#----------------------FN_DYNVARS_082_06------------------------#' +SELECT @@global.max_relay_log_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='max_relay_log_size'; +@@global.max_relay_log_size = VARIABLE_VALUE +1 +SELECT @@max_relay_log_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='max_relay_log_size'; +@@max_relay_log_size = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_082_07----------------------#' +SET @@global.max_relay_log_size = TRUE; +SELECT @@global.max_relay_log_size; +@@global.max_relay_log_size +0 +SET @@global.max_relay_log_size = FALSE; +SELECT @@global.max_relay_log_size; +@@global.max_relay_log_size +0 +'#---------------------FN_DYNVARS_082_08----------------------#' +SET @@global.max_relay_log_size = 5000; +SELECT @@max_relay_log_size = @@global.max_relay_log_size; +@@max_relay_log_size = @@global.max_relay_log_size +1 +'#---------------------FN_DYNVARS_082_09----------------------#' +SET max_relay_log_size = 6000; +ERROR HY000: Variable 'max_relay_log_size' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@max_relay_log_size; +@@max_relay_log_size +4096 +SET local.max_relay_log_size = 7000; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'max_relay_log_size = 7000' at line 1 +SELECT local.max_relay_log_size; +ERROR 42S02: Unknown table 'local' in field list +SET global.max_relay_log_size = 8000; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'max_relay_log_size = 8000' at line 1 +SELECT global.max_relay_log_size; +ERROR 42S02: Unknown table 'global' in field list +SELECT max_relay_log_size = @@session.max_relay_log_size; +ERROR 42S22: Unknown column 'max_relay_log_size' in 'field list' +SET @@global.max_relay_log_size = @start_value; +SELECT @@global.max_relay_log_size; +@@global.max_relay_log_size +0 diff --git a/mysql-test/r/max_seeks_for_key_basic_32.result b/mysql-test/r/max_seeks_for_key_basic_32.result new file mode 100644 index 00000000000..64828fbe619 --- /dev/null +++ b/mysql-test/r/max_seeks_for_key_basic_32.result @@ -0,0 +1,180 @@ +SET @start_global_value = @@global.max_seeks_for_key; +SELECT @start_global_value; +@start_global_value +4294967295 +SET @start_session_value = @@session.max_seeks_for_key; +SELECT @start_session_value; +@start_session_value +4294967295 +'#--------------------FN_DYNVARS_083_01-------------------------#' +SET @@global.max_seeks_for_key = 100; +SET @@global.max_seeks_for_key = DEFAULT; +SELECT @@global.max_seeks_for_key; +@@global.max_seeks_for_key +4294967295 +SET @@session.max_seeks_for_key = 200; +SET @@session.max_seeks_for_key = DEFAULT; +SELECT @@session.max_seeks_for_key; +@@session.max_seeks_for_key +4294967295 +'#--------------------FN_DYNVARS_083_02-------------------------#' +SET @@global.max_seeks_for_key = DEFAULT; +SELECT @@global.max_seeks_for_key = 4294967295; +@@global.max_seeks_for_key = 4294967295 +1 +SET @@session.max_seeks_for_key = DEFAULT; +SELECT @@session.max_seeks_for_key = 4294967295; +@@session.max_seeks_for_key = 4294967295 +1 +'#--------------------FN_DYNVARS_083_03-------------------------#' +SET @@global.max_seeks_for_key = 1; +SELECT @@global.max_seeks_for_key; +@@global.max_seeks_for_key +1 +SET @@global.max_seeks_for_key = 2; +SELECT @@global.max_seeks_for_key; +@@global.max_seeks_for_key +2 +SET @@global.max_seeks_for_key = 65536; +SELECT @@global.max_seeks_for_key; +@@global.max_seeks_for_key +65536 +SET @@global.max_seeks_for_key = 4294967295; +SELECT @@global.max_seeks_for_key; +@@global.max_seeks_for_key +4294967295 +SET @@global.max_seeks_for_key = 4294967294; +SELECT @@global.max_seeks_for_key; +@@global.max_seeks_for_key +4294967294 +'#--------------------FN_DYNVARS_083_04-------------------------#' +SET @@session.max_seeks_for_key = 1; +SELECT @@session.max_seeks_for_key; +@@session.max_seeks_for_key +1 +SET @@session.max_seeks_for_key = 2; +SELECT @@session.max_seeks_for_key; +@@session.max_seeks_for_key +2 +SET @@session.max_seeks_for_key = 4294967295; +SELECT @@session.max_seeks_for_key; +@@session.max_seeks_for_key +4294967295 +SET @@session.max_seeks_for_key = 4294967294; +SELECT @@session.max_seeks_for_key; +@@session.max_seeks_for_key +4294967294 +SET @@session.max_seeks_for_key = 65535; +SELECT @@session.max_seeks_for_key; +@@session.max_seeks_for_key +65535 +'#------------------FN_DYNVARS_083_05-----------------------#' +SET @@global.max_seeks_for_key = 0; +Warnings: +Warning 1292 Truncated incorrect max_seeks_for_key value: '0' +SELECT @@global.max_seeks_for_key; +@@global.max_seeks_for_key +1 +SET @@global.max_seeks_for_key = -1024; +Warnings: +Warning 1292 Truncated incorrect max_seeks_for_key value: '0' +SELECT @@global.max_seeks_for_key; +@@global.max_seeks_for_key +1 +SET @@global.max_seeks_for_key = 4294967296; +Warnings: +Warning 1292 Truncated incorrect max_seeks_for_key value: '4294967296' +SELECT @@global.max_seeks_for_key; +@@global.max_seeks_for_key +4294967295 +SET @@global.max_seeks_for_key = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.max_seeks_for_key; +@@global.max_seeks_for_key +4294967295 +SET @@global.max_seeks_for_key = test; +ERROR 42000: Incorrect argument type to variable 'max_seeks_for_key' +SELECT @@global.max_seeks_for_key; +@@global.max_seeks_for_key +4294967295 +SET @@session.max_seeks_for_key = 0; +Warnings: +Warning 1292 Truncated incorrect max_seeks_for_key value: '0' +SELECT @@session.max_seeks_for_key; +@@session.max_seeks_for_key +1 +SET @@session.max_seeks_for_key = -2; +Warnings: +Warning 1292 Truncated incorrect max_seeks_for_key value: '0' +SELECT @@session.max_seeks_for_key; +@@session.max_seeks_for_key +1 +SET @@session.max_seeks_for_key = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.max_seeks_for_key = 4294967296; +Warnings: +Warning 1292 Truncated incorrect max_seeks_for_key value: '4294967296' +SELECT @@session.max_seeks_for_key; +@@session.max_seeks_for_key +4294967295 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@session.max_seeks_for_key = test; +ERROR 42000: Incorrect argument type to variable 'max_seeks_for_key' +SELECT @@session.max_seeks_for_key; +@@session.max_seeks_for_key +4294967295 +'#------------------FN_DYNVARS_083_06-----------------------#' +SELECT @@global.max_seeks_for_key = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='max_seeks_for_key'; +@@global.max_seeks_for_key = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_083_07-----------------------#' +SELECT @@session.max_seeks_for_key = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='max_seeks_for_key'; +@@session.max_seeks_for_key = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_083_08-----------------------#' +SET @@global.max_seeks_for_key = TRUE; +SELECT @@global.max_seeks_for_key; +@@global.max_seeks_for_key +1 +SET @@global.max_seeks_for_key = FALSE; +Warnings: +Warning 1292 Truncated incorrect max_seeks_for_key value: '0' +SELECT @@global.max_seeks_for_key; +@@global.max_seeks_for_key +1 +'#---------------------FN_DYNVARS_083_09----------------------#' +SET @@global.max_seeks_for_key = 10; +SELECT @@max_seeks_for_key = @@global.max_seeks_for_key; +@@max_seeks_for_key = @@global.max_seeks_for_key +0 +'#---------------------FN_DYNVARS_083_10----------------------#' +SET @@max_seeks_for_key = 100; +SELECT @@max_seeks_for_key = @@local.max_seeks_for_key; +@@max_seeks_for_key = @@local.max_seeks_for_key +1 +SELECT @@local.max_seeks_for_key = @@session.max_seeks_for_key; +@@local.max_seeks_for_key = @@session.max_seeks_for_key +1 +'#---------------------FN_DYNVARS_083_11----------------------#' +SET max_seeks_for_key = 1; +SELECT @@max_seeks_for_key; +@@max_seeks_for_key +1 +SELECT local.max_seeks_for_key; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.max_seeks_for_key; +ERROR 42S02: Unknown table 'session' in field list +SELECT max_seeks_for_key = @@session.max_seeks_for_key; +ERROR 42S22: Unknown column 'max_seeks_for_key' in 'field list' +SET @@global.max_seeks_for_key = @start_global_value; +SELECT @@global.max_seeks_for_key; +@@global.max_seeks_for_key +4294967295 +SET @@session.max_seeks_for_key = @start_session_value; +SELECT @@session.max_seeks_for_key; +@@session.max_seeks_for_key +4294967295 diff --git a/mysql-test/r/max_seeks_for_key_basic_64.result b/mysql-test/r/max_seeks_for_key_basic_64.result new file mode 100644 index 00000000000..eefb829cdae --- /dev/null +++ b/mysql-test/r/max_seeks_for_key_basic_64.result @@ -0,0 +1,176 @@ +SET @start_global_value = @@global.max_seeks_for_key; +SELECT @start_global_value; +@start_global_value +18446744073709551615 +SET @start_session_value = @@session.max_seeks_for_key; +SELECT @start_session_value; +@start_session_value +18446744073709551615 +'#--------------------FN_DYNVARS_083_01-------------------------#' +SET @@global.max_seeks_for_key = 100; +SET @@global.max_seeks_for_key = DEFAULT; +SELECT @@global.max_seeks_for_key; +@@global.max_seeks_for_key +18446744073709551615 +SET @@session.max_seeks_for_key = 200; +SET @@session.max_seeks_for_key = DEFAULT; +SELECT @@session.max_seeks_for_key; +@@session.max_seeks_for_key +18446744073709551615 +'#--------------------FN_DYNVARS_083_02-------------------------#' +SET @@global.max_seeks_for_key = DEFAULT; +SELECT @@global.max_seeks_for_key = 4294967295; +@@global.max_seeks_for_key = 4294967295 +0 +SET @@session.max_seeks_for_key = DEFAULT; +SELECT @@session.max_seeks_for_key = 4294967295; +@@session.max_seeks_for_key = 4294967295 +0 +'#--------------------FN_DYNVARS_083_03-------------------------#' +SET @@global.max_seeks_for_key = 1; +SELECT @@global.max_seeks_for_key; +@@global.max_seeks_for_key +1 +SET @@global.max_seeks_for_key = 2; +SELECT @@global.max_seeks_for_key; +@@global.max_seeks_for_key +2 +SET @@global.max_seeks_for_key = 65536; +SELECT @@global.max_seeks_for_key; +@@global.max_seeks_for_key +65536 +SET @@global.max_seeks_for_key = 4294967295; +SELECT @@global.max_seeks_for_key; +@@global.max_seeks_for_key +4294967295 +SET @@global.max_seeks_for_key = 4294967294; +SELECT @@global.max_seeks_for_key; +@@global.max_seeks_for_key +4294967294 +'#--------------------FN_DYNVARS_083_04-------------------------#' +SET @@session.max_seeks_for_key = 1; +SELECT @@session.max_seeks_for_key; +@@session.max_seeks_for_key +1 +SET @@session.max_seeks_for_key = 2; +SELECT @@session.max_seeks_for_key; +@@session.max_seeks_for_key +2 +SET @@session.max_seeks_for_key = 4294967295; +SELECT @@session.max_seeks_for_key; +@@session.max_seeks_for_key +4294967295 +SET @@session.max_seeks_for_key = 4294967294; +SELECT @@session.max_seeks_for_key; +@@session.max_seeks_for_key +4294967294 +SET @@session.max_seeks_for_key = 65535; +SELECT @@session.max_seeks_for_key; +@@session.max_seeks_for_key +65535 +'#------------------FN_DYNVARS_083_05-----------------------#' +SET @@global.max_seeks_for_key = 0; +Warnings: +Warning 1292 Truncated incorrect max_seeks_for_key value: '0' +SELECT @@global.max_seeks_for_key; +@@global.max_seeks_for_key +1 +SET @@global.max_seeks_for_key = -1024; +Warnings: +Warning 1292 Truncated incorrect max_seeks_for_key value: '0' +SELECT @@global.max_seeks_for_key; +@@global.max_seeks_for_key +1 +SET @@global.max_seeks_for_key = 4294967296; +SELECT @@global.max_seeks_for_key; +@@global.max_seeks_for_key +4294967296 +SET @@global.max_seeks_for_key = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.max_seeks_for_key; +@@global.max_seeks_for_key +4294967296 +SET @@global.max_seeks_for_key = test; +ERROR 42000: Incorrect argument type to variable 'max_seeks_for_key' +SELECT @@global.max_seeks_for_key; +@@global.max_seeks_for_key +4294967296 +SET @@session.max_seeks_for_key = 0; +Warnings: +Warning 1292 Truncated incorrect max_seeks_for_key value: '0' +SELECT @@session.max_seeks_for_key; +@@session.max_seeks_for_key +1 +SET @@session.max_seeks_for_key = -2; +Warnings: +Warning 1292 Truncated incorrect max_seeks_for_key value: '0' +SELECT @@session.max_seeks_for_key; +@@session.max_seeks_for_key +1 +SET @@session.max_seeks_for_key = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.max_seeks_for_key = 4294967296; +SELECT @@session.max_seeks_for_key; +@@session.max_seeks_for_key +4294967296 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@session.max_seeks_for_key = test; +ERROR 42000: Incorrect argument type to variable 'max_seeks_for_key' +SELECT @@session.max_seeks_for_key; +@@session.max_seeks_for_key +4294967296 +'#------------------FN_DYNVARS_083_06-----------------------#' +SELECT @@global.max_seeks_for_key = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='max_seeks_for_key'; +@@global.max_seeks_for_key = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_083_07-----------------------#' +SELECT @@session.max_seeks_for_key = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='max_seeks_for_key'; +@@session.max_seeks_for_key = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_083_08-----------------------#' +SET @@global.max_seeks_for_key = TRUE; +SELECT @@global.max_seeks_for_key; +@@global.max_seeks_for_key +1 +SET @@global.max_seeks_for_key = FALSE; +Warnings: +Warning 1292 Truncated incorrect max_seeks_for_key value: '0' +SELECT @@global.max_seeks_for_key; +@@global.max_seeks_for_key +1 +'#---------------------FN_DYNVARS_083_09----------------------#' +SET @@global.max_seeks_for_key = 10; +SELECT @@max_seeks_for_key = @@global.max_seeks_for_key; +@@max_seeks_for_key = @@global.max_seeks_for_key +0 +'#---------------------FN_DYNVARS_083_10----------------------#' +SET @@max_seeks_for_key = 100; +SELECT @@max_seeks_for_key = @@local.max_seeks_for_key; +@@max_seeks_for_key = @@local.max_seeks_for_key +1 +SELECT @@local.max_seeks_for_key = @@session.max_seeks_for_key; +@@local.max_seeks_for_key = @@session.max_seeks_for_key +1 +'#---------------------FN_DYNVARS_083_11----------------------#' +SET max_seeks_for_key = 1; +SELECT @@max_seeks_for_key; +@@max_seeks_for_key +1 +SELECT local.max_seeks_for_key; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.max_seeks_for_key; +ERROR 42S02: Unknown table 'session' in field list +SELECT max_seeks_for_key = @@session.max_seeks_for_key; +ERROR 42S22: Unknown column 'max_seeks_for_key' in 'field list' +SET @@global.max_seeks_for_key = @start_global_value; +SELECT @@global.max_seeks_for_key; +@@global.max_seeks_for_key +18446744073709551615 +SET @@session.max_seeks_for_key = @start_session_value; +SELECT @@session.max_seeks_for_key; +@@session.max_seeks_for_key +18446744073709551615 diff --git a/mysql-test/r/max_seeks_for_key_func.result b/mysql-test/r/max_seeks_for_key_func.result new file mode 100644 index 00000000000..b4c863af17b --- /dev/null +++ b/mysql-test/r/max_seeks_for_key_func.result @@ -0,0 +1,75 @@ +drop table if exists t1; +CREATE TABLE t1 +(a int auto_increment primary key, +b char(20) +); +'#--------------------FN_DYNVARS_084_01-------------------------#' +SELECT @@global.max_seeks_for_key = 10; +@@global.max_seeks_for_key = 10 +0 +SELECT @@session.max_seeks_for_key = 10; +@@session.max_seeks_for_key = 10 +0 +SET @@global.max_seeks_for_key = 20; +SELECT @@global.max_seeks_for_key; +@@global.max_seeks_for_key +20 +INSERT into t1(b) values("AREc"); +explain select STRAIGHT_JOIN * from t1,t1 as t2 where t1.b=t2.b; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 system NULL NULL NULL NULL 1 +1 SIMPLE t2 system NULL NULL NULL NULL 1 +SET @@session.max_seeks_for_key = 2; +SELECT @@session.max_seeks_for_key; +@@session.max_seeks_for_key +2 +INSERT into t1(b) values("BREc"); +INSERT into t1(b) values("CRec"); +explain select STRAIGHT_JOIN * from t1,t1 as t2 where t1.b=t2.b; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 +1 SIMPLE t2 ALL NULL NULL NULL NULL 3 Using where; Using join buffer +'#--------------------FN_DYNVARS_084_02-------------------------#' +SELECT @@global.max_seeks_for_key = 10; +@@global.max_seeks_for_key = 10 +0 +SELECT @@session.max_seeks_for_key = 10; +@@session.max_seeks_for_key = 10 +0 +SET @@global.max_seeks_for_key = 20; +SELECT @@global.max_seeks_for_key; +@@global.max_seeks_for_key +20 +INSERT into t1(b) values("AREc"); +explain select STRAIGHT_JOIN * from t1,t1 as t2 where t1.b=t2.b; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 4 +1 SIMPLE t2 ALL NULL NULL NULL NULL 4 Using where; Using join buffer +SET @@session.max_seeks_for_key = 2; +SELECT @@session.max_seeks_for_key; +@@session.max_seeks_for_key +2 +INSERT into t1(b) values("BREc"); +INSERT into t1(b) values("CRec"); +explain select STRAIGHT_JOIN * from t1,t1 as t2 where t1.b=t2.b; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 6 +1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer +INSERT INTO t1 values(null,"test"); +INSERT INTO t1 VALUES (null,"a"),(null,"a"),(null,"a"), +(null,"a"),(null,"a"),(null,"a"),(null,"a"), +(null,"a"),(null,"a"),(null,"a"); +explain SELECT STRAIGHT_JOIN * from t1,t1 as t2 where t1.b=t2.b; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 17 +1 SIMPLE t2 ALL NULL NULL NULL NULL 17 Using where; Using join buffer +analyze table t1; +Table Op Msg_type Msg_text +test.t1 analyze status OK +SET MAX_SEEKS_FOR_KEY=1; +explain select STRAIGHT_JOIN * from t1,t1 as t2 where t1.b=t2.b; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 17 +1 SIMPLE t2 ALL NULL NULL NULL NULL 17 Using where; Using join buffer +SET MAX_SEEKS_FOR_KEY=DEFAULT; +drop table t1; diff --git a/mysql-test/r/max_sort_length_basic.result b/mysql-test/r/max_sort_length_basic.result new file mode 100644 index 00000000000..73dd31ea4e7 --- /dev/null +++ b/mysql-test/r/max_sort_length_basic.result @@ -0,0 +1,199 @@ +SET @start_global_value = @@global.max_sort_length; +SELECT @start_global_value; +@start_global_value +1024 +SET @start_session_value = @@session.max_sort_length; +SELECT @start_session_value; +@start_session_value +1024 +'#--------------------FN_DYNVARS_084_01-------------------------#' +SET @@global.max_sort_length = 1000; +SET @@global.max_sort_length = DEFAULT; +SELECT @@global.max_sort_length; +@@global.max_sort_length +1024 +SET @@session.max_sort_length = 1000; +SET @@session.max_sort_length = DEFAULT; +SELECT @@session.max_sort_length; +@@session.max_sort_length +1024 +'#--------------------FN_DYNVARS_084_02-------------------------#' +SET @@global.max_sort_length = DEFAULT; +SELECT @@global.max_sort_length = 1024; +@@global.max_sort_length = 1024 +1 +SET @@session.max_sort_length = DEFAULT; +SELECT @@session.max_sort_length = 1024; +@@session.max_sort_length = 1024 +1 +'#--------------------FN_DYNVARS_084_03-------------------------#' +SET @@global.max_sort_length = 4; +SELECT @@global.max_sort_length; +@@global.max_sort_length +4 +SET @@global.max_sort_length = 5; +SELECT @@global.max_sort_length; +@@global.max_sort_length +5 +SET @@global.max_sort_length = 8388608; +SELECT @@global.max_sort_length; +@@global.max_sort_length +8388608 +SET @@global.max_sort_length = 8388607; +SELECT @@global.max_sort_length; +@@global.max_sort_length +8388607 +SET @@global.max_sort_length = 65536; +SELECT @@global.max_sort_length; +@@global.max_sort_length +65536 +'#--------------------FN_DYNVARS_084_04-------------------------#' +SET @@session.max_sort_length = 4; +SELECT @@session.max_sort_length; +@@session.max_sort_length +4 +SET @@session.max_sort_length = 5; +SELECT @@session.max_sort_length; +@@session.max_sort_length +5 +SET @@session.max_sort_length = 8388608; +SELECT @@session.max_sort_length; +@@session.max_sort_length +8388608 +SET @@session.max_sort_length = 8388607; +SELECT @@session.max_sort_length; +@@session.max_sort_length +8388607 +SET @@session.max_sort_length = 65536; +SELECT @@session.max_sort_length; +@@session.max_sort_length +65536 +'#------------------FN_DYNVARS_084_05-----------------------#' +SET @@global.max_sort_length = -1024; +Warnings: +Warning 1292 Truncated incorrect max_sort_length value: '0' +SELECT @@global.max_sort_length; +@@global.max_sort_length +4 +SET @@global.max_sort_length = 3; +Warnings: +Warning 1292 Truncated incorrect max_sort_length value: '3' +SELECT @@global.max_sort_length; +@@global.max_sort_length +4 +SET @@global.max_sort_length = 8388609; +Warnings: +Warning 1292 Truncated incorrect max_sort_length value: '8388609' +SELECT @@global.max_sort_length; +@@global.max_sort_length +8388608 +SET @@global.max_sort_length = 0; +Warnings: +Warning 1292 Truncated incorrect max_sort_length value: '0' +SELECT @@global.max_sort_length; +@@global.max_sort_length +4 +SET @@global.max_sort_length = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.max_sort_length; +@@global.max_sort_length +4 +SET @@global.max_sort_length = test; +ERROR 42000: Incorrect argument type to variable 'max_sort_length' +SELECT @@global.max_sort_length; +@@global.max_sort_length +4 +SET @@session.max_sort_length = 8388610; +Warnings: +Warning 1292 Truncated incorrect max_sort_length value: '8388610' +SELECT @@session.max_sort_length; +@@session.max_sort_length +8388608 +SET @@session.max_sort_length = -1; +Warnings: +Warning 1292 Truncated incorrect max_sort_length value: '0' +SELECT @@session.max_sort_length; +@@session.max_sort_length +4 +SET @@session.max_sort_length = 3; +Warnings: +Warning 1292 Truncated incorrect max_sort_length value: '3' +SELECT @@session.max_sort_length; +@@session.max_sort_length +4 +SET @@session.max_sort_length = 0; +Warnings: +Warning 1292 Truncated incorrect max_sort_length value: '0' +SELECT @@session.max_sort_length; +@@session.max_sort_length +4 +SET @@session.max_sort_length = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.max_sort_length = 10737418241; +Warnings: +Warning 1292 Truncated incorrect max_sort_length value: '10737418241' +SELECT @@session.max_sort_length; +@@session.max_sort_length +8388608 +SET @@session.max_sort_length = test; +ERROR 42000: Incorrect argument type to variable 'max_sort_length' +SELECT @@session.max_sort_length; +@@session.max_sort_length +8388608 +'#------------------FN_DYNVARS_084_06-----------------------#' +SELECT @@global.max_sort_length = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='max_sort_length'; +@@global.max_sort_length = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_084_07-----------------------#' +SELECT @@session.max_sort_length = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='max_sort_length'; +@@session.max_sort_length = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_084_08-----------------------#' +SET @@global.max_sort_length = TRUE; +Warnings: +Warning 1292 Truncated incorrect max_sort_length value: '1' +SELECT @@global.max_sort_length; +@@global.max_sort_length +4 +SET @@global.max_sort_length = FALSE; +Warnings: +Warning 1292 Truncated incorrect max_sort_length value: '0' +SELECT @@global.max_sort_length; +@@global.max_sort_length +4 +'#---------------------FN_DYNVARS_084_09----------------------#' +SET @@global.max_sort_length = 2048; +SELECT @@max_sort_length = @@global.max_sort_length; +@@max_sort_length = @@global.max_sort_length +0 +'#---------------------FN_DYNVARS_084_10----------------------#' +SET @@max_sort_length = 100000; +SELECT @@max_sort_length = @@local.max_sort_length; +@@max_sort_length = @@local.max_sort_length +1 +SELECT @@local.max_sort_length = @@session.max_sort_length; +@@local.max_sort_length = @@session.max_sort_length +1 +'#---------------------FN_DYNVARS_084_11----------------------#' +SET max_sort_length = 1024; +SELECT @@max_sort_length; +@@max_sort_length +1024 +SELECT local.max_sort_length; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.max_sort_length; +ERROR 42S02: Unknown table 'session' in field list +SELECT max_sort_length = @@session.max_sort_length; +ERROR 42S22: Unknown column 'max_sort_length' in 'field list' +SET @@global.max_sort_length = @start_global_value; +SELECT @@global.max_sort_length; +@@global.max_sort_length +1024 +SET @@session.max_sort_length = @start_session_value; +SELECT @@session.max_sort_length; +@@session.max_sort_length +1024 diff --git a/mysql-test/r/max_sort_length_func.result b/mysql-test/r/max_sort_length_func.result new file mode 100644 index 00000000000..04f5aa7f4f1 --- /dev/null +++ b/mysql-test/r/max_sort_length_func.result @@ -0,0 +1,298 @@ +SET @session_max_sort_length = @@Session.max_sort_length; +DROP TABLE IF EXISTS t; +** creating tables ** +CREATE TABLE t +( +id INT AUTO_INCREMENT PRIMARY KEY, +c TEXT(30) +); +CREATE TABLE t1 +( +id INT AUTO_INCREMENT PRIMARY KEY, +c BLOB(30) +); +CREATE TABLE t2 +( +id INT AUTO_INCREMENT PRIMARY KEY, +c TEXT(30) +); +'#--------------------FN_DYNVARS_098_01-------------------------#' +** Connecting test_con1 using username 'root' ** +** Connection test_con1 ** +SELECT @@global.max_sort_length = 10; +@@global.max_sort_length = 10 +0 +SELECT @@session.max_sort_length = 10; +@@session.max_sort_length = 10 +0 +** Setting value to 30 and inserting data ** +SET @@global.max_sort_length = 30; +SELECT @@global.max_sort_length; +@@global.max_sort_length +30 +INSERT INTO t set c = repeat('x',29); +INSERT INTO t set c = concat(repeat('x',28),'r','x'); +INSERT INTO t set c = concat(repeat('x',28),'s','y'); +INSERT INTO t set c = concat(repeat('x',28),'g','w'); +SELECT c from t ORDER BY c, id; +c +xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +** Results should be sorted ** +SET @@session.max_sort_length = 29; +SELECT @@session.max_sort_length; +@@session.max_sort_length +29 +INSERT INTO t set c = repeat('x',29); +INSERT INTO t set c = concat(repeat('x',28),'r','x'); +INSERT INTO t set c = concat(repeat('x',28),'s','y'); +INSERT INTO t set c = concat(repeat('x',28),'g','w'); +SELECT c from t ORDER BY c, id; +c +xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +** Results should be sorted ** +'#--------------------FN_DYNVARS_098_02-------------------------#' +** Connecting test_con2 using username 'root' ** +** Connection test_con2 ** +SET @@global.max_sort_length = 30; +SELECT @@global.max_sort_length; +@@global.max_sort_length +30 +INSERT INTO t set c = repeat('x',29); +INSERT INTO t set c = concat(repeat('x',28),'r','x'); +INSERT INTO t set c = concat(repeat('x',28),'s','y'); +INSERT INTO t set c = concat(repeat('x',28),'g','w'); +SELECT c from t ORDER BY c, id; +c +xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +** Results should be sorted ** +SET @@session.max_sort_length = 20; +SELECT @@session.max_sort_length; +@@session.max_sort_length +20 +INSERT INTO t set c = repeat('x',29); +INSERT INTO t set c = concat(repeat('x',28),'r','x'); +INSERT INTO t set c = concat(repeat('x',28),'s','y'); +INSERT INTO t set c = concat(repeat('x',28),'g','w'); +SELECT c from t ORDER BY c, id; +c +xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +** Results should not be sorted ** +'#--------------------FN_DYNVARS_098_03-------------------------#' +SET max_sort_length=20; +INSERT INTO t set c = repeat('x',29); +INSERT INTO t set c = concat(repeat('x',28),'r','x'); +INSERT INTO t set c = concat(repeat('x',28),'s','y'); +INSERT INTO t set c = concat(repeat('x',28),'g','w'); +SELECT c from t ORDER BY c, id; +c +xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +** Results should not be sorted ** +RESET QUERY CACHE; +'#--------------------FN_DYNVARS_098_04-------------------------#' +SET max_sort_length=29; +SELECT c from t ORDER BY c, id; +c +xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +** Results should be sorted ** +'#--------------------FN_DYNVARS_098_05-------------------------#' +SET max_sort_length=30; +SELECT c from t ORDER BY c, id; +c +xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +** Results should be sorted ** +'#--------------------FN_DYNVARS_098_06-------------------------#' +SET max_sort_length=default; +SELECT c from t ORDER BY c, id; +c +xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +** Results should be sorted ** +'#--------------------FN_DYNVARS_098_07-------------------------#' +Testing type BLOB +SET @@global.max_sort_length = 30; +SELECT @@global.max_sort_length; +@@global.max_sort_length +30 +INSERT INTO t1 set c = repeat('x',29); +INSERT INTO t1 set c = concat(repeat('x',28),'r','x'); +INSERT INTO t1 set c = concat(repeat('x',28),'s','y'); +INSERT INTO t1 set c = concat(repeat('x',28),'g','w'); +SELECT c from t1 ORDER BY c, id; +c +xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +** Results should be sorted ** +SET @@session.max_sort_length = 20; +SELECT @@session.max_sort_length; +@@session.max_sort_length +20 +INSERT INTO t1 set c = repeat('x',29); +INSERT INTO t1 set c = concat(repeat('x',28),'r','x'); +INSERT INTO t1 set c = concat(repeat('x',28),'s','y'); +INSERT INTO t1 set c = concat(repeat('x',28),'g','w'); +SELECT c from t1 ORDER BY c, id; +c +xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +** Results should not be sorted ** +'#--------------------FN_DYNVARS_098_08-------------------------#' +Testing type CHAR +SET @@global.max_sort_length = 30; +SELECT @@global.max_sort_length; +@@global.max_sort_length +30 +INSERT INTO t2 set c = repeat('x',29); +INSERT INTO t2 set c = concat(repeat('x',28),'r','x'); +INSERT INTO t2 set c = concat(repeat('x',28),'s','y'); +INSERT INTO t2 set c = concat(repeat('x',28),'g','w'); +SELECT c from t2 ORDER BY c, id; +c +xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +** Results should not be sorted ** +SET @@session.max_sort_length = 20; +SELECT @@session.max_sort_length; +@@session.max_sort_length +20 +INSERT INTO t2 set c = repeat('x',29); +INSERT INTO t2 set c = concat(repeat('x',28),'r','x'); +INSERT INTO t2 set c = concat(repeat('x',28),'s','y'); +INSERT INTO t2 set c = concat(repeat('x',28),'g','w'); +SELECT c from t2 ORDER BY c, id; +c +xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +** Results should not be sorted ** +** Connection default ** +** Disconnecting test_con1, test_con2 ** +SET @@SESSION.max_sort_length = @session_max_sort_length; +DROP TABLE IF EXISTS t; +DROP TABLE IF EXISTS t1; +DROP TABLE IF EXISTS t2; diff --git a/mysql-test/r/max_sp_recursion_depth_basic.result b/mysql-test/r/max_sp_recursion_depth_basic.result new file mode 100644 index 00000000000..8c79f3c5fc7 --- /dev/null +++ b/mysql-test/r/max_sp_recursion_depth_basic.result @@ -0,0 +1,191 @@ +SET @start_global_value = @@global.max_sp_recursion_depth; +SELECT @start_global_value; +@start_global_value +0 +SET @start_session_value = @@session.max_sp_recursion_depth; +SELECT @start_session_value; +@start_session_value +0 +'#--------------------FN_DYNVARS_085_01-------------------------#' +SET @@global.max_sp_recursion_depth = 1000; +Warnings: +Warning 1292 Truncated incorrect max_sp_recursion_depth value: '1000' +SET @@global.max_sp_recursion_depth = DEFAULT; +SELECT @@global.max_sp_recursion_depth; +@@global.max_sp_recursion_depth +0 +SET @@session.max_sp_recursion_depth = 1000; +Warnings: +Warning 1292 Truncated incorrect max_sp_recursion_depth value: '1000' +SET @@session.max_sp_recursion_depth = DEFAULT; +SELECT @@session.max_sp_recursion_depth; +@@session.max_sp_recursion_depth +0 +'#--------------------FN_DYNVARS_085_02-------------------------#' +SET @@global.max_sp_recursion_depth = DEFAULT; +SELECT @@global.max_sp_recursion_depth = 0; +@@global.max_sp_recursion_depth = 0 +1 +SET @@session.max_sp_recursion_depth = DEFAULT; +SELECT @@session.max_sp_recursion_depth = 0; +@@session.max_sp_recursion_depth = 0 +1 +'#--------------------FN_DYNVARS_085_03-------------------------#' +SET @@global.max_sp_recursion_depth = 0; +SELECT @@global.max_sp_recursion_depth; +@@global.max_sp_recursion_depth +0 +SET @@global.max_sp_recursion_depth = 1; +SELECT @@global.max_sp_recursion_depth; +@@global.max_sp_recursion_depth +1 +SET @@global.max_sp_recursion_depth = 254; +SELECT @@global.max_sp_recursion_depth; +@@global.max_sp_recursion_depth +254 +SET @@global.max_sp_recursion_depth = 255; +SELECT @@global.max_sp_recursion_depth; +@@global.max_sp_recursion_depth +255 +SET @@global.max_sp_recursion_depth = 150; +SELECT @@global.max_sp_recursion_depth; +@@global.max_sp_recursion_depth +150 +'#--------------------FN_DYNVARS_085_04-------------------------#' +SET @@session.max_sp_recursion_depth = 0; +SELECT @@session.max_sp_recursion_depth; +@@session.max_sp_recursion_depth +0 +SET @@session.max_sp_recursion_depth = 1; +SELECT @@session.max_sp_recursion_depth; +@@session.max_sp_recursion_depth +1 +SET @@session.max_sp_recursion_depth = 254; +SELECT @@session.max_sp_recursion_depth; +@@session.max_sp_recursion_depth +254 +SET @@session.max_sp_recursion_depth = 255; +SELECT @@session.max_sp_recursion_depth; +@@session.max_sp_recursion_depth +255 +SET @@session.max_sp_recursion_depth = 150; +SELECT @@session.max_sp_recursion_depth; +@@session.max_sp_recursion_depth +150 +'#------------------FN_DYNVARS_085_05-----------------------#' +SET @@global.max_sp_recursion_depth = -1024; +SELECT @@global.max_sp_recursion_depth; +@@global.max_sp_recursion_depth +0 +SET @@global.max_sp_recursion_depth = 256; +Warnings: +Warning 1292 Truncated incorrect max_sp_recursion_depth value: '256' +SELECT @@global.max_sp_recursion_depth; +@@global.max_sp_recursion_depth +255 +SET @@global.max_sp_recursion_depth = -1; +SELECT @@global.max_sp_recursion_depth; +@@global.max_sp_recursion_depth +0 +SET @@global.max_sp_recursion_depth = 3000; +Warnings: +Warning 1292 Truncated incorrect max_sp_recursion_depth value: '3000' +SELECT @@global.max_sp_recursion_depth; +@@global.max_sp_recursion_depth +255 +SET @@global.max_sp_recursion_depth = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.max_sp_recursion_depth; +@@global.max_sp_recursion_depth +255 +SET @@global.max_sp_recursion_depth = test; +ERROR 42000: Incorrect argument type to variable 'max_sp_recursion_depth' +SELECT @@global.max_sp_recursion_depth; +@@global.max_sp_recursion_depth +255 +SET @@session.max_sp_recursion_depth = 256; +Warnings: +Warning 1292 Truncated incorrect max_sp_recursion_depth value: '256' +SELECT @@session.max_sp_recursion_depth; +@@session.max_sp_recursion_depth +255 +SET @@session.max_sp_recursion_depth = -1; +SELECT @@session.max_sp_recursion_depth; +@@session.max_sp_recursion_depth +0 +SET @@session.max_sp_recursion_depth = 500000; +Warnings: +Warning 1292 Truncated incorrect max_sp_recursion_depth value: '500000' +SELECT @@session.max_sp_recursion_depth; +@@session.max_sp_recursion_depth +255 +SET @@session.max_sp_recursion_depth = -001; +SELECT @@session.max_sp_recursion_depth; +@@session.max_sp_recursion_depth +0 +SET @@session.max_sp_recursion_depth = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.max_sp_recursion_depth = 10737418241; +Warnings: +Warning 1292 Truncated incorrect max_sp_recursion_depth value: '10737418241' +SELECT @@session.max_sp_recursion_depth; +@@session.max_sp_recursion_depth +255 +SET @@session.max_sp_recursion_depth = test; +ERROR 42000: Incorrect argument type to variable 'max_sp_recursion_depth' +SELECT @@session.max_sp_recursion_depth; +@@session.max_sp_recursion_depth +255 +'#------------------FN_DYNVARS_085_06-----------------------#' +SELECT @@global.max_sp_recursion_depth = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='max_sp_recursion_depth'; +@@global.max_sp_recursion_depth = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_085_07-----------------------#' +SELECT @@session.max_sp_recursion_depth = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='max_sp_recursion_depth'; +@@session.max_sp_recursion_depth = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_085_08-----------------------#' +SET @@global.max_sp_recursion_depth = TRUE; +SELECT @@global.max_sp_recursion_depth; +@@global.max_sp_recursion_depth +1 +SET @@global.max_sp_recursion_depth = FALSE; +SELECT @@global.max_sp_recursion_depth; +@@global.max_sp_recursion_depth +0 +'#---------------------FN_DYNVARS_085_09----------------------#' +SET @@global.max_sp_recursion_depth = 20; +SELECT @@max_sp_recursion_depth = @@global.max_sp_recursion_depth; +@@max_sp_recursion_depth = @@global.max_sp_recursion_depth +0 +'#---------------------FN_DYNVARS_085_10----------------------#' +SET @@max_sp_recursion_depth = 255; +SELECT @@max_sp_recursion_depth = @@local.max_sp_recursion_depth; +@@max_sp_recursion_depth = @@local.max_sp_recursion_depth +1 +SELECT @@local.max_sp_recursion_depth = @@session.max_sp_recursion_depth; +@@local.max_sp_recursion_depth = @@session.max_sp_recursion_depth +1 +'#---------------------FN_DYNVARS_085_11----------------------#' +SET max_sp_recursion_depth = 102; +SELECT @@max_sp_recursion_depth; +@@max_sp_recursion_depth +102 +SELECT local.max_sp_recursion_depth; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.max_sp_recursion_depth; +ERROR 42S02: Unknown table 'session' in field list +SELECT max_sp_recursion_depth = @@session.max_sp_recursion_depth; +ERROR 42S22: Unknown column 'max_sp_recursion_depth' in 'field list' +SET @@global.max_sp_recursion_depth = @start_global_value; +SELECT @@global.max_sp_recursion_depth; +@@global.max_sp_recursion_depth +0 +SET @@session.max_sp_recursion_depth = @start_session_value; +SELECT @@session.max_sp_recursion_depth; +@@session.max_sp_recursion_depth +0 diff --git a/mysql-test/r/max_sp_recursion_depth_func.result b/mysql-test/r/max_sp_recursion_depth_func.result new file mode 100644 index 00000000000..59d88440f53 --- /dev/null +++ b/mysql-test/r/max_sp_recursion_depth_func.result @@ -0,0 +1,164 @@ +SET @session_max_recursion_depth = @@SESSION.max_sp_recursion_depth; +'#--------------------FN_DYNVARS_099_01-------------------------#' +** Connecting test_con1 using username 'root' ** +** Connection test_con1 ** +SET @@session.max_sp_recursion_depth = 10; +SELECT @@session.max_sp_recursion_depth; +@@session.max_sp_recursion_depth +10 +DROP PROCEDURE IF EXISTS sp_addRecords; +CREATE PROCEDURE sp_addRecords (IN var1 INT,IN var2 INT) +BEGIN +SELECT var1,var2; +IF var1 < var2 THEN +CALL sp_addRecords(var1+1,var2); +SELECT var1,var2; +END IF; +END // +CALL sp_addRecords(0,8); +var1 var2 +0 8 +var1 var2 +1 8 +var1 var2 +2 8 +var1 var2 +3 8 +var1 var2 +4 8 +var1 var2 +5 8 +var1 var2 +6 8 +var1 var2 +7 8 +var1 var2 +8 8 +var1 var2 +7 8 +var1 var2 +6 8 +var1 var2 +5 8 +var1 var2 +4 8 +var1 var2 +3 8 +var1 var2 +2 8 +var1 var2 +1 8 +var1 var2 +0 8 +'#--------------------FN_DYNVARS_099_02-------------------------#' +** Connecting test_con2 using username 'root' ** +** Connection test_con2 ** +SET @@session.max_sp_recursion_depth = 4; +SELECT @@session.max_sp_recursion_depth; +@@session.max_sp_recursion_depth +4 +DROP PROCEDURE IF EXISTS sp_addRecords1; +CREATE PROCEDURE sp_addRecords1 (IN var1 INT,IN var2 INT) +BEGIN +SELECT var1,var2; +IF var1 < var2 THEN +CALL sp_addRecords1(var1+1,var2); +SELECT var1,var2; +END IF; +END // +CALL sp_addRecords1(0,4); +var1 var2 +0 4 +var1 var2 +1 4 +var1 var2 +2 4 +var1 var2 +3 4 +var1 var2 +4 4 +var1 var2 +3 4 +var1 var2 +2 4 +var1 var2 +1 4 +var1 var2 +0 4 +'#---------------------FN_DYNVARS_99_03----------------------#' +SET @@max_sp_recursion_depth = 10; +DROP PROCEDURE IF EXISTS sp_addRecords2; +CREATE PROCEDURE sp_addRecords2(IN var1 INT,IN var2 INT) +BEGIN +SELECT var1,var2; +IF var1 < var2 THEN +CALL sp_addRecords2(var1+1,var2); +SELECT var1,var2; +END IF; +END // +CALL sp_addRecords2(0,8); +var1 var2 +0 8 +var1 var2 +1 8 +var1 var2 +2 8 +var1 var2 +3 8 +var1 var2 +4 8 +var1 var2 +5 8 +var1 var2 +6 8 +var1 var2 +7 8 +var1 var2 +8 8 +var1 var2 +7 8 +var1 var2 +6 8 +var1 var2 +5 8 +var1 var2 +4 8 +var1 var2 +3 8 +var1 var2 +2 8 +var1 var2 +1 8 +var1 var2 +0 8 +'#---------------------FN_DYNVARS_99_04----------------------#' +SET @@max_sp_recursion_depth = 4; +DROP PROCEDURE IF EXISTS sp_addRecords3; +CREATE PROCEDURE sp_addRecords3 (IN var1 INT,IN var2 INT) +BEGIN +SELECT var1,var2; +IF var1 < var2 THEN +CALL sp_addRecords3(var1+1,var2); +SELECT var1,var2; +END IF; +END // +Expected error 'SP Recursion limit' +CALL sp_addRecords3(0,8); +var1 var2 +0 8 +var1 var2 +1 8 +var1 var2 +2 8 +var1 var2 +3 8 +var1 var2 +4 8 +ERROR HY000: Recursive limit 4 (as set by the max_sp_recursion_depth variable) was exceeded for routine sp_addRecords3 +** Connection default ** +** Disconnecting test_con1, test_con2 ** +DROP PROCEDURE IF EXISTS sp_addRecords; +DROP PROCEDURE IF EXISTS sp_addRecords1; +DROP PROCEDURE IF EXISTS sp_addRecords2; +DROP PROCEDURE IF EXISTS sp_addRecords3; +SET @@SESSION.max_sp_recursion_depth = @session_max_recursion_depth; diff --git a/mysql-test/r/max_tmp_tables_basic_32.result b/mysql-test/r/max_tmp_tables_basic_32.result new file mode 100644 index 00000000000..5f959069661 --- /dev/null +++ b/mysql-test/r/max_tmp_tables_basic_32.result @@ -0,0 +1,197 @@ +SET @start_global_value = @@global.max_tmp_tables; +SELECT @start_global_value; +@start_global_value +32 +SET @start_session_value = @@session.max_tmp_tables; +SELECT @start_session_value; +@start_session_value +32 +'#--------------------FN_DYNVARS_086_01-------------------------#' +SET @@global.max_tmp_tables = 1000; +SET @@global.max_tmp_tables = DEFAULT; +SELECT @@global.max_tmp_tables; +@@global.max_tmp_tables +32 +SET @@session.max_tmp_tables = 1000; +SET @@session.max_tmp_tables = DEFAULT; +SELECT @@session.max_tmp_tables; +@@session.max_tmp_tables +32 +'#--------------------FN_DYNVARS_086_02-------------------------#' +SET @@global.max_tmp_tables = DEFAULT; +SELECT @@global.max_tmp_tables = 32; +@@global.max_tmp_tables = 32 +1 +SET @@session.max_tmp_tables = DEFAULT; +SELECT @@session.max_tmp_tables = 32; +@@session.max_tmp_tables = 32 +1 +'#--------------------FN_DYNVARS_086_03-------------------------#' +SET @@global.max_tmp_tables = 1; +SELECT @@global.max_tmp_tables; +@@global.max_tmp_tables +1 +SET @@global.max_tmp_tables = 2; +SELECT @@global.max_tmp_tables; +@@global.max_tmp_tables +2 +SET @@global.max_tmp_tables = 65536; +SELECT @@global.max_tmp_tables; +@@global.max_tmp_tables +65536 +SET @@global.max_tmp_tables = 4294967295; +SELECT @@global.max_tmp_tables; +@@global.max_tmp_tables +4294967295 +SET @@global.max_tmp_tables = 4294967294; +SELECT @@global.max_tmp_tables; +@@global.max_tmp_tables +4294967294 +'#--------------------FN_DYNVARS_086_04-------------------------#' +SET @@session.max_tmp_tables = 1; +SELECT @@session.max_tmp_tables; +@@session.max_tmp_tables +1 +SET @@session.max_tmp_tables = 2; +SELECT @@session.max_tmp_tables; +@@session.max_tmp_tables +2 +SET @@session.max_tmp_tables = 65536; +SELECT @@session.max_tmp_tables; +@@session.max_tmp_tables +65536 +SET @@session.max_tmp_tables = 4294967295; +SELECT @@session.max_tmp_tables; +@@session.max_tmp_tables +4294967295 +SET @@session.max_tmp_tables = 4294967294; +SELECT @@session.max_tmp_tables; +@@session.max_tmp_tables +4294967294 +'#------------------FN_DYNVARS_086_05-----------------------#' +SET @@global.max_tmp_tables = -1024; +Warnings: +Warning 1292 Truncated incorrect max_tmp_tables value: '0' +SELECT @@global.max_tmp_tables; +@@global.max_tmp_tables +1 +SET @@global.max_tmp_tables = 4294967296; +Warnings: +Warning 1292 Truncated incorrect max_tmp_tables value: '4294967296' +SELECT @@global.max_tmp_tables; +@@global.max_tmp_tables +4294967295 +SET @@global.max_tmp_tables = -1; +Warnings: +Warning 1292 Truncated incorrect max_tmp_tables value: '0' +SELECT @@global.max_tmp_tables; +@@global.max_tmp_tables +1 +SET @@global.max_tmp_tables = 429496729500; +Warnings: +Warning 1292 Truncated incorrect max_tmp_tables value: '429496729500' +SELECT @@global.max_tmp_tables; +@@global.max_tmp_tables +4294967295 +SET @@global.max_tmp_tables = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.max_tmp_tables; +@@global.max_tmp_tables +4294967295 +SET @@global.max_tmp_tables = test; +ERROR 42000: Incorrect argument type to variable 'max_tmp_tables' +SELECT @@global.max_tmp_tables; +@@global.max_tmp_tables +4294967295 +SET @@session.max_tmp_tables = 4294967296; +Warnings: +Warning 1292 Truncated incorrect max_tmp_tables value: '4294967296' +SELECT @@session.max_tmp_tables; +@@session.max_tmp_tables +4294967295 +SET @@session.max_tmp_tables = -1; +Warnings: +Warning 1292 Truncated incorrect max_tmp_tables value: '0' +SELECT @@session.max_tmp_tables; +@@session.max_tmp_tables +1 +SET @@session.max_tmp_tables = 429496729500; +Warnings: +Warning 1292 Truncated incorrect max_tmp_tables value: '429496729500' +SELECT @@session.max_tmp_tables; +@@session.max_tmp_tables +4294967295 +SET @@session.max_tmp_tables = -001; +Warnings: +Warning 1292 Truncated incorrect max_tmp_tables value: '0' +SELECT @@session.max_tmp_tables; +@@session.max_tmp_tables +1 +SET @@session.max_tmp_tables = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.max_tmp_tables = 10737418241; +Warnings: +Warning 1292 Truncated incorrect max_tmp_tables value: '10737418241' +SELECT @@session.max_tmp_tables; +@@session.max_tmp_tables +4294967295 +SET @@session.max_tmp_tables = test; +ERROR 42000: Incorrect argument type to variable 'max_tmp_tables' +SELECT @@session.max_tmp_tables; +@@session.max_tmp_tables +4294967295 +'#------------------FN_DYNVARS_086_06-----------------------#' +SELECT @@global.max_tmp_tables = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='max_tmp_tables'; +@@global.max_tmp_tables = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_086_07-----------------------#' +SELECT @@session.max_tmp_tables = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='max_tmp_tables'; +@@session.max_tmp_tables = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_086_08-----------------------#' +SET @@global.max_tmp_tables = TRUE; +SELECT @@global.max_tmp_tables; +@@global.max_tmp_tables +1 +SET @@global.max_tmp_tables = FALSE; +Warnings: +Warning 1292 Truncated incorrect max_tmp_tables value: '0' +SELECT @@global.max_tmp_tables; +@@global.max_tmp_tables +1 +'#---------------------FN_DYNVARS_086_09----------------------#' +SET @@global.max_tmp_tables = 20; +SELECT @@max_tmp_tables = @@global.max_tmp_tables; +@@max_tmp_tables = @@global.max_tmp_tables +0 +'#---------------------FN_DYNVARS_086_10----------------------#' +SET @@max_tmp_tables = 255; +SELECT @@max_tmp_tables = @@local.max_tmp_tables; +@@max_tmp_tables = @@local.max_tmp_tables +1 +SELECT @@local.max_tmp_tables = @@session.max_tmp_tables; +@@local.max_tmp_tables = @@session.max_tmp_tables +1 +'#---------------------FN_DYNVARS_086_11----------------------#' +SET max_tmp_tables = 102; +SELECT @@max_tmp_tables; +@@max_tmp_tables +102 +SELECT local.max_tmp_tables; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.max_tmp_tables; +ERROR 42S02: Unknown table 'session' in field list +SELECT max_tmp_tables = @@session.max_tmp_tables; +ERROR 42S22: Unknown column 'max_tmp_tables' in 'field list' +SET @@global.max_tmp_tables = @start_global_value; +SELECT @@global.max_tmp_tables; +@@global.max_tmp_tables +32 +SET @@session.max_tmp_tables = @start_session_value; +SELECT @@session.max_tmp_tables; +@@session.max_tmp_tables +32 diff --git a/mysql-test/r/max_tmp_tables_basic_64.result b/mysql-test/r/max_tmp_tables_basic_64.result new file mode 100644 index 00000000000..4b9f68c509e --- /dev/null +++ b/mysql-test/r/max_tmp_tables_basic_64.result @@ -0,0 +1,187 @@ +SET @start_global_value = @@global.max_tmp_tables; +SELECT @start_global_value; +@start_global_value +32 +SET @start_session_value = @@session.max_tmp_tables; +SELECT @start_session_value; +@start_session_value +32 +'#--------------------FN_DYNVARS_086_01-------------------------#' +SET @@global.max_tmp_tables = 1000; +SET @@global.max_tmp_tables = DEFAULT; +SELECT @@global.max_tmp_tables; +@@global.max_tmp_tables +32 +SET @@session.max_tmp_tables = 1000; +SET @@session.max_tmp_tables = DEFAULT; +SELECT @@session.max_tmp_tables; +@@session.max_tmp_tables +32 +'#--------------------FN_DYNVARS_086_02-------------------------#' +SET @@global.max_tmp_tables = DEFAULT; +SELECT @@global.max_tmp_tables = 32; +@@global.max_tmp_tables = 32 +1 +SET @@session.max_tmp_tables = DEFAULT; +SELECT @@session.max_tmp_tables = 32; +@@session.max_tmp_tables = 32 +1 +'#--------------------FN_DYNVARS_086_03-------------------------#' +SET @@global.max_tmp_tables = 1; +SELECT @@global.max_tmp_tables; +@@global.max_tmp_tables +1 +SET @@global.max_tmp_tables = 2; +SELECT @@global.max_tmp_tables; +@@global.max_tmp_tables +2 +SET @@global.max_tmp_tables = 65536; +SELECT @@global.max_tmp_tables; +@@global.max_tmp_tables +65536 +SET @@global.max_tmp_tables = 4294967295; +SELECT @@global.max_tmp_tables; +@@global.max_tmp_tables +4294967295 +SET @@global.max_tmp_tables = 4294967294; +SELECT @@global.max_tmp_tables; +@@global.max_tmp_tables +4294967294 +'#--------------------FN_DYNVARS_086_04-------------------------#' +SET @@session.max_tmp_tables = 1; +SELECT @@session.max_tmp_tables; +@@session.max_tmp_tables +1 +SET @@session.max_tmp_tables = 2; +SELECT @@session.max_tmp_tables; +@@session.max_tmp_tables +2 +SET @@session.max_tmp_tables = 65536; +SELECT @@session.max_tmp_tables; +@@session.max_tmp_tables +65536 +SET @@session.max_tmp_tables = 4294967295; +SELECT @@session.max_tmp_tables; +@@session.max_tmp_tables +4294967295 +SET @@session.max_tmp_tables = 4294967294; +SELECT @@session.max_tmp_tables; +@@session.max_tmp_tables +4294967294 +'#------------------FN_DYNVARS_086_05-----------------------#' +SET @@global.max_tmp_tables = -1024; +Warnings: +Warning 1292 Truncated incorrect max_tmp_tables value: '0' +SELECT @@global.max_tmp_tables; +@@global.max_tmp_tables +1 +SET @@global.max_tmp_tables = 4294967296; +SELECT @@global.max_tmp_tables; +@@global.max_tmp_tables +4294967296 +SET @@global.max_tmp_tables = -1; +Warnings: +Warning 1292 Truncated incorrect max_tmp_tables value: '0' +SELECT @@global.max_tmp_tables; +@@global.max_tmp_tables +1 +SET @@global.max_tmp_tables = 429496729500; +SELECT @@global.max_tmp_tables; +@@global.max_tmp_tables +429496729500 +SET @@global.max_tmp_tables = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.max_tmp_tables; +@@global.max_tmp_tables +429496729500 +SET @@global.max_tmp_tables = test; +ERROR 42000: Incorrect argument type to variable 'max_tmp_tables' +SELECT @@global.max_tmp_tables; +@@global.max_tmp_tables +429496729500 +SET @@session.max_tmp_tables = 4294967296; +SELECT @@session.max_tmp_tables; +@@session.max_tmp_tables +4294967296 +SET @@session.max_tmp_tables = -1; +Warnings: +Warning 1292 Truncated incorrect max_tmp_tables value: '0' +SELECT @@session.max_tmp_tables; +@@session.max_tmp_tables +1 +SET @@session.max_tmp_tables = 429496729500; +SELECT @@session.max_tmp_tables; +@@session.max_tmp_tables +429496729500 +SET @@session.max_tmp_tables = -001; +Warnings: +Warning 1292 Truncated incorrect max_tmp_tables value: '0' +SELECT @@session.max_tmp_tables; +@@session.max_tmp_tables +1 +SET @@session.max_tmp_tables = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.max_tmp_tables = 10737418241; +SELECT @@session.max_tmp_tables; +@@session.max_tmp_tables +10737418241 +SET @@session.max_tmp_tables = test; +ERROR 42000: Incorrect argument type to variable 'max_tmp_tables' +SELECT @@session.max_tmp_tables; +@@session.max_tmp_tables +10737418241 +'#------------------FN_DYNVARS_086_06-----------------------#' +SELECT @@global.max_tmp_tables = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='max_tmp_tables'; +@@global.max_tmp_tables = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_086_07-----------------------#' +SELECT @@session.max_tmp_tables = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='max_tmp_tables'; +@@session.max_tmp_tables = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_086_08-----------------------#' +SET @@global.max_tmp_tables = TRUE; +SELECT @@global.max_tmp_tables; +@@global.max_tmp_tables +1 +SET @@global.max_tmp_tables = FALSE; +Warnings: +Warning 1292 Truncated incorrect max_tmp_tables value: '0' +SELECT @@global.max_tmp_tables; +@@global.max_tmp_tables +1 +'#---------------------FN_DYNVARS_086_09----------------------#' +SET @@global.max_tmp_tables = 20; +SELECT @@max_tmp_tables = @@global.max_tmp_tables; +@@max_tmp_tables = @@global.max_tmp_tables +0 +'#---------------------FN_DYNVARS_086_10----------------------#' +SET @@max_tmp_tables = 255; +SELECT @@max_tmp_tables = @@local.max_tmp_tables; +@@max_tmp_tables = @@local.max_tmp_tables +1 +SELECT @@local.max_tmp_tables = @@session.max_tmp_tables; +@@local.max_tmp_tables = @@session.max_tmp_tables +1 +'#---------------------FN_DYNVARS_086_11----------------------#' +SET max_tmp_tables = 102; +SELECT @@max_tmp_tables; +@@max_tmp_tables +102 +SELECT local.max_tmp_tables; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.max_tmp_tables; +ERROR 42S02: Unknown table 'session' in field list +SELECT max_tmp_tables = @@session.max_tmp_tables; +ERROR 42S22: Unknown column 'max_tmp_tables' in 'field list' +SET @@global.max_tmp_tables = @start_global_value; +SELECT @@global.max_tmp_tables; +@@global.max_tmp_tables +32 +SET @@session.max_tmp_tables = @start_session_value; +SELECT @@session.max_tmp_tables; +@@session.max_tmp_tables +32 diff --git a/mysql-test/r/max_user_connections_basic.result b/mysql-test/r/max_user_connections_basic.result new file mode 100644 index 00000000000..3250b2f03ea --- /dev/null +++ b/mysql-test/r/max_user_connections_basic.result @@ -0,0 +1,115 @@ +SET @start_global_value = @@global.max_user_connections; +SELECT @start_global_value; +@start_global_value +0 +SET @start_session_value = @@session.max_user_connections; +SELECT @start_session_value; +@start_session_value +0 +'#--------------------FN_DYNVARS_087_01-------------------------#' +SET @@global.max_user_connections = 1000; +SET @@global.max_user_connections = DEFAULT; +SELECT @@global.max_user_connections; +@@global.max_user_connections +0 +SET @@session.max_user_connections = 1000; +ERROR HY000: Variable 'max_user_connections' is a GLOBAL variable and should be set with SET GLOBAL +SET @@session.max_user_connections = DEFAULT; +ERROR 42000: Variable 'max_user_connections' doesn't have a default value +SELECT @@session.max_user_connections; +@@session.max_user_connections +0 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +'#--------------------FN_DYNVARS_087_02-------------------------#' +SET @@global.max_user_connections = DEFAULT; +SELECT @@global.max_user_connections = 0; +@@global.max_user_connections = 0 +1 +SET @@session.max_user_connections = DEFAULT; +ERROR 42000: Variable 'max_user_connections' doesn't have a default value +SELECT @@session.max_user_connections = 0; +@@session.max_user_connections = 0 +1 +'#--------------------FN_DYNVARS_087_03-------------------------#' +SET @@global.max_user_connections = 1; +SELECT @@global.max_user_connections; +@@global.max_user_connections +1 +SET @@global.max_user_connections = 2; +SELECT @@global.max_user_connections; +@@global.max_user_connections +2 +SET @@global.max_user_connections = 65536; +SELECT @@global.max_user_connections; +@@global.max_user_connections +65536 +SET @@global.max_user_connections = 4294967295; +SELECT @@global.max_user_connections; +@@global.max_user_connections +4294967295 +SET @@global.max_user_connections = 4294967294; +SELECT @@global.max_user_connections; +@@global.max_user_connections +4294967294 +'#------------------FN_DYNVARS_087_05-----------------------#' +SET @@global.max_user_connections = -1024; +SELECT @@global.max_user_connections; +@@global.max_user_connections +4294966272 +SET @@global.max_user_connections = 4294967296; +SELECT @@global.max_user_connections; +@@global.max_user_connections +0 +SET @@global.max_user_connections = -1; +SELECT @@global.max_user_connections; +@@global.max_user_connections +4294967295 +SET @@global.max_user_connections = 429496729500; +SELECT @@global.max_user_connections; +@@global.max_user_connections +4294967196 +SET @@global.max_user_connections = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.max_user_connections; +@@global.max_user_connections +4294967196 +SET @@global.max_user_connections = test; +ERROR 42000: Incorrect argument type to variable 'max_user_connections' +SELECT @@global.max_user_connections; +@@global.max_user_connections +4294967196 +'#------------------FN_DYNVARS_087_06-----------------------#' +SELECT @@global.max_user_connections = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='max_user_connections'; +@@global.max_user_connections = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_087_08-----------------------#' +SET @@global.max_user_connections = TRUE; +SELECT @@global.max_user_connections; +@@global.max_user_connections +1 +SET @@global.max_user_connections = FALSE; +SELECT @@global.max_user_connections; +@@global.max_user_connections +0 +'#---------------------FN_DYNVARS_087_09----------------------#' +SET @@global.max_user_connections = 20; +SELECT @@max_user_connections = @@global.max_user_connections; +@@max_user_connections = @@global.max_user_connections +1 +'#---------------------FN_DYNVARS_087_11----------------------#' +SET @@global.max_user_connections = 102; +SELECT @@max_user_connections; +@@max_user_connections +102 +SELECT local.max_user_connections; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.max_user_connections; +ERROR 42S02: Unknown table 'session' in field list +SELECT max_user_connections = @@session.max_user_connections; +ERROR 42S22: Unknown column 'max_user_connections' in 'field list' +SET @@global.max_user_connections = @start_global_value; +SELECT @@global.max_user_connections; +@@global.max_user_connections +0 diff --git a/mysql-test/r/max_user_connections_func.result b/mysql-test/r/max_user_connections_func.result new file mode 100644 index 00000000000..9dd868844a2 --- /dev/null +++ b/mysql-test/r/max_user_connections_func.result @@ -0,0 +1,18 @@ +** Setup ** + +SET @default_max_user_connections = @@max_user_connections; +Set Global max_user_connections=2; +'#--------------------FN_DYNVARS_114_01-------------------------#' +** Connecting conn1 using username 'root' ** +** Connecting conn2 using username 'root' ** +** Connecting conn3 using username 'root' ** +ERROR 42000: User root already has more than 'max_user_connections' active connections +Expected error "too many connections" +** Disconnecting conn1 ** +'#--------------------FN_DYNVARS_114_02-------------------------#' +Set Global max_user_connections=3; +** Connecting conn5 using username 'root' ** +** Connecting conn6 using username 'root' ** +** Connection default ** +** Disconnecting conn5, conn6 ** +SET GLOBAL max_user_connections = @default_max_user_connections; diff --git a/mysql-test/r/max_write_lock_count_basic_32.result b/mysql-test/r/max_write_lock_count_basic_32.result new file mode 100644 index 00000000000..0c9c3c00c1f --- /dev/null +++ b/mysql-test/r/max_write_lock_count_basic_32.result @@ -0,0 +1,108 @@ +SET @start_global_value = @@global.max_write_lock_count; +SELECT @start_global_value; +@start_global_value +4294967295 +'#--------------------FN_DYNVARS_088_01-------------------------#' +SET @@global.max_write_lock_count = 1000; +SET @@global.max_write_lock_count = DEFAULT; +SELECT @@global.max_write_lock_count; +@@global.max_write_lock_count +4294967295 +'#--------------------FN_DYNVARS_088_02-------------------------#' +SET @@global.max_write_lock_count = DEFAULT; +SELECT @@global.max_write_lock_count = 4294967295; +@@global.max_write_lock_count = 4294967295 +1 +'#--------------------FN_DYNVARS_088_03-------------------------#' +SET @@global.max_write_lock_count = 1; +SELECT @@global.max_write_lock_count; +@@global.max_write_lock_count +1 +SET @@global.max_write_lock_count = 2; +SELECT @@global.max_write_lock_count; +@@global.max_write_lock_count +2 +SET @@global.max_write_lock_count = 65536; +SELECT @@global.max_write_lock_count; +@@global.max_write_lock_count +65536 +SET @@global.max_write_lock_count = 4294967295; +SELECT @@global.max_write_lock_count; +@@global.max_write_lock_count +4294967295 +SET @@global.max_write_lock_count = 4294967294; +SELECT @@global.max_write_lock_count; +@@global.max_write_lock_count +4294967294 +'#------------------FN_DYNVARS_088_04-----------------------#' +SET @@global.max_write_lock_count = -1024; +Warnings: +Warning 1292 Truncated incorrect max_write_lock_count value: '0' +SELECT @@global.max_write_lock_count; +@@global.max_write_lock_count +1 +SET @@global.max_write_lock_count = 4294967296; +Warnings: +Warning 1292 Truncated incorrect max_write_lock_count value: '4294967296' +SELECT @@global.max_write_lock_count; +@@global.max_write_lock_count +4294967295 +SET @@global.max_write_lock_count = -1; +Warnings: +Warning 1292 Truncated incorrect max_write_lock_count value: '0' +SELECT @@global.max_write_lock_count; +@@global.max_write_lock_count +1 +SET @@global.max_write_lock_count = 429496729500; +Warnings: +Warning 1292 Truncated incorrect max_write_lock_count value: '429496729500' +SELECT @@global.max_write_lock_count; +@@global.max_write_lock_count +4294967295 +SET @@global.max_write_lock_count = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.max_write_lock_count; +@@global.max_write_lock_count +4294967295 +SET @@global.max_write_lock_count = test; +ERROR 42000: Incorrect argument type to variable 'max_write_lock_count' +SELECT @@global.max_write_lock_count; +@@global.max_write_lock_count +4294967295 +'#------------------FN_DYNVARS_088_05-----------------------#' +SELECT @@global.max_write_lock_count = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='max_write_lock_count'; +@@global.max_write_lock_count = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_088_06-----------------------#' +SET @@global.max_write_lock_count = TRUE; +SELECT @@global.max_write_lock_count; +@@global.max_write_lock_count +1 +SET @@global.max_write_lock_count = FALSE; +Warnings: +Warning 1292 Truncated incorrect max_write_lock_count value: '0' +SELECT @@global.max_write_lock_count; +@@global.max_write_lock_count +1 +'#---------------------FN_DYNVARS_088_07----------------------#' +SET @@global.max_write_lock_count = 20; +SELECT @@max_write_lock_count = @@global.max_write_lock_count; +@@max_write_lock_count = @@global.max_write_lock_count +1 +'#---------------------FN_DYNVARS_088_08----------------------#' +SET @@global.max_write_lock_count = 102; +SELECT @@max_write_lock_count; +@@max_write_lock_count +102 +SELECT local.max_write_lock_count; +ERROR 42S02: Unknown table 'local' in field list +SELECT global.max_write_lock_count; +ERROR 42S02: Unknown table 'global' in field list +SELECT max_write_lock_count = @@global.max_write_lock_count; +ERROR 42S22: Unknown column 'max_write_lock_count' in 'field list' +SET @@global.max_write_lock_count = @start_global_value; +SELECT @@global.max_write_lock_count; +@@global.max_write_lock_count +4294967295 diff --git a/mysql-test/r/max_write_lock_count_basic_64.result b/mysql-test/r/max_write_lock_count_basic_64.result new file mode 100644 index 00000000000..d74586841dd --- /dev/null +++ b/mysql-test/r/max_write_lock_count_basic_64.result @@ -0,0 +1,104 @@ +SET @start_global_value = @@global.max_write_lock_count; +SELECT @start_global_value; +@start_global_value +18446744073709551615 +'#--------------------FN_DYNVARS_088_01-------------------------#' +SET @@global.max_write_lock_count = 1000; +SET @@global.max_write_lock_count = DEFAULT; +SELECT @@global.max_write_lock_count; +@@global.max_write_lock_count +18446744073709551615 +'#--------------------FN_DYNVARS_088_02-------------------------#' +SET @@global.max_write_lock_count = DEFAULT; +SELECT @@global.max_write_lock_count = 4294967295; +@@global.max_write_lock_count = 4294967295 +0 +'#--------------------FN_DYNVARS_088_03-------------------------#' +SET @@global.max_write_lock_count = 1; +SELECT @@global.max_write_lock_count; +@@global.max_write_lock_count +1 +SET @@global.max_write_lock_count = 2; +SELECT @@global.max_write_lock_count; +@@global.max_write_lock_count +2 +SET @@global.max_write_lock_count = 65536; +SELECT @@global.max_write_lock_count; +@@global.max_write_lock_count +65536 +SET @@global.max_write_lock_count = 4294967295; +SELECT @@global.max_write_lock_count; +@@global.max_write_lock_count +4294967295 +SET @@global.max_write_lock_count = 4294967294; +SELECT @@global.max_write_lock_count; +@@global.max_write_lock_count +4294967294 +'#------------------FN_DYNVARS_088_04-----------------------#' +SET @@global.max_write_lock_count = -1024; +Warnings: +Warning 1292 Truncated incorrect max_write_lock_count value: '0' +SELECT @@global.max_write_lock_count; +@@global.max_write_lock_count +1 +SET @@global.max_write_lock_count = 4294967296; +SELECT @@global.max_write_lock_count; +@@global.max_write_lock_count +4294967296 +SET @@global.max_write_lock_count = -1; +Warnings: +Warning 1292 Truncated incorrect max_write_lock_count value: '0' +SELECT @@global.max_write_lock_count; +@@global.max_write_lock_count +1 +SET @@global.max_write_lock_count = 429496729500; +SELECT @@global.max_write_lock_count; +@@global.max_write_lock_count +429496729500 +SET @@global.max_write_lock_count = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.max_write_lock_count; +@@global.max_write_lock_count +429496729500 +SET @@global.max_write_lock_count = test; +ERROR 42000: Incorrect argument type to variable 'max_write_lock_count' +SELECT @@global.max_write_lock_count; +@@global.max_write_lock_count +429496729500 +'#------------------FN_DYNVARS_088_05-----------------------#' +SELECT @@global.max_write_lock_count = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='max_write_lock_count'; +@@global.max_write_lock_count = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_088_06-----------------------#' +SET @@global.max_write_lock_count = TRUE; +SELECT @@global.max_write_lock_count; +@@global.max_write_lock_count +1 +SET @@global.max_write_lock_count = FALSE; +Warnings: +Warning 1292 Truncated incorrect max_write_lock_count value: '0' +SELECT @@global.max_write_lock_count; +@@global.max_write_lock_count +1 +'#---------------------FN_DYNVARS_088_07----------------------#' +SET @@global.max_write_lock_count = 20; +SELECT @@max_write_lock_count = @@global.max_write_lock_count; +@@max_write_lock_count = @@global.max_write_lock_count +1 +'#---------------------FN_DYNVARS_088_08----------------------#' +SET @@global.max_write_lock_count = 102; +SELECT @@max_write_lock_count; +@@max_write_lock_count +102 +SELECT local.max_write_lock_count; +ERROR 42S02: Unknown table 'local' in field list +SELECT global.max_write_lock_count; +ERROR 42S02: Unknown table 'global' in field list +SELECT max_write_lock_count = @@global.max_write_lock_count; +ERROR 42S22: Unknown column 'max_write_lock_count' in 'field list' +SET @@global.max_write_lock_count = @start_global_value; +SELECT @@global.max_write_lock_count; +@@global.max_write_lock_count +18446744073709551615 diff --git a/mysql-test/r/merge.result b/mysql-test/r/merge.result index 4c05000573c..ef623b343e9 100644 --- a/mysql-test/r/merge.result +++ b/mysql-test/r/merge.result @@ -2006,3 +2006,19 @@ test.t1 optimize status OK FLUSH TABLES m1, t1; UNLOCK TABLES; DROP TABLE t1, m1; +CREATE TABLE t1(C1 INT, C2 INT, KEY C1(C1), KEY C2(C2)) ENGINE=MYISAM; +CREATE TABLE t2(C1 INT, C2 INT, KEY C1(C1), KEY C2(C2)) ENGINE=MYISAM; +CREATE TABLE t3(C1 INT, C2 INT, KEY C1(C1), KEY C2(C2)) ENGINE=MYISAM; +CREATE TABLE t4(C1 INT, C2 INT, KEY C1(C1), KEY C2(C2)) +ENGINE=MRG_MYISAM UNION=(t1, t2, t3); +INSERT INTO t1 VALUES (1,1), (1,2),(1,3), (1,4); +INSERT INTO t2 VALUES (2,1), (2,2),(2,3), (2,4); +INSERT INTO t3 VALUES (3,1), (3,2),(3,3), (3,4); +EXPLAIN SELECT COUNT(*) FROM t1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Select tables optimized away +EXPLAIN SELECT COUNT(*) FROM t4; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Select tables optimized away +DROP TABLE t1, t2, t3, t4; +End of 5.1 tests diff --git a/mysql-test/r/min_examined_row_limit_basic_32.result b/mysql-test/r/min_examined_row_limit_basic_32.result new file mode 100644 index 00000000000..c0315944a8a --- /dev/null +++ b/mysql-test/r/min_examined_row_limit_basic_32.result @@ -0,0 +1,180 @@ +SET @start_global_value = @@global.min_examined_row_limit; +SELECT @start_global_value; +@start_global_value +0 +SET @start_session_value = @@session.min_examined_row_limit; +SELECT @start_session_value; +@start_session_value +0 +'#--------------------FN_DYNVARS_089_01-------------------------#' +SET @@global.min_examined_row_limit = 100; +SET @@global.min_examined_row_limit = DEFAULT; +SELECT @@global.min_examined_row_limit; +@@global.min_examined_row_limit +0 +SET @@session.min_examined_row_limit = 200; +SET @@session.min_examined_row_limit = DEFAULT; +SELECT @@session.min_examined_row_limit; +@@session.min_examined_row_limit +0 +'#--------------------FN_DYNVARS_089_02-------------------------#' +SET @@global.min_examined_row_limit = DEFAULT; +SELECT @@global.min_examined_row_limit = 0; +@@global.min_examined_row_limit = 0 +1 +SET @@session.min_examined_row_limit = DEFAULT; +SELECT @@session.min_examined_row_limit = 0; +@@session.min_examined_row_limit = 0 +1 +'#--------------------FN_DYNVARS_089_03-------------------------#' +SET @@global.min_examined_row_limit = 0; +SELECT @@global.min_examined_row_limit; +@@global.min_examined_row_limit +0 +SET @@global.min_examined_row_limit = 1; +SELECT @@global.min_examined_row_limit; +@@global.min_examined_row_limit +1 +SET @@global.min_examined_row_limit = 60020; +SELECT @@global.min_examined_row_limit; +@@global.min_examined_row_limit +60020 +SET @@global.min_examined_row_limit = 65535; +SELECT @@global.min_examined_row_limit; +@@global.min_examined_row_limit +65535 +SET @@global.min_examined_row_limit = 4294967295; +SELECT @@global.min_examined_row_limit; +@@global.min_examined_row_limit +4294967295 +SET @@global.min_examined_row_limit = 4294967294; +SELECT @@global.min_examined_row_limit; +@@global.min_examined_row_limit +4294967294 +'#--------------------FN_DYNVARS_089_04-------------------------#' +SET @@session.min_examined_row_limit = 0; +SELECT @@session.min_examined_row_limit; +@@session.min_examined_row_limit +0 +SET @@session.min_examined_row_limit = 1; +SELECT @@session.min_examined_row_limit; +@@session.min_examined_row_limit +1 +SET @@session.min_examined_row_limit = 50050; +SELECT @@session.min_examined_row_limit; +@@session.min_examined_row_limit +50050 +SET @@session.min_examined_row_limit = 65535; +SELECT @@session.min_examined_row_limit; +@@session.min_examined_row_limit +65535 +SET @@session.min_examined_row_limit = 4294967295; +SELECT @@session.min_examined_row_limit; +@@session.min_examined_row_limit +4294967295 +SET @@session.min_examined_row_limit = 4294967294; +SELECT @@session.min_examined_row_limit; +@@session.min_examined_row_limit +4294967294 +'#------------------FN_DYNVARS_089_05-----------------------#' +SET @@global.min_examined_row_limit = 429496726; +SELECT @@global.min_examined_row_limit; +@@global.min_examined_row_limit +429496726 +SET @@global.min_examined_row_limit = -1024; +SELECT @@global.min_examined_row_limit; +@@global.min_examined_row_limit +0 +SET @@global.min_examined_row_limit = 429496729500; +Warnings: +Warning 1292 Truncated incorrect min_examined_row_limit value: '429496729500' +SELECT @@global.min_examined_row_limit; +@@global.min_examined_row_limit +4294967295 +SET @@global.min_examined_row_limit = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.min_examined_row_limit; +@@global.min_examined_row_limit +4294967295 +SET @@global.min_examined_row_limit = test; +ERROR 42000: Incorrect argument type to variable 'min_examined_row_limit' +SELECT @@global.min_examined_row_limit; +@@global.min_examined_row_limit +4294967295 +SET @@session.min_examined_row_limit = 4294967296; +Warnings: +Warning 1292 Truncated incorrect min_examined_row_limit value: '4294967296' +SELECT @@session.min_examined_row_limit; +@@session.min_examined_row_limit +4294967295 +SET @@session.min_examined_row_limit = -1; +SELECT @@session.min_examined_row_limit; +@@session.min_examined_row_limit +0 +SET @@session.min_examined_row_limit = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.min_examined_row_limit = 4294967295021; +Warnings: +Warning 1292 Truncated incorrect min_examined_row_limit value: '4294967295021' +SELECT @@session.min_examined_row_limit; +@@session.min_examined_row_limit +4294967295 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@session.min_examined_row_limit = test; +ERROR 42000: Incorrect argument type to variable 'min_examined_row_limit' +SELECT @@session.min_examined_row_limit; +@@session.min_examined_row_limit +4294967295 +'#------------------FN_DYNVARS_089_06-----------------------#' +SELECT @@global.min_examined_row_limit = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='min_examined_row_limit'; +@@global.min_examined_row_limit = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_089_07-----------------------#' +SELECT @@session.min_examined_row_limit = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='min_examined_row_limit'; +@@session.min_examined_row_limit = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_089_08-----------------------#' +SET @@global.min_examined_row_limit = TRUE; +SELECT @@global.min_examined_row_limit; +@@global.min_examined_row_limit +1 +SET @@global.min_examined_row_limit = FALSE; +SELECT @@global.min_examined_row_limit; +@@global.min_examined_row_limit +0 +'#---------------------FN_DYNVARS_089_09----------------------#' +SET @@global.min_examined_row_limit = 10; +SELECT @@min_examined_row_limit = @@global.min_examined_row_limit; +@@min_examined_row_limit = @@global.min_examined_row_limit +0 +'#---------------------FN_DYNVARS_089_10----------------------#' +SET @@min_examined_row_limit = 100; +SELECT @@min_examined_row_limit = @@local.min_examined_row_limit; +@@min_examined_row_limit = @@local.min_examined_row_limit +1 +SELECT @@local.min_examined_row_limit = @@session.min_examined_row_limit; +@@local.min_examined_row_limit = @@session.min_examined_row_limit +1 +'#---------------------FN_DYNVARS_089_11----------------------#' +SET min_examined_row_limit = 1; +SELECT @@min_examined_row_limit; +@@min_examined_row_limit +1 +SELECT local.min_examined_row_limit; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.min_examined_row_limit; +ERROR 42S02: Unknown table 'session' in field list +SELECT min_examined_row_limit = @@session.min_examined_row_limit; +ERROR 42S22: Unknown column 'min_examined_row_limit' in 'field list' +SET @@global.min_examined_row_limit = @start_global_value; +SELECT @@global.min_examined_row_limit; +@@global.min_examined_row_limit +0 +SET @@session.min_examined_row_limit = @start_session_value; +SELECT @@session.min_examined_row_limit; +@@session.min_examined_row_limit +0 diff --git a/mysql-test/r/min_examined_row_limit_basic_64.result b/mysql-test/r/min_examined_row_limit_basic_64.result new file mode 100644 index 00000000000..fa11659c6c5 --- /dev/null +++ b/mysql-test/r/min_examined_row_limit_basic_64.result @@ -0,0 +1,174 @@ +SET @start_global_value = @@global.min_examined_row_limit; +SELECT @start_global_value; +@start_global_value +0 +SET @start_session_value = @@session.min_examined_row_limit; +SELECT @start_session_value; +@start_session_value +0 +'#--------------------FN_DYNVARS_089_01-------------------------#' +SET @@global.min_examined_row_limit = 100; +SET @@global.min_examined_row_limit = DEFAULT; +SELECT @@global.min_examined_row_limit; +@@global.min_examined_row_limit +0 +SET @@session.min_examined_row_limit = 200; +SET @@session.min_examined_row_limit = DEFAULT; +SELECT @@session.min_examined_row_limit; +@@session.min_examined_row_limit +0 +'#--------------------FN_DYNVARS_089_02-------------------------#' +SET @@global.min_examined_row_limit = DEFAULT; +SELECT @@global.min_examined_row_limit = 0; +@@global.min_examined_row_limit = 0 +1 +SET @@session.min_examined_row_limit = DEFAULT; +SELECT @@session.min_examined_row_limit = 0; +@@session.min_examined_row_limit = 0 +1 +'#--------------------FN_DYNVARS_089_03-------------------------#' +SET @@global.min_examined_row_limit = 0; +SELECT @@global.min_examined_row_limit; +@@global.min_examined_row_limit +0 +SET @@global.min_examined_row_limit = 1; +SELECT @@global.min_examined_row_limit; +@@global.min_examined_row_limit +1 +SET @@global.min_examined_row_limit = 60020; +SELECT @@global.min_examined_row_limit; +@@global.min_examined_row_limit +60020 +SET @@global.min_examined_row_limit = 65535; +SELECT @@global.min_examined_row_limit; +@@global.min_examined_row_limit +65535 +SET @@global.min_examined_row_limit = 4294967295; +SELECT @@global.min_examined_row_limit; +@@global.min_examined_row_limit +4294967295 +SET @@global.min_examined_row_limit = 4294967294; +SELECT @@global.min_examined_row_limit; +@@global.min_examined_row_limit +4294967294 +'#--------------------FN_DYNVARS_089_04-------------------------#' +SET @@session.min_examined_row_limit = 0; +SELECT @@session.min_examined_row_limit; +@@session.min_examined_row_limit +0 +SET @@session.min_examined_row_limit = 1; +SELECT @@session.min_examined_row_limit; +@@session.min_examined_row_limit +1 +SET @@session.min_examined_row_limit = 50050; +SELECT @@session.min_examined_row_limit; +@@session.min_examined_row_limit +50050 +SET @@session.min_examined_row_limit = 65535; +SELECT @@session.min_examined_row_limit; +@@session.min_examined_row_limit +65535 +SET @@session.min_examined_row_limit = 4294967295; +SELECT @@session.min_examined_row_limit; +@@session.min_examined_row_limit +4294967295 +SET @@session.min_examined_row_limit = 4294967294; +SELECT @@session.min_examined_row_limit; +@@session.min_examined_row_limit +4294967294 +'#------------------FN_DYNVARS_089_05-----------------------#' +SET @@global.min_examined_row_limit = 429496726; +SELECT @@global.min_examined_row_limit; +@@global.min_examined_row_limit +429496726 +SET @@global.min_examined_row_limit = -1024; +SELECT @@global.min_examined_row_limit; +@@global.min_examined_row_limit +0 +SET @@global.min_examined_row_limit = 429496729500; +SELECT @@global.min_examined_row_limit; +@@global.min_examined_row_limit +429496729500 +SET @@global.min_examined_row_limit = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.min_examined_row_limit; +@@global.min_examined_row_limit +429496729500 +SET @@global.min_examined_row_limit = test; +ERROR 42000: Incorrect argument type to variable 'min_examined_row_limit' +SELECT @@global.min_examined_row_limit; +@@global.min_examined_row_limit +429496729500 +SET @@session.min_examined_row_limit = 4294967296; +SELECT @@session.min_examined_row_limit; +@@session.min_examined_row_limit +4294967296 +SET @@session.min_examined_row_limit = -1; +SELECT @@session.min_examined_row_limit; +@@session.min_examined_row_limit +0 +SET @@session.min_examined_row_limit = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.min_examined_row_limit = 4294967295021; +SELECT @@session.min_examined_row_limit; +@@session.min_examined_row_limit +4294967295021 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@session.min_examined_row_limit = test; +ERROR 42000: Incorrect argument type to variable 'min_examined_row_limit' +SELECT @@session.min_examined_row_limit; +@@session.min_examined_row_limit +4294967295021 +'#------------------FN_DYNVARS_089_06-----------------------#' +SELECT @@global.min_examined_row_limit = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='min_examined_row_limit'; +@@global.min_examined_row_limit = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_089_07-----------------------#' +SELECT @@session.min_examined_row_limit = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='min_examined_row_limit'; +@@session.min_examined_row_limit = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_089_08-----------------------#' +SET @@global.min_examined_row_limit = TRUE; +SELECT @@global.min_examined_row_limit; +@@global.min_examined_row_limit +1 +SET @@global.min_examined_row_limit = FALSE; +SELECT @@global.min_examined_row_limit; +@@global.min_examined_row_limit +0 +'#---------------------FN_DYNVARS_089_09----------------------#' +SET @@global.min_examined_row_limit = 10; +SELECT @@min_examined_row_limit = @@global.min_examined_row_limit; +@@min_examined_row_limit = @@global.min_examined_row_limit +0 +'#---------------------FN_DYNVARS_089_10----------------------#' +SET @@min_examined_row_limit = 100; +SELECT @@min_examined_row_limit = @@local.min_examined_row_limit; +@@min_examined_row_limit = @@local.min_examined_row_limit +1 +SELECT @@local.min_examined_row_limit = @@session.min_examined_row_limit; +@@local.min_examined_row_limit = @@session.min_examined_row_limit +1 +'#---------------------FN_DYNVARS_089_11----------------------#' +SET min_examined_row_limit = 1; +SELECT @@min_examined_row_limit; +@@min_examined_row_limit +1 +SELECT local.min_examined_row_limit; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.min_examined_row_limit; +ERROR 42S02: Unknown table 'session' in field list +SELECT min_examined_row_limit = @@session.min_examined_row_limit; +ERROR 42S22: Unknown column 'min_examined_row_limit' in 'field list' +SET @@global.min_examined_row_limit = @start_global_value; +SELECT @@global.min_examined_row_limit; +@@global.min_examined_row_limit +0 +SET @@session.min_examined_row_limit = @start_session_value; +SELECT @@session.min_examined_row_limit; +@@session.min_examined_row_limit +0 diff --git a/mysql-test/r/mix2_myisam.result b/mysql-test/r/mix2_myisam.result index ee10f265933..cabc4de8d21 100644 --- a/mysql-test/r/mix2_myisam.result +++ b/mysql-test/r/mix2_myisam.result @@ -1415,7 +1415,6 @@ set @a=repeat(' ',20); insert into t1 values (concat('+',@a),concat('+',@a),concat('+',@a)); Warnings: Note 1265 Data truncated for column 'v' at row 1 -Note 1265 Data truncated for column 'c' at row 1 select concat('*',v,'*',c,'*',t,'*') from t1; concat('*',v,'*',c,'*',t,'*') *+ *+*+ * diff --git a/mysql-test/r/multi_range_count_basic_32.result b/mysql-test/r/multi_range_count_basic_32.result new file mode 100644 index 00000000000..f6ac6490479 --- /dev/null +++ b/mysql-test/r/multi_range_count_basic_32.result @@ -0,0 +1,192 @@ +SET @start_global_value = @@global.multi_range_count; +SELECT @start_global_value; +@start_global_value +256 +SET @start_session_value = @@session.multi_range_count; +SELECT @start_session_value; +@start_session_value +256 +'#--------------------FN_DYNVARS_090_01-------------------------#' +SET @@global.multi_range_count = 100; +SET @@global.multi_range_count = DEFAULT; +SELECT @@global.multi_range_count; +@@global.multi_range_count +256 +SET @@session.multi_range_count = 200; +SET @@session.multi_range_count = DEFAULT; +SELECT @@session.multi_range_count; +@@session.multi_range_count +256 +'#--------------------FN_DYNVARS_090_02-------------------------#' +SET @@global.multi_range_count = DEFAULT; +SELECT @@global.multi_range_count = 256; +@@global.multi_range_count = 256 +1 +SET @@session.multi_range_count = DEFAULT; +SELECT @@session.multi_range_count = 256; +@@session.multi_range_count = 256 +1 +'#--------------------FN_DYNVARS_090_03-------------------------#' +SET @@global.multi_range_count = 1; +SELECT @@global.multi_range_count; +@@global.multi_range_count +1 +SET @@global.multi_range_count = 60020; +SELECT @@global.multi_range_count; +@@global.multi_range_count +60020 +SET @@global.multi_range_count = 65535; +SELECT @@global.multi_range_count; +@@global.multi_range_count +65535 +SET @@global.multi_range_count = 4294967295; +SELECT @@global.multi_range_count; +@@global.multi_range_count +4294967295 +SET @@global.multi_range_count = 4294967294; +SELECT @@global.multi_range_count; +@@global.multi_range_count +4294967294 +'#--------------------FN_DYNVARS_090_04-------------------------#' +SET @@session.multi_range_count = 1; +SELECT @@session.multi_range_count; +@@session.multi_range_count +1 +SET @@session.multi_range_count = 50050; +SELECT @@session.multi_range_count; +@@session.multi_range_count +50050 +SET @@session.multi_range_count = 65535; +SELECT @@session.multi_range_count; +@@session.multi_range_count +65535 +SET @@session.multi_range_count = 4294967295; +SELECT @@session.multi_range_count; +@@session.multi_range_count +4294967295 +SET @@session.multi_range_count = 4294967294; +SELECT @@session.multi_range_count; +@@session.multi_range_count +4294967294 +'#------------------FN_DYNVARS_090_05-----------------------#' +SET @@global.multi_range_count = 0; +Warnings: +Warning 1292 Truncated incorrect multi_range_count value: '0' +SELECT @@global.multi_range_count; +@@global.multi_range_count +1 +SET @@global.multi_range_count = 4294967296; +Warnings: +Warning 1292 Truncated incorrect multi_range_count value: '4294967296' +SELECT @@global.multi_range_count; +@@global.multi_range_count +4294967295 +SET @@global.multi_range_count = -1024; +Warnings: +Warning 1292 Truncated incorrect multi_range_count value: '0' +SELECT @@global.multi_range_count; +@@global.multi_range_count +1 +SET @@global.multi_range_count = 429496729500; +Warnings: +Warning 1292 Truncated incorrect multi_range_count value: '429496729500' +SELECT @@global.multi_range_count; +@@global.multi_range_count +4294967295 +SET @@global.multi_range_count = 65530.34; +ERROR 42000: Incorrect argument type to variable 'multi_range_count' +SELECT @@global.multi_range_count; +@@global.multi_range_count +4294967295 +SET @@global.multi_range_count = test; +ERROR 42000: Incorrect argument type to variable 'multi_range_count' +SELECT @@global.multi_range_count; +@@global.multi_range_count +4294967295 +SET @@session.multi_range_count = 0; +Warnings: +Warning 1292 Truncated incorrect multi_range_count value: '0' +SELECT @@session.multi_range_count; +@@session.multi_range_count +1 +SET @@session.multi_range_count = 4294967296; +Warnings: +Warning 1292 Truncated incorrect multi_range_count value: '4294967296' +SELECT @@session.multi_range_count; +@@session.multi_range_count +4294967295 +SET @@session.multi_range_count = -1; +Warnings: +Warning 1292 Truncated incorrect multi_range_count value: '0' +SELECT @@session.multi_range_count; +@@session.multi_range_count +1 +SET @@session.multi_range_count = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.multi_range_count = 4294967295021; +Warnings: +Warning 1292 Truncated incorrect multi_range_count value: '4294967295021' +SELECT @@session.multi_range_count; +@@session.multi_range_count +4294967295 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@session.multi_range_count = test; +ERROR 42000: Incorrect argument type to variable 'multi_range_count' +SELECT @@session.multi_range_count; +@@session.multi_range_count +4294967295 +'#------------------FN_DYNVARS_090_06-----------------------#' +SELECT @@global.multi_range_count = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='multi_range_count'; +@@global.multi_range_count = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_090_07-----------------------#' +SELECT @@session.multi_range_count = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='multi_range_count'; +@@session.multi_range_count = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_090_08-----------------------#' +SET @@global.multi_range_count = TRUE; +SELECT @@global.multi_range_count; +@@global.multi_range_count +1 +SET @@global.multi_range_count = FALSE; +Warnings: +Warning 1292 Truncated incorrect multi_range_count value: '0' +SELECT @@global.multi_range_count; +@@global.multi_range_count +1 +'#---------------------FN_DYNVARS_090_09----------------------#' +SET @@global.multi_range_count = 10; +SELECT @@multi_range_count = @@global.multi_range_count; +@@multi_range_count = @@global.multi_range_count +0 +'#---------------------FN_DYNVARS_090_10----------------------#' +SET @@multi_range_count = 100; +SELECT @@multi_range_count = @@local.multi_range_count; +@@multi_range_count = @@local.multi_range_count +1 +SELECT @@local.multi_range_count = @@session.multi_range_count; +@@local.multi_range_count = @@session.multi_range_count +1 +'#---------------------FN_DYNVARS_090_11----------------------#' +SET multi_range_count = 1; +SELECT @@multi_range_count; +@@multi_range_count +1 +SELECT local.multi_range_count; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.multi_range_count; +ERROR 42S02: Unknown table 'session' in field list +SELECT multi_range_count = @@session.multi_range_count; +ERROR 42S22: Unknown column 'multi_range_count' in 'field list' +SET @@global.multi_range_count = @start_global_value; +SELECT @@global.multi_range_count; +@@global.multi_range_count +256 +SET @@session.multi_range_count = @start_session_value; +SELECT @@session.multi_range_count; +@@session.multi_range_count +256 diff --git a/mysql-test/r/multi_range_count_basic_64.result b/mysql-test/r/multi_range_count_basic_64.result new file mode 100644 index 00000000000..f2115aec2e2 --- /dev/null +++ b/mysql-test/r/multi_range_count_basic_64.result @@ -0,0 +1,184 @@ +SET @start_global_value = @@global.multi_range_count; +SELECT @start_global_value; +@start_global_value +256 +SET @start_session_value = @@session.multi_range_count; +SELECT @start_session_value; +@start_session_value +256 +'#--------------------FN_DYNVARS_090_01-------------------------#' +SET @@global.multi_range_count = 100; +SET @@global.multi_range_count = DEFAULT; +SELECT @@global.multi_range_count; +@@global.multi_range_count +256 +SET @@session.multi_range_count = 200; +SET @@session.multi_range_count = DEFAULT; +SELECT @@session.multi_range_count; +@@session.multi_range_count +256 +'#--------------------FN_DYNVARS_090_02-------------------------#' +SET @@global.multi_range_count = DEFAULT; +SELECT @@global.multi_range_count = 256; +@@global.multi_range_count = 256 +1 +SET @@session.multi_range_count = DEFAULT; +SELECT @@session.multi_range_count = 256; +@@session.multi_range_count = 256 +1 +'#--------------------FN_DYNVARS_090_03-------------------------#' +SET @@global.multi_range_count = 1; +SELECT @@global.multi_range_count; +@@global.multi_range_count +1 +SET @@global.multi_range_count = 60020; +SELECT @@global.multi_range_count; +@@global.multi_range_count +60020 +SET @@global.multi_range_count = 65535; +SELECT @@global.multi_range_count; +@@global.multi_range_count +65535 +SET @@global.multi_range_count = 4294967295; +SELECT @@global.multi_range_count; +@@global.multi_range_count +4294967295 +SET @@global.multi_range_count = 4294967294; +SELECT @@global.multi_range_count; +@@global.multi_range_count +4294967294 +'#--------------------FN_DYNVARS_090_04-------------------------#' +SET @@session.multi_range_count = 1; +SELECT @@session.multi_range_count; +@@session.multi_range_count +1 +SET @@session.multi_range_count = 50050; +SELECT @@session.multi_range_count; +@@session.multi_range_count +50050 +SET @@session.multi_range_count = 65535; +SELECT @@session.multi_range_count; +@@session.multi_range_count +65535 +SET @@session.multi_range_count = 4294967295; +SELECT @@session.multi_range_count; +@@session.multi_range_count +4294967295 +SET @@session.multi_range_count = 4294967294; +SELECT @@session.multi_range_count; +@@session.multi_range_count +4294967294 +'#------------------FN_DYNVARS_090_05-----------------------#' +SET @@global.multi_range_count = 0; +Warnings: +Warning 1292 Truncated incorrect multi_range_count value: '0' +SELECT @@global.multi_range_count; +@@global.multi_range_count +1 +SET @@global.multi_range_count = 4294967296; +SELECT @@global.multi_range_count; +@@global.multi_range_count +4294967296 +SET @@global.multi_range_count = -1024; +Warnings: +Warning 1292 Truncated incorrect multi_range_count value: '0' +SELECT @@global.multi_range_count; +@@global.multi_range_count +1 +SET @@global.multi_range_count = 429496729500; +SELECT @@global.multi_range_count; +@@global.multi_range_count +429496729500 +SET @@global.multi_range_count = 65530.34; +ERROR 42000: Incorrect argument type to variable 'multi_range_count' +SELECT @@global.multi_range_count; +@@global.multi_range_count +429496729500 +SET @@global.multi_range_count = test; +ERROR 42000: Incorrect argument type to variable 'multi_range_count' +SELECT @@global.multi_range_count; +@@global.multi_range_count +429496729500 +SET @@session.multi_range_count = 0; +Warnings: +Warning 1292 Truncated incorrect multi_range_count value: '0' +SELECT @@session.multi_range_count; +@@session.multi_range_count +1 +SET @@session.multi_range_count = 4294967296; +SELECT @@session.multi_range_count; +@@session.multi_range_count +4294967296 +SET @@session.multi_range_count = -1; +Warnings: +Warning 1292 Truncated incorrect multi_range_count value: '0' +SELECT @@session.multi_range_count; +@@session.multi_range_count +1 +SET @@session.multi_range_count = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.multi_range_count = 4294967295021; +SELECT @@session.multi_range_count; +@@session.multi_range_count +4294967295021 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@session.multi_range_count = test; +ERROR 42000: Incorrect argument type to variable 'multi_range_count' +SELECT @@session.multi_range_count; +@@session.multi_range_count +4294967295021 +'#------------------FN_DYNVARS_090_06-----------------------#' +SELECT @@global.multi_range_count = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='multi_range_count'; +@@global.multi_range_count = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_090_07-----------------------#' +SELECT @@session.multi_range_count = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='multi_range_count'; +@@session.multi_range_count = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_090_08-----------------------#' +SET @@global.multi_range_count = TRUE; +SELECT @@global.multi_range_count; +@@global.multi_range_count +1 +SET @@global.multi_range_count = FALSE; +Warnings: +Warning 1292 Truncated incorrect multi_range_count value: '0' +SELECT @@global.multi_range_count; +@@global.multi_range_count +1 +'#---------------------FN_DYNVARS_090_09----------------------#' +SET @@global.multi_range_count = 10; +SELECT @@multi_range_count = @@global.multi_range_count; +@@multi_range_count = @@global.multi_range_count +0 +'#---------------------FN_DYNVARS_090_10----------------------#' +SET @@multi_range_count = 100; +SELECT @@multi_range_count = @@local.multi_range_count; +@@multi_range_count = @@local.multi_range_count +1 +SELECT @@local.multi_range_count = @@session.multi_range_count; +@@local.multi_range_count = @@session.multi_range_count +1 +'#---------------------FN_DYNVARS_090_11----------------------#' +SET multi_range_count = 1; +SELECT @@multi_range_count; +@@multi_range_count +1 +SELECT local.multi_range_count; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.multi_range_count; +ERROR 42S02: Unknown table 'session' in field list +SELECT multi_range_count = @@session.multi_range_count; +ERROR 42S22: Unknown column 'multi_range_count' in 'field list' +SET @@global.multi_range_count = @start_global_value; +SELECT @@global.multi_range_count; +@@global.multi_range_count +256 +SET @@session.multi_range_count = @start_session_value; +SELECT @@session.multi_range_count; +@@session.multi_range_count +256 diff --git a/mysql-test/r/multi_update_tiny_hash.result b/mysql-test/r/multi_update_tiny_hash.result new file mode 100644 index 00000000000..d8983123aac --- /dev/null +++ b/mysql-test/r/multi_update_tiny_hash.result @@ -0,0 +1,45 @@ +drop table if exists t1, t2; +# +# Bug #36676: multiupdate using LEFT JOIN updates only +# first row or fails with an error: +# ERROR 1022 (23000): Can't write; duplicate key in table '' +# + +# +# Multiupdate creates MyISAM temporary table without MEMORY table +# +CREATE TABLE t1 (ID INT); +CREATE TABLE t2 (ID INT, +s1 TEXT, s2 TEXT, s3 VARCHAR(10), s4 TEXT, s5 VARCHAR(10)); +INSERT INTO t1 VALUES (1),(2); +INSERT INTO t2 VALUES (1,'test', 'test', 'test', 'test', 'test'), +(2,'test', 'test', 'test', 'test', 'test'); +SELECT * FROM t1 LEFT JOIN t2 USING(ID); +ID s1 s2 s3 s4 s5 +1 test test test test test +2 test test test test test +UPDATE t1 LEFT JOIN t2 USING(ID) SET s1 = 'changed'; +UPDATE t1 JOIN t2 USING(ID) SET s2 = 'changed'; +UPDATE t1 LEFT JOIN t2 USING(ID) SET s3 = 'changed'; +UPDATE t1 LEFT JOIN t2 USING(ID) SET s4 = 'changed', s5 = 'changed'; +SELECT * FROM t1 LEFT JOIN t2 USING(ID); +ID s1 s2 s3 s4 s5 +1 changed changed changed changed changed +2 changed changed changed changed changed +DROP TABLE t1, t2; +# +# Multiupdate creates temporary MyISAM table from MEMORY table +# +CREATE TABLE t1 (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY); +CREATE TABLE t2 (id INT, s1 CHAR(255)); +INSERT INTO t1 VALUES (0), (0), (0), (0), (0), (0), (0), (0); +INSERT INTO t1 (SELECT 0 FROM t1); +INSERT INTO t1 (SELECT 0 FROM t1); +INSERT INTO t1 (SELECT 0 FROM t1); +INSERT INTO t2 (SELECT ID, 'a' FROM t1); +UPDATE t1 LEFT JOIN t2 USING(id) SET s1 = 'b'; +SELECT DISTINCT s1 FROM t1 LEFT JOIN t2 USING(id); +s1 +b +DROP TABLE t1, t2; +# End of 5.0 tests diff --git a/mysql-test/r/myisam.result b/mysql-test/r/myisam.result index 2a25f2db0e1..8d20490cbe9 100644 --- a/mysql-test/r/myisam.result +++ b/mysql-test/r/myisam.result @@ -1086,7 +1086,6 @@ set @a=repeat(' ',20); insert into t1 values (concat('+',@a),concat('+',@a),concat('+',@a)); Warnings: Note 1265 Data truncated for column 'v' at row 1 -Note 1265 Data truncated for column 'c' at row 1 select concat('*',v,'*',c,'*',t,'*') from t1; concat('*',v,'*',c,'*',t,'*') *+ *+*+ * diff --git a/mysql-test/r/myisam_data_pointer_size_basic.result b/mysql-test/r/myisam_data_pointer_size_basic.result new file mode 100644 index 00000000000..d2b0bebe029 --- /dev/null +++ b/mysql-test/r/myisam_data_pointer_size_basic.result @@ -0,0 +1,127 @@ +SET @start_global_value = @@global.myisam_data_pointer_size; +SELECT @start_global_value; +@start_global_value +6 +'#--------------------FN_DYNVARS_093_01-------------------------#' +SET @@global.myisam_data_pointer_size = 5; +SET @@global.myisam_data_pointer_size = DEFAULT; +SELECT @@global.myisam_data_pointer_size; +@@global.myisam_data_pointer_size +6 +'#--------------------FN_DYNVARS_093_02-------------------------#' +SET @@global.myisam_data_pointer_size = DEFAULT; +SELECT @@global.myisam_data_pointer_size = 6; +@@global.myisam_data_pointer_size = 6 +1 +'#--------------------FN_DYNVARS_093_03-------------------------#' +SET @@global.myisam_data_pointer_size = 2; +SELECT @@global.myisam_data_pointer_size; +@@global.myisam_data_pointer_size +2 +SET @@global.myisam_data_pointer_size = 3; +SELECT @@global.myisam_data_pointer_size; +@@global.myisam_data_pointer_size +3 +SET @@global.myisam_data_pointer_size = 4; +SELECT @@global.myisam_data_pointer_size; +@@global.myisam_data_pointer_size +4 +SET @@global.myisam_data_pointer_size = 5; +SELECT @@global.myisam_data_pointer_size; +@@global.myisam_data_pointer_size +5 +SET @@global.myisam_data_pointer_size = 6; +SELECT @@global.myisam_data_pointer_size; +@@global.myisam_data_pointer_size +6 +SET @@global.myisam_data_pointer_size = 7; +SELECT @@global.myisam_data_pointer_size; +@@global.myisam_data_pointer_size +7 +'#--------------------FN_DYNVARS_093_04-------------------------#' +SET @@myisam_data_pointer_size = 2; +ERROR HY000: Variable 'myisam_data_pointer_size' is a GLOBAL variable and should be set with SET GLOBAL +SET @@session.myisam_data_pointer_size = 3; +ERROR HY000: Variable 'myisam_data_pointer_size' is a GLOBAL variable and should be set with SET GLOBAL +SET @@local.myisam_data_pointer_size = 4; +ERROR HY000: Variable 'myisam_data_pointer_size' is a GLOBAL variable and should be set with SET GLOBAL +'#------------------FN_DYNVARS_093_05-----------------------#' +SET @@global.myisam_data_pointer_size = -1; +Warnings: +Warning 1292 Truncated incorrect myisam_data_pointer_size value: '0' +SELECT @@global.myisam_data_pointer_size; +@@global.myisam_data_pointer_size +2 +SET @@global.myisam_data_pointer_size = 8; +Warnings: +Warning 1292 Truncated incorrect myisam_data_pointer_size value: '8' +SELECT @@global.myisam_data_pointer_size; +@@global.myisam_data_pointer_size +7 +SET @@global.myisam_data_pointer_size = 1; +Warnings: +Warning 1292 Truncated incorrect myisam_data_pointer_size value: '1' +SELECT @@global.myisam_data_pointer_size; +@@global.myisam_data_pointer_size +2 +SET @@global.myisam_data_pointer_size = 4294967296; +Warnings: +Warning 1292 Truncated incorrect myisam_data_pointer_size value: '4294967296' +SELECT @@global.myisam_data_pointer_size; +@@global.myisam_data_pointer_size +7 +SET @@global.myisam_data_pointer_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.myisam_data_pointer_size; +@@global.myisam_data_pointer_size +7 +SET @@global.myisam_data_pointer_size = two; +ERROR 42000: Incorrect argument type to variable 'myisam_data_pointer_size' +SELECT @@global.myisam_data_pointer_size; +@@global.myisam_data_pointer_size +7 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +'#------------------FN_DYNVARS_093_06-----------------------#' +SET @@global.myisam_data_pointer_size = 3; +SELECT @@global.myisam_data_pointer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='myisam_data_pointer_size'; +@@global.myisam_data_pointer_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_093_07-----------------------#' +SELECT count(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='myisam_data_pointer_size'; +count(VARIABLE_VALUE) +1 +'#------------------FN_DYNVARS_093_08-----------------------#' +SET @@global.myisam_data_pointer_size = TRUE; +Warnings: +Warning 1292 Truncated incorrect myisam_data_pointer_size value: '1' +SELECT @@global.myisam_data_pointer_size; +@@global.myisam_data_pointer_size +2 +SET @@global.myisam_data_pointer_size = FALSE; +Warnings: +Warning 1292 Truncated incorrect myisam_data_pointer_size value: '0' +SELECT @@global.myisam_data_pointer_size; +@@global.myisam_data_pointer_size +2 +'#---------------------FN_DYNVARS_001_09----------------------#' +SET @@global.myisam_data_pointer_size = 5; +SELECT @@myisam_data_pointer_size = @@global.myisam_data_pointer_size; +@@myisam_data_pointer_size = @@global.myisam_data_pointer_size +1 +'#---------------------FN_DYNVARS_001_10----------------------#' +SET myisam_data_pointer_size = 7; +ERROR HY000: Variable 'myisam_data_pointer_size' is a GLOBAL variable and should be set with SET GLOBAL +SELECT myisam_data_pointer_size; +ERROR 42S22: Unknown column 'myisam_data_pointer_size' in 'field list' +SELECT @@myisam_data_pointer_size; +@@myisam_data_pointer_size +5 +SET global myisam_data_pointer_size = 2; +SET @@global.myisam_data_pointer_size = @start_global_value; +SELECT @@global.myisam_data_pointer_size; +@@global.myisam_data_pointer_size +6 diff --git a/mysql-test/r/myisam_data_pointer_size_func.result b/mysql-test/r/myisam_data_pointer_size_func.result new file mode 100644 index 00000000000..f32e25c7427 --- /dev/null +++ b/mysql-test/r/myisam_data_pointer_size_func.result @@ -0,0 +1,42 @@ +'#--------------------FN_DYNVARS_093_01-------------------------#' +SET @@global.myisam_data_pointer_size = 2; +'connect (con1,localhost,root,,,,)' +'connection con1' +SELECT @@global.myisam_data_pointer_size; +@@global.myisam_data_pointer_size +2 +SET @@global.myisam_data_pointer_size = 3; +'connect (con2,localhost,root,,,,)' +'connection con2' +SELECT @@global.myisam_data_pointer_size; +@@global.myisam_data_pointer_size +3 +'#--------------------FN_DYNVARS_093_02-------------------------#' +'connection con1' +DROP PROCEDURE IF EXISTS sp_addRec; +DROP TABLE IF EXISTS t1; +CREATE PROCEDURE sp_addRec(IN count INT) +BEGIN +WHILE (count>0) DO +INSERT INTO t1 value(1); +SET count = count -1; +END WHILE; +END // +SET @@global.myisam_data_pointer_size = 2; +CREATE TABLE t1(a INT); +CALL sp_addRec(65535); +CALL sp_addRec(1); +ERROR HY000: The table 't1' is full +SELECT count(*) from t1; +count(*) +65535 +'--Checking myisam_data_pointer_size with MAX_ROWS table option--' +SET @@global.myisam_data_pointer_size = 2; +DROP TABLE IF EXISTS t1; +CREATE TABLE t1(a INT)MAX_ROWS=70000; +CALL sp_addRec(65536); +SELECT count(*) from t1; +count(*) +65536 +DROP PROCEDURE sp_addRec; +DROP TABLE t1; diff --git a/mysql-test/r/myisam_max_sort_file_size_basic_32.result b/mysql-test/r/myisam_max_sort_file_size_basic_32.result new file mode 100644 index 00000000000..64d1168685c --- /dev/null +++ b/mysql-test/r/myisam_max_sort_file_size_basic_32.result @@ -0,0 +1,114 @@ +SET @start_global_value = @@global.myisam_max_sort_file_size; +SELECT @start_global_value; +@start_global_value +2147483647 +'#--------------------FN_DYNVARS_094_01-------------------------#' +SET @@global.myisam_max_sort_file_size = 500000; +SET @@global.myisam_max_sort_file_size = DEFAULT; +SELECT @@global.myisam_max_sort_file_size; +@@global.myisam_max_sort_file_size +2146435072 +'Bug# 34876: This variable has invalid default value as compared to documentation'; +'#--------------------FN_DYNVARS_094_02-------------------------#' +SET @@global.myisam_max_sort_file_size = DEFAULT; +SELECT @@global.myisam_max_sort_file_size = 2147483648; +@@global.myisam_max_sort_file_size = 2147483648 +0 +'#--------------------FN_DYNVARS_094_03-------------------------#' +SET @@global.myisam_max_sort_file_size = 0; +SELECT @@global.myisam_max_sort_file_size; +@@global.myisam_max_sort_file_size +0 +SET @@global.myisam_max_sort_file_size = 1024; +SELECT @@global.myisam_max_sort_file_size; +@@global.myisam_max_sort_file_size +0 +SET @@global.myisam_max_sort_file_size = 123456789; +SELECT @@global.myisam_max_sort_file_size; +@@global.myisam_max_sort_file_size +122683392 +SET @@global.myisam_max_sort_file_size = 2147483648*2; +SELECT @@global.myisam_max_sort_file_size; +@@global.myisam_max_sort_file_size +4294967296 +SET @@global.myisam_max_sort_file_size = 2147483648*1024; +SELECT @@global.myisam_max_sort_file_size; +@@global.myisam_max_sort_file_size +2199023255552 +SELECT @@global.myisam_max_sort_file_size; +@@global.myisam_max_sort_file_size +2199023255552 +SET @@global.myisam_max_sort_file_size = 2147483648*2147483648; +'#--------------------FN_DYNVARS_094_04-------------------------#' +SET @@myisam_max_sort_file_size = 2; +ERROR HY000: Variable 'myisam_max_sort_file_size' is a GLOBAL variable and should be set with SET GLOBAL +SET @@session.myisam_max_sort_file_size = 3; +ERROR HY000: Variable 'myisam_max_sort_file_size' is a GLOBAL variable and should be set with SET GLOBAL +SET @@local.myisam_max_sort_file_size = 4; +ERROR HY000: Variable 'myisam_max_sort_file_size' is a GLOBAL variable and should be set with SET GLOBAL +'#------------------FN_DYNVARS_094_05-----------------------#' +SET @@global.myisam_max_sort_file_size = -1; +SELECT @@global.myisam_max_sort_file_size; +@@global.myisam_max_sort_file_size +0 +SET @@global.myisam_max_sort_file_size = -2147483648; +SELECT @@global.myisam_max_sort_file_size; +@@global.myisam_max_sort_file_size +0 +SET @@global.myisam_max_sort_file_size = -2147483649; +SELECT @@global.myisam_max_sort_file_size; +@@global.myisam_max_sort_file_size +0 +SET @@global.myisam_max_sort_file_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.myisam_max_sort_file_size; +@@global.myisam_max_sort_file_size +0 +SET @@global.myisam_max_sort_file_size = 2147483649.56; +ERROR 42000: Incorrect argument type to variable 'myisam_max_sort_file_size' +SELECT @@global.myisam_max_sort_file_size; +@@global.myisam_max_sort_file_size +0 +SET @@global.myisam_max_sort_file_size = 1G; +ERROR 42000: Incorrect argument type to variable 'myisam_max_sort_file_size' +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +'#------------------FN_DYNVARS_094_06-----------------------#' +SET @@global.myisam_max_sort_file_size = 3000; +SELECT @@global.myisam_max_sort_file_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='myisam_max_sort_file_size'; +@@global.myisam_max_sort_file_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_094_07-----------------------#' +SELECT count(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='myisam_max_sort_file_size'; +count(VARIABLE_VALUE) +1 +'#------------------FN_DYNVARS_094_08-----------------------#' +SET @@global.myisam_max_sort_file_size = TRUE; +SELECT @@global.myisam_max_sort_file_size; +@@global.myisam_max_sort_file_size +0 +SET @@global.myisam_max_sort_file_size = FALSE; +SELECT @@global.myisam_max_sort_file_size; +@@global.myisam_max_sort_file_size +0 +'#---------------------FN_DYNVARS_001_09----------------------#' +SET @@global.myisam_max_sort_file_size = 512; +SELECT @@myisam_max_sort_file_size = @@global.myisam_max_sort_file_size; +@@myisam_max_sort_file_size = @@global.myisam_max_sort_file_size +1 +'#---------------------FN_DYNVARS_001_10----------------------#' +SET myisam_max_sort_file_size = 2048; +ERROR HY000: Variable 'myisam_max_sort_file_size' is a GLOBAL variable and should be set with SET GLOBAL +SELECT myisam_max_sort_file_size; +ERROR 42S22: Unknown column 'myisam_max_sort_file_size' in 'field list' +SELECT @@myisam_max_sort_file_size; +@@myisam_max_sort_file_size +0 +SET global myisam_max_sort_file_size = 64; +SET @@global.myisam_max_sort_file_size = @start_global_value; +SELECT @@global.myisam_max_sort_file_size; +@@global.myisam_max_sort_file_size +2146435072 diff --git a/mysql-test/r/myisam_max_sort_file_size_basic_64.result b/mysql-test/r/myisam_max_sort_file_size_basic_64.result new file mode 100644 index 00000000000..00ff1dfc1ab --- /dev/null +++ b/mysql-test/r/myisam_max_sort_file_size_basic_64.result @@ -0,0 +1,114 @@ +SET @start_global_value = @@global.myisam_max_sort_file_size; +SELECT @start_global_value; +@start_global_value +9223372036854775807 +'#--------------------FN_DYNVARS_094_01-------------------------#' +SET @@global.myisam_max_sort_file_size = 500000; +SET @@global.myisam_max_sort_file_size = DEFAULT; +SELECT @@global.myisam_max_sort_file_size; +@@global.myisam_max_sort_file_size +9223372036853727232 +'Bug# 34876: This variable has invalid default value as compared to documentation'; +'#--------------------FN_DYNVARS_094_02-------------------------#' +SET @@global.myisam_max_sort_file_size = DEFAULT; +SELECT @@global.myisam_max_sort_file_size = 2147483648; +@@global.myisam_max_sort_file_size = 2147483648 +0 +'#--------------------FN_DYNVARS_094_03-------------------------#' +SET @@global.myisam_max_sort_file_size = 0; +SELECT @@global.myisam_max_sort_file_size; +@@global.myisam_max_sort_file_size +0 +SET @@global.myisam_max_sort_file_size = 1024; +SELECT @@global.myisam_max_sort_file_size; +@@global.myisam_max_sort_file_size +0 +SET @@global.myisam_max_sort_file_size = 123456789; +SELECT @@global.myisam_max_sort_file_size; +@@global.myisam_max_sort_file_size +122683392 +SET @@global.myisam_max_sort_file_size = 2147483648*2; +SELECT @@global.myisam_max_sort_file_size; +@@global.myisam_max_sort_file_size +4294967296 +SET @@global.myisam_max_sort_file_size = 2147483648*1024; +SELECT @@global.myisam_max_sort_file_size; +@@global.myisam_max_sort_file_size +2199023255552 +SELECT @@global.myisam_max_sort_file_size; +@@global.myisam_max_sort_file_size +2199023255552 +SET @@global.myisam_max_sort_file_size = 2147483648*2147483648; +'#--------------------FN_DYNVARS_094_04-------------------------#' +SET @@myisam_max_sort_file_size = 2; +ERROR HY000: Variable 'myisam_max_sort_file_size' is a GLOBAL variable and should be set with SET GLOBAL +SET @@session.myisam_max_sort_file_size = 3; +ERROR HY000: Variable 'myisam_max_sort_file_size' is a GLOBAL variable and should be set with SET GLOBAL +SET @@local.myisam_max_sort_file_size = 4; +ERROR HY000: Variable 'myisam_max_sort_file_size' is a GLOBAL variable and should be set with SET GLOBAL +'#------------------FN_DYNVARS_094_05-----------------------#' +SET @@global.myisam_max_sort_file_size = -1; +SELECT @@global.myisam_max_sort_file_size; +@@global.myisam_max_sort_file_size +0 +SET @@global.myisam_max_sort_file_size = -2147483648; +SELECT @@global.myisam_max_sort_file_size; +@@global.myisam_max_sort_file_size +0 +SET @@global.myisam_max_sort_file_size = -2147483649; +SELECT @@global.myisam_max_sort_file_size; +@@global.myisam_max_sort_file_size +0 +SET @@global.myisam_max_sort_file_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.myisam_max_sort_file_size; +@@global.myisam_max_sort_file_size +0 +SET @@global.myisam_max_sort_file_size = 2147483649.56; +ERROR 42000: Incorrect argument type to variable 'myisam_max_sort_file_size' +SELECT @@global.myisam_max_sort_file_size; +@@global.myisam_max_sort_file_size +0 +SET @@global.myisam_max_sort_file_size = 1G; +ERROR 42000: Incorrect argument type to variable 'myisam_max_sort_file_size' +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +'#------------------FN_DYNVARS_094_06-----------------------#' +SET @@global.myisam_max_sort_file_size = 3000; +SELECT @@global.myisam_max_sort_file_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='myisam_max_sort_file_size'; +@@global.myisam_max_sort_file_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_094_07-----------------------#' +SELECT count(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='myisam_max_sort_file_size'; +count(VARIABLE_VALUE) +1 +'#------------------FN_DYNVARS_094_08-----------------------#' +SET @@global.myisam_max_sort_file_size = TRUE; +SELECT @@global.myisam_max_sort_file_size; +@@global.myisam_max_sort_file_size +0 +SET @@global.myisam_max_sort_file_size = FALSE; +SELECT @@global.myisam_max_sort_file_size; +@@global.myisam_max_sort_file_size +0 +'#---------------------FN_DYNVARS_001_09----------------------#' +SET @@global.myisam_max_sort_file_size = 512; +SELECT @@myisam_max_sort_file_size = @@global.myisam_max_sort_file_size; +@@myisam_max_sort_file_size = @@global.myisam_max_sort_file_size +1 +'#---------------------FN_DYNVARS_001_10----------------------#' +SET myisam_max_sort_file_size = 2048; +ERROR HY000: Variable 'myisam_max_sort_file_size' is a GLOBAL variable and should be set with SET GLOBAL +SELECT myisam_max_sort_file_size; +ERROR 42S22: Unknown column 'myisam_max_sort_file_size' in 'field list' +SELECT @@myisam_max_sort_file_size; +@@myisam_max_sort_file_size +0 +SET global myisam_max_sort_file_size = 64; +SET @@global.myisam_max_sort_file_size = @start_global_value; +SELECT @@global.myisam_max_sort_file_size; +@@global.myisam_max_sort_file_size +9223372036853727232 diff --git a/mysql-test/r/myisam_repair_threads_basic_32.result b/mysql-test/r/myisam_repair_threads_basic_32.result new file mode 100644 index 00000000000..c91128e3f4c --- /dev/null +++ b/mysql-test/r/myisam_repair_threads_basic_32.result @@ -0,0 +1,180 @@ +SET @start_global_value = @@global.myisam_repair_threads; +SELECT @start_global_value; +@start_global_value +1 +SET @start_session_value = @@session.myisam_repair_threads; +SELECT @start_session_value; +@start_session_value +1 +'#--------------------FN_DYNVARS_005_01-------------------------#' +SET @@global.myisam_repair_threads = 100; +SET @@global.myisam_repair_threads = DEFAULT; +SELECT @@global.myisam_repair_threads ; +@@global.myisam_repair_threads +1 +SET @@session.myisam_repair_threads = 200; +SET @@session.myisam_repair_threads = DEFAULT; +SELECT @@session.myisam_repair_threads ; +@@session.myisam_repair_threads +1 +'#--------------------FN_DYNVARS_005_02-------------------------#' +SET @@global.myisam_repair_threads = DEFAULT; +SELECT @@global.myisam_repair_threads = 1; +@@global.myisam_repair_threads = 1 +1 +SET @@session.myisam_repair_threads = DEFAULT; +SELECT @@session.myisam_repair_threads = 1; +@@session.myisam_repair_threads = 1 +1 +'#--------------------FN_DYNVARS_005_03-------------------------#' +SET @@global.myisam_repair_threads = 1; +SELECT @@global.myisam_repair_threads ; +@@global.myisam_repair_threads +1 +SET @@global.myisam_repair_threads = 4294967295; +SELECT @@global.myisam_repair_threads ; +@@global.myisam_repair_threads +4294967295 +SET @@global.myisam_repair_threads = 655354; +SELECT @@global.myisam_repair_threads ; +@@global.myisam_repair_threads +655354 +'#--------------------FN_DYNVARS_005_04-------------------------#' +SET @@session.myisam_repair_threads = 1; +SELECT @@session.myisam_repair_threads ; +@@session.myisam_repair_threads +1 +SET @@session.myisam_repair_threads = 4294967295; +SELECT @@session.myisam_repair_threads ; +@@session.myisam_repair_threads +4294967295 +SET @@session.myisam_repair_threads = 655345; +SELECT @@session.myisam_repair_threads ; +@@session.myisam_repair_threads +655345 +'#------------------FN_DYNVARS_005_05-----------------------#' +SET @@global.myisam_repair_threads = 0; +Warnings: +Warning 1292 Truncated incorrect myisam_repair_threads value: '0' +SELECT @@global.myisam_repair_threads ; +@@global.myisam_repair_threads +1 +SET @@global.myisam_repair_threads = -1024; +Warnings: +Warning 1292 Truncated incorrect myisam_repair_threads value: '0' +SELECT @@global.myisam_repair_threads ; +@@global.myisam_repair_threads +1 +SET @@global.myisam_repair_threads = 429496729533; +Warnings: +Warning 1292 Truncated incorrect myisam_repair_threads value: '429496729533' +SELECT @@global.myisam_repair_threads ; +@@global.myisam_repair_threads +4294967295 +SET @@global.myisam_repair_threads = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.myisam_repair_threads ; +@@global.myisam_repair_threads +4294967295 +SET @@global.myisam_repair_threads = test; +ERROR 42000: Incorrect argument type to variable 'myisam_repair_threads' +SELECT @@global.myisam_repair_threads ; +@@global.myisam_repair_threads +4294967295 +SET @@global.myisam_repair_threads = "test"; +ERROR 42000: Incorrect argument type to variable 'myisam_repair_threads' +SELECT @@global.myisam_repair_threads ; +@@global.myisam_repair_threads +4294967295 +SET @@global.myisam_repair_threads = 'test'; +ERROR 42000: Incorrect argument type to variable 'myisam_repair_threads' +SELECT @@global.myisam_repair_threads ; +@@global.myisam_repair_threads +4294967295 +SET @@global.myisam_repair_threads = ON; +ERROR 42000: Incorrect argument type to variable 'myisam_repair_threads' +SELECT @@global.myisam_repair_threads ; +@@global.myisam_repair_threads +4294967295 +SET @@session.myisam_repair_threads = 0; +Warnings: +Warning 1292 Truncated incorrect myisam_repair_threads value: '0' +SELECT @@session.myisam_repair_threads ; +@@session.myisam_repair_threads +1 +SET @@session.myisam_repair_threads = -2; +Warnings: +Warning 1292 Truncated incorrect myisam_repair_threads value: '0' +SELECT @@session.myisam_repair_threads ; +@@session.myisam_repair_threads +1 +SET @@session.myisam_repair_threads = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@session.myisam_repair_threads ; +@@session.myisam_repair_threads +1 +SET @@session.myisam_repair_threads = test; +ERROR 42000: Incorrect argument type to variable 'myisam_repair_threads' +SELECT @@session.myisam_repair_threads ; +@@session.myisam_repair_threads +1 +SET @@session.myisam_repair_threads = "test"; +ERROR 42000: Incorrect argument type to variable 'myisam_repair_threads' +SELECT @@session.myisam_repair_threads ; +@@session.myisam_repair_threads +1 +'#------------------FN_DYNVARS_005_06-----------------------#' +SELECT @@global.myisam_repair_threads = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='myisam_repair_threads '; +@@global.myisam_repair_threads = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_005_07-----------------------#' +SELECT @@session.myisam_repair_threads = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='myisam_repair_threads '; +@@session.myisam_repair_threads = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_005_08-----------------------#' +SET @@global.myisam_repair_threads = TRUE; +SELECT @@global.myisam_repair_threads ; +@@global.myisam_repair_threads +1 +SET @@global.myisam_repair_threads = FALSE; +Warnings: +Warning 1292 Truncated incorrect myisam_repair_threads value: '0' +SELECT @@global.myisam_repair_threads ; +@@global.myisam_repair_threads +1 +'#---------------------FN_DYNVARS_001_09----------------------#' +SET @@global.myisam_repair_threads = 10; +SELECT @@myisam_repair_threads = @@global.myisam_repair_threads ; +@@myisam_repair_threads = @@global.myisam_repair_threads +0 +'#---------------------FN_DYNVARS_001_10----------------------#' +SET @@myisam_repair_threads = 100; +SELECT @@myisam_repair_threads = @@local.myisam_repair_threads ; +@@myisam_repair_threads = @@local.myisam_repair_threads +1 +SELECT @@local.myisam_repair_threads = @@session.myisam_repair_threads ; +@@local.myisam_repair_threads = @@session.myisam_repair_threads +1 +'#---------------------FN_DYNVARS_001_11----------------------#' +SET myisam_repair_threads = 1; +SELECT @@myisam_repair_threads ; +@@myisam_repair_threads +1 +SELECT local.myisam_repair_threads ; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.myisam_repair_threads ; +ERROR 42S02: Unknown table 'session' in field list +SELECT myisam_repair_threads = @@session.myisam_repair_threads ; +ERROR 42S22: Unknown column 'myisam_repair_threads' in 'field list' +SET @@global.myisam_repair_threads = @start_global_value; +SELECT @@global.myisam_repair_threads ; +@@global.myisam_repair_threads +1 +SET @@session.myisam_repair_threads = @start_session_value; +SELECT @@session.myisam_repair_threads ; +@@session.myisam_repair_threads +1 diff --git a/mysql-test/r/myisam_repair_threads_basic_64.result b/mysql-test/r/myisam_repair_threads_basic_64.result new file mode 100644 index 00000000000..8271451cc9e --- /dev/null +++ b/mysql-test/r/myisam_repair_threads_basic_64.result @@ -0,0 +1,178 @@ +SET @start_global_value = @@global.myisam_repair_threads; +SELECT @start_global_value; +@start_global_value +1 +SET @start_session_value = @@session.myisam_repair_threads; +SELECT @start_session_value; +@start_session_value +1 +'#--------------------FN_DYNVARS_005_01-------------------------#' +SET @@global.myisam_repair_threads = 100; +SET @@global.myisam_repair_threads = DEFAULT; +SELECT @@global.myisam_repair_threads ; +@@global.myisam_repair_threads +1 +SET @@session.myisam_repair_threads = 200; +SET @@session.myisam_repair_threads = DEFAULT; +SELECT @@session.myisam_repair_threads ; +@@session.myisam_repair_threads +1 +'#--------------------FN_DYNVARS_005_02-------------------------#' +SET @@global.myisam_repair_threads = DEFAULT; +SELECT @@global.myisam_repair_threads = 1; +@@global.myisam_repair_threads = 1 +1 +SET @@session.myisam_repair_threads = DEFAULT; +SELECT @@session.myisam_repair_threads = 1; +@@session.myisam_repair_threads = 1 +1 +'#--------------------FN_DYNVARS_005_03-------------------------#' +SET @@global.myisam_repair_threads = 1; +SELECT @@global.myisam_repair_threads ; +@@global.myisam_repair_threads +1 +SET @@global.myisam_repair_threads = 4294967295; +SELECT @@global.myisam_repair_threads ; +@@global.myisam_repair_threads +4294967295 +SET @@global.myisam_repair_threads = 655354; +SELECT @@global.myisam_repair_threads ; +@@global.myisam_repair_threads +655354 +'#--------------------FN_DYNVARS_005_04-------------------------#' +SET @@session.myisam_repair_threads = 1; +SELECT @@session.myisam_repair_threads ; +@@session.myisam_repair_threads +1 +SET @@session.myisam_repair_threads = 4294967295; +SELECT @@session.myisam_repair_threads ; +@@session.myisam_repair_threads +4294967295 +SET @@session.myisam_repair_threads = 655345; +SELECT @@session.myisam_repair_threads ; +@@session.myisam_repair_threads +655345 +'#------------------FN_DYNVARS_005_05-----------------------#' +SET @@global.myisam_repair_threads = 0; +Warnings: +Warning 1292 Truncated incorrect myisam_repair_threads value: '0' +SELECT @@global.myisam_repair_threads ; +@@global.myisam_repair_threads +1 +SET @@global.myisam_repair_threads = -1024; +Warnings: +Warning 1292 Truncated incorrect myisam_repair_threads value: '0' +SELECT @@global.myisam_repair_threads ; +@@global.myisam_repair_threads +1 +SET @@global.myisam_repair_threads = 429496729533; +SELECT @@global.myisam_repair_threads ; +@@global.myisam_repair_threads +429496729533 +SET @@global.myisam_repair_threads = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.myisam_repair_threads ; +@@global.myisam_repair_threads +429496729533 +SET @@global.myisam_repair_threads = test; +ERROR 42000: Incorrect argument type to variable 'myisam_repair_threads' +SELECT @@global.myisam_repair_threads ; +@@global.myisam_repair_threads +429496729533 +SET @@global.myisam_repair_threads = "test"; +ERROR 42000: Incorrect argument type to variable 'myisam_repair_threads' +SELECT @@global.myisam_repair_threads ; +@@global.myisam_repair_threads +429496729533 +SET @@global.myisam_repair_threads = 'test'; +ERROR 42000: Incorrect argument type to variable 'myisam_repair_threads' +SELECT @@global.myisam_repair_threads ; +@@global.myisam_repair_threads +429496729533 +SET @@global.myisam_repair_threads = ON; +ERROR 42000: Incorrect argument type to variable 'myisam_repair_threads' +SELECT @@global.myisam_repair_threads ; +@@global.myisam_repair_threads +429496729533 +SET @@session.myisam_repair_threads = 0; +Warnings: +Warning 1292 Truncated incorrect myisam_repair_threads value: '0' +SELECT @@session.myisam_repair_threads ; +@@session.myisam_repair_threads +1 +SET @@session.myisam_repair_threads = -2; +Warnings: +Warning 1292 Truncated incorrect myisam_repair_threads value: '0' +SELECT @@session.myisam_repair_threads ; +@@session.myisam_repair_threads +1 +SET @@session.myisam_repair_threads = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@session.myisam_repair_threads ; +@@session.myisam_repair_threads +1 +SET @@session.myisam_repair_threads = test; +ERROR 42000: Incorrect argument type to variable 'myisam_repair_threads' +SELECT @@session.myisam_repair_threads ; +@@session.myisam_repair_threads +1 +SET @@session.myisam_repair_threads = "test"; +ERROR 42000: Incorrect argument type to variable 'myisam_repair_threads' +SELECT @@session.myisam_repair_threads ; +@@session.myisam_repair_threads +1 +'#------------------FN_DYNVARS_005_06-----------------------#' +SELECT @@global.myisam_repair_threads = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='myisam_repair_threads '; +@@global.myisam_repair_threads = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_005_07-----------------------#' +SELECT @@session.myisam_repair_threads = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='myisam_repair_threads '; +@@session.myisam_repair_threads = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_005_08-----------------------#' +SET @@global.myisam_repair_threads = TRUE; +SELECT @@global.myisam_repair_threads ; +@@global.myisam_repair_threads +1 +SET @@global.myisam_repair_threads = FALSE; +Warnings: +Warning 1292 Truncated incorrect myisam_repair_threads value: '0' +SELECT @@global.myisam_repair_threads ; +@@global.myisam_repair_threads +1 +'#---------------------FN_DYNVARS_001_09----------------------#' +SET @@global.myisam_repair_threads = 10; +SELECT @@myisam_repair_threads = @@global.myisam_repair_threads ; +@@myisam_repair_threads = @@global.myisam_repair_threads +0 +'#---------------------FN_DYNVARS_001_10----------------------#' +SET @@myisam_repair_threads = 100; +SELECT @@myisam_repair_threads = @@local.myisam_repair_threads ; +@@myisam_repair_threads = @@local.myisam_repair_threads +1 +SELECT @@local.myisam_repair_threads = @@session.myisam_repair_threads ; +@@local.myisam_repair_threads = @@session.myisam_repair_threads +1 +'#---------------------FN_DYNVARS_001_11----------------------#' +SET myisam_repair_threads = 1; +SELECT @@myisam_repair_threads ; +@@myisam_repair_threads +1 +SELECT local.myisam_repair_threads ; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.myisam_repair_threads ; +ERROR 42S02: Unknown table 'session' in field list +SELECT myisam_repair_threads = @@session.myisam_repair_threads ; +ERROR 42S22: Unknown column 'myisam_repair_threads' in 'field list' +SET @@global.myisam_repair_threads = @start_global_value; +SELECT @@global.myisam_repair_threads ; +@@global.myisam_repair_threads +1 +SET @@session.myisam_repair_threads = @start_session_value; +SELECT @@session.myisam_repair_threads ; +@@session.myisam_repair_threads +1 diff --git a/mysql-test/r/myisam_sort_buffer_size_basic.result b/mysql-test/r/myisam_sort_buffer_size_basic.result new file mode 100644 index 00000000000..74d2fb3ec86 --- /dev/null +++ b/mysql-test/r/myisam_sort_buffer_size_basic.result @@ -0,0 +1,184 @@ +SET @start_global_value = @@global.myisam_sort_buffer_size ; +SELECT @start_global_value; +@start_global_value +8388608 +SET @start_session_value = @@session.myisam_sort_buffer_size ; +SELECT @start_session_value; +@start_session_value +8388608 +'#--------------------FN_DYNVARS_005_01-------------------------#' +SET @@global.myisam_sort_buffer_size = 100; +SET @@global.myisam_sort_buffer_size = DEFAULT; +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +8388608 +SET @@session.myisam_sort_buffer_size = 200; +SET @@session.myisam_sort_buffer_size = DEFAULT; +SELECT @@session.myisam_sort_buffer_size ; +@@session.myisam_sort_buffer_size +8388608 +'#--------------------FN_DYNVARS_005_02-------------------------#' +SET @@global.myisam_sort_buffer_size = DEFAULT; +SELECT @@global.myisam_sort_buffer_size = 8388608; +@@global.myisam_sort_buffer_size = 8388608 +1 +SET @@session.myisam_sort_buffer_size = DEFAULT; +SELECT @@session.myisam_sort_buffer_size = 8388608; +@@session.myisam_sort_buffer_size = 8388608 +1 +'#--------------------FN_DYNVARS_005_03-------------------------#' +SET @@global.myisam_sort_buffer_size = 4; +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +4 +SET @@global.myisam_sort_buffer_size = 4294967295; +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +4294967295 +SET @@global.myisam_sort_buffer_size = 655354; +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +655354 +'#--------------------FN_DYNVARS_005_04-------------------------#' +SET @@session.myisam_sort_buffer_size = 4; +SELECT @@session.myisam_sort_buffer_size ; +@@session.myisam_sort_buffer_size +4 +SET @@session.myisam_sort_buffer_size = 4294967295; +SELECT @@session.myisam_sort_buffer_size ; +@@session.myisam_sort_buffer_size +4294967295 +SET @@session.myisam_sort_buffer_size = 655345; +SELECT @@session.myisam_sort_buffer_size ; +@@session.myisam_sort_buffer_size +655345 +'#------------------FN_DYNVARS_005_05-----------------------#' +SET @@global.myisam_sort_buffer_size = 0; +Warnings: +Warning 1292 Truncated incorrect myisam_sort_buffer_size value: '0' +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +4 +SET @@global.myisam_sort_buffer_size = -1024; +Warnings: +Warning 1292 Truncated incorrect myisam_sort_buffer_size value: '0' +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +4 +SET @@global.myisam_sort_buffer_size = 429496729533; +Warnings: +Warning 1292 Truncated incorrect myisam_sort_buffer_size value: '429496729533' +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +4294967295 +SET @@global.myisam_sort_buffer_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +4294967295 +SET @@global.myisam_sort_buffer_size = test; +ERROR 42000: Incorrect argument type to variable 'myisam_sort_buffer_size' +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +4294967295 +SET @@global.myisam_sort_buffer_size = "test"; +ERROR 42000: Incorrect argument type to variable 'myisam_sort_buffer_size' +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +4294967295 +SET @@global.myisam_sort_buffer_size = 'test'; +ERROR 42000: Incorrect argument type to variable 'myisam_sort_buffer_size' +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +4294967295 +SET @@global.myisam_sort_buffer_size = ON; +ERROR 42000: Incorrect argument type to variable 'myisam_sort_buffer_size' +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +4294967295 +SET @@session.myisam_sort_buffer_size = 0; +Warnings: +Warning 1292 Truncated incorrect myisam_sort_buffer_size value: '0' +SELECT @@session.myisam_sort_buffer_size ; +@@session.myisam_sort_buffer_size +4 +SET @@session.myisam_sort_buffer_size = -2; +Warnings: +Warning 1292 Truncated incorrect myisam_sort_buffer_size value: '0' +SELECT @@session.myisam_sort_buffer_size ; +@@session.myisam_sort_buffer_size +4 +SET @@session.myisam_sort_buffer_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@session.myisam_sort_buffer_size ; +@@session.myisam_sort_buffer_size +4 +SET @@session.myisam_sort_buffer_size = test; +ERROR 42000: Incorrect argument type to variable 'myisam_sort_buffer_size' +SELECT @@session.myisam_sort_buffer_size ; +@@session.myisam_sort_buffer_size +4 +SET @@session.myisam_sort_buffer_size = "test"; +ERROR 42000: Incorrect argument type to variable 'myisam_sort_buffer_size' +SELECT @@session.myisam_sort_buffer_size ; +@@session.myisam_sort_buffer_size +4 +'#------------------FN_DYNVARS_005_06-----------------------#' +SELECT @@global.myisam_sort_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='myisam_sort_buffer_size '; +@@global.myisam_sort_buffer_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_005_07-----------------------#' +SELECT @@session.myisam_sort_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='myisam_sort_buffer_size '; +@@session.myisam_sort_buffer_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_005_08-----------------------#' +SET @@global.myisam_sort_buffer_size = TRUE; +Warnings: +Warning 1292 Truncated incorrect myisam_sort_buffer_size value: '1' +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +4 +SET @@global.myisam_sort_buffer_size = FALSE; +Warnings: +Warning 1292 Truncated incorrect myisam_sort_buffer_size value: '0' +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +4 +'#---------------------FN_DYNVARS_001_09----------------------#' +SET @@global.myisam_sort_buffer_size = 10; +SELECT @@myisam_sort_buffer_size = @@global.myisam_sort_buffer_size ; +@@myisam_sort_buffer_size = @@global.myisam_sort_buffer_size +0 +'#---------------------FN_DYNVARS_001_10----------------------#' +SET @@myisam_sort_buffer_size = 100; +SELECT @@myisam_sort_buffer_size = @@local.myisam_sort_buffer_size ; +@@myisam_sort_buffer_size = @@local.myisam_sort_buffer_size +1 +SELECT @@local.myisam_sort_buffer_size = @@session.myisam_sort_buffer_size ; +@@local.myisam_sort_buffer_size = @@session.myisam_sort_buffer_size +1 +'#---------------------FN_DYNVARS_001_11----------------------#' +SET myisam_sort_buffer_size = 1; +Warnings: +Warning 1292 Truncated incorrect myisam_sort_buffer_size value: '1' +SELECT @@myisam_sort_buffer_size ; +@@myisam_sort_buffer_size +4 +SELECT local.myisam_sort_buffer_size ; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.myisam_sort_buffer_size ; +ERROR 42S02: Unknown table 'session' in field list +SELECT myisam_sort_buffer_size = @@session.myisam_sort_buffer_size ; +ERROR 42S22: Unknown column 'myisam_sort_buffer_size' in 'field list' +SET @@global.myisam_sort_buffer_size = @start_global_value; +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +8388608 +SET @@session.myisam_sort_buffer_size = @start_session_value; +SELECT @@session.myisam_sort_buffer_size ; +@@session.myisam_sort_buffer_size +8388608 diff --git a/mysql-test/r/myisam_sort_buffer_size_basic_32.result b/mysql-test/r/myisam_sort_buffer_size_basic_32.result new file mode 100644 index 00000000000..74d2fb3ec86 --- /dev/null +++ b/mysql-test/r/myisam_sort_buffer_size_basic_32.result @@ -0,0 +1,184 @@ +SET @start_global_value = @@global.myisam_sort_buffer_size ; +SELECT @start_global_value; +@start_global_value +8388608 +SET @start_session_value = @@session.myisam_sort_buffer_size ; +SELECT @start_session_value; +@start_session_value +8388608 +'#--------------------FN_DYNVARS_005_01-------------------------#' +SET @@global.myisam_sort_buffer_size = 100; +SET @@global.myisam_sort_buffer_size = DEFAULT; +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +8388608 +SET @@session.myisam_sort_buffer_size = 200; +SET @@session.myisam_sort_buffer_size = DEFAULT; +SELECT @@session.myisam_sort_buffer_size ; +@@session.myisam_sort_buffer_size +8388608 +'#--------------------FN_DYNVARS_005_02-------------------------#' +SET @@global.myisam_sort_buffer_size = DEFAULT; +SELECT @@global.myisam_sort_buffer_size = 8388608; +@@global.myisam_sort_buffer_size = 8388608 +1 +SET @@session.myisam_sort_buffer_size = DEFAULT; +SELECT @@session.myisam_sort_buffer_size = 8388608; +@@session.myisam_sort_buffer_size = 8388608 +1 +'#--------------------FN_DYNVARS_005_03-------------------------#' +SET @@global.myisam_sort_buffer_size = 4; +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +4 +SET @@global.myisam_sort_buffer_size = 4294967295; +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +4294967295 +SET @@global.myisam_sort_buffer_size = 655354; +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +655354 +'#--------------------FN_DYNVARS_005_04-------------------------#' +SET @@session.myisam_sort_buffer_size = 4; +SELECT @@session.myisam_sort_buffer_size ; +@@session.myisam_sort_buffer_size +4 +SET @@session.myisam_sort_buffer_size = 4294967295; +SELECT @@session.myisam_sort_buffer_size ; +@@session.myisam_sort_buffer_size +4294967295 +SET @@session.myisam_sort_buffer_size = 655345; +SELECT @@session.myisam_sort_buffer_size ; +@@session.myisam_sort_buffer_size +655345 +'#------------------FN_DYNVARS_005_05-----------------------#' +SET @@global.myisam_sort_buffer_size = 0; +Warnings: +Warning 1292 Truncated incorrect myisam_sort_buffer_size value: '0' +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +4 +SET @@global.myisam_sort_buffer_size = -1024; +Warnings: +Warning 1292 Truncated incorrect myisam_sort_buffer_size value: '0' +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +4 +SET @@global.myisam_sort_buffer_size = 429496729533; +Warnings: +Warning 1292 Truncated incorrect myisam_sort_buffer_size value: '429496729533' +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +4294967295 +SET @@global.myisam_sort_buffer_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +4294967295 +SET @@global.myisam_sort_buffer_size = test; +ERROR 42000: Incorrect argument type to variable 'myisam_sort_buffer_size' +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +4294967295 +SET @@global.myisam_sort_buffer_size = "test"; +ERROR 42000: Incorrect argument type to variable 'myisam_sort_buffer_size' +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +4294967295 +SET @@global.myisam_sort_buffer_size = 'test'; +ERROR 42000: Incorrect argument type to variable 'myisam_sort_buffer_size' +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +4294967295 +SET @@global.myisam_sort_buffer_size = ON; +ERROR 42000: Incorrect argument type to variable 'myisam_sort_buffer_size' +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +4294967295 +SET @@session.myisam_sort_buffer_size = 0; +Warnings: +Warning 1292 Truncated incorrect myisam_sort_buffer_size value: '0' +SELECT @@session.myisam_sort_buffer_size ; +@@session.myisam_sort_buffer_size +4 +SET @@session.myisam_sort_buffer_size = -2; +Warnings: +Warning 1292 Truncated incorrect myisam_sort_buffer_size value: '0' +SELECT @@session.myisam_sort_buffer_size ; +@@session.myisam_sort_buffer_size +4 +SET @@session.myisam_sort_buffer_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@session.myisam_sort_buffer_size ; +@@session.myisam_sort_buffer_size +4 +SET @@session.myisam_sort_buffer_size = test; +ERROR 42000: Incorrect argument type to variable 'myisam_sort_buffer_size' +SELECT @@session.myisam_sort_buffer_size ; +@@session.myisam_sort_buffer_size +4 +SET @@session.myisam_sort_buffer_size = "test"; +ERROR 42000: Incorrect argument type to variable 'myisam_sort_buffer_size' +SELECT @@session.myisam_sort_buffer_size ; +@@session.myisam_sort_buffer_size +4 +'#------------------FN_DYNVARS_005_06-----------------------#' +SELECT @@global.myisam_sort_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='myisam_sort_buffer_size '; +@@global.myisam_sort_buffer_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_005_07-----------------------#' +SELECT @@session.myisam_sort_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='myisam_sort_buffer_size '; +@@session.myisam_sort_buffer_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_005_08-----------------------#' +SET @@global.myisam_sort_buffer_size = TRUE; +Warnings: +Warning 1292 Truncated incorrect myisam_sort_buffer_size value: '1' +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +4 +SET @@global.myisam_sort_buffer_size = FALSE; +Warnings: +Warning 1292 Truncated incorrect myisam_sort_buffer_size value: '0' +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +4 +'#---------------------FN_DYNVARS_001_09----------------------#' +SET @@global.myisam_sort_buffer_size = 10; +SELECT @@myisam_sort_buffer_size = @@global.myisam_sort_buffer_size ; +@@myisam_sort_buffer_size = @@global.myisam_sort_buffer_size +0 +'#---------------------FN_DYNVARS_001_10----------------------#' +SET @@myisam_sort_buffer_size = 100; +SELECT @@myisam_sort_buffer_size = @@local.myisam_sort_buffer_size ; +@@myisam_sort_buffer_size = @@local.myisam_sort_buffer_size +1 +SELECT @@local.myisam_sort_buffer_size = @@session.myisam_sort_buffer_size ; +@@local.myisam_sort_buffer_size = @@session.myisam_sort_buffer_size +1 +'#---------------------FN_DYNVARS_001_11----------------------#' +SET myisam_sort_buffer_size = 1; +Warnings: +Warning 1292 Truncated incorrect myisam_sort_buffer_size value: '1' +SELECT @@myisam_sort_buffer_size ; +@@myisam_sort_buffer_size +4 +SELECT local.myisam_sort_buffer_size ; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.myisam_sort_buffer_size ; +ERROR 42S02: Unknown table 'session' in field list +SELECT myisam_sort_buffer_size = @@session.myisam_sort_buffer_size ; +ERROR 42S22: Unknown column 'myisam_sort_buffer_size' in 'field list' +SET @@global.myisam_sort_buffer_size = @start_global_value; +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +8388608 +SET @@session.myisam_sort_buffer_size = @start_session_value; +SELECT @@session.myisam_sort_buffer_size ; +@@session.myisam_sort_buffer_size +8388608 diff --git a/mysql-test/r/myisam_sort_buffer_size_basic_64.result b/mysql-test/r/myisam_sort_buffer_size_basic_64.result new file mode 100644 index 00000000000..bfcada76a46 --- /dev/null +++ b/mysql-test/r/myisam_sort_buffer_size_basic_64.result @@ -0,0 +1,182 @@ +SET @start_global_value = @@global.myisam_sort_buffer_size ; +SELECT @start_global_value; +@start_global_value +8388608 +SET @start_session_value = @@session.myisam_sort_buffer_size ; +SELECT @start_session_value; +@start_session_value +8388608 +'#--------------------FN_DYNVARS_005_01-------------------------#' +SET @@global.myisam_sort_buffer_size = 100; +SET @@global.myisam_sort_buffer_size = DEFAULT; +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +8388608 +SET @@session.myisam_sort_buffer_size = 200; +SET @@session.myisam_sort_buffer_size = DEFAULT; +SELECT @@session.myisam_sort_buffer_size ; +@@session.myisam_sort_buffer_size +8388608 +'#--------------------FN_DYNVARS_005_02-------------------------#' +SET @@global.myisam_sort_buffer_size = DEFAULT; +SELECT @@global.myisam_sort_buffer_size = 8388608; +@@global.myisam_sort_buffer_size = 8388608 +1 +SET @@session.myisam_sort_buffer_size = DEFAULT; +SELECT @@session.myisam_sort_buffer_size = 8388608; +@@session.myisam_sort_buffer_size = 8388608 +1 +'#--------------------FN_DYNVARS_005_03-------------------------#' +SET @@global.myisam_sort_buffer_size = 4; +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +4 +SET @@global.myisam_sort_buffer_size = 4294967295; +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +4294967295 +SET @@global.myisam_sort_buffer_size = 655354; +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +655354 +'#--------------------FN_DYNVARS_005_04-------------------------#' +SET @@session.myisam_sort_buffer_size = 4; +SELECT @@session.myisam_sort_buffer_size ; +@@session.myisam_sort_buffer_size +4 +SET @@session.myisam_sort_buffer_size = 4294967295; +SELECT @@session.myisam_sort_buffer_size ; +@@session.myisam_sort_buffer_size +4294967295 +SET @@session.myisam_sort_buffer_size = 655345; +SELECT @@session.myisam_sort_buffer_size ; +@@session.myisam_sort_buffer_size +655345 +'#------------------FN_DYNVARS_005_05-----------------------#' +SET @@global.myisam_sort_buffer_size = 0; +Warnings: +Warning 1292 Truncated incorrect myisam_sort_buffer_size value: '0' +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +4 +SET @@global.myisam_sort_buffer_size = -1024; +Warnings: +Warning 1292 Truncated incorrect myisam_sort_buffer_size value: '0' +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +4 +SET @@global.myisam_sort_buffer_size = 429496729533; +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +429496729533 +SET @@global.myisam_sort_buffer_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +429496729533 +SET @@global.myisam_sort_buffer_size = test; +ERROR 42000: Incorrect argument type to variable 'myisam_sort_buffer_size' +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +429496729533 +SET @@global.myisam_sort_buffer_size = "test"; +ERROR 42000: Incorrect argument type to variable 'myisam_sort_buffer_size' +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +429496729533 +SET @@global.myisam_sort_buffer_size = 'test'; +ERROR 42000: Incorrect argument type to variable 'myisam_sort_buffer_size' +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +429496729533 +SET @@global.myisam_sort_buffer_size = ON; +ERROR 42000: Incorrect argument type to variable 'myisam_sort_buffer_size' +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +429496729533 +SET @@session.myisam_sort_buffer_size = 0; +Warnings: +Warning 1292 Truncated incorrect myisam_sort_buffer_size value: '0' +SELECT @@session.myisam_sort_buffer_size ; +@@session.myisam_sort_buffer_size +4 +SET @@session.myisam_sort_buffer_size = -2; +Warnings: +Warning 1292 Truncated incorrect myisam_sort_buffer_size value: '0' +SELECT @@session.myisam_sort_buffer_size ; +@@session.myisam_sort_buffer_size +4 +SET @@session.myisam_sort_buffer_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@session.myisam_sort_buffer_size ; +@@session.myisam_sort_buffer_size +4 +SET @@session.myisam_sort_buffer_size = test; +ERROR 42000: Incorrect argument type to variable 'myisam_sort_buffer_size' +SELECT @@session.myisam_sort_buffer_size ; +@@session.myisam_sort_buffer_size +4 +SET @@session.myisam_sort_buffer_size = "test"; +ERROR 42000: Incorrect argument type to variable 'myisam_sort_buffer_size' +SELECT @@session.myisam_sort_buffer_size ; +@@session.myisam_sort_buffer_size +4 +'#------------------FN_DYNVARS_005_06-----------------------#' +SELECT @@global.myisam_sort_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='myisam_sort_buffer_size '; +@@global.myisam_sort_buffer_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_005_07-----------------------#' +SELECT @@session.myisam_sort_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='myisam_sort_buffer_size '; +@@session.myisam_sort_buffer_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_005_08-----------------------#' +SET @@global.myisam_sort_buffer_size = TRUE; +Warnings: +Warning 1292 Truncated incorrect myisam_sort_buffer_size value: '1' +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +4 +SET @@global.myisam_sort_buffer_size = FALSE; +Warnings: +Warning 1292 Truncated incorrect myisam_sort_buffer_size value: '0' +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +4 +'#---------------------FN_DYNVARS_001_09----------------------#' +SET @@global.myisam_sort_buffer_size = 10; +SELECT @@myisam_sort_buffer_size = @@global.myisam_sort_buffer_size ; +@@myisam_sort_buffer_size = @@global.myisam_sort_buffer_size +0 +'#---------------------FN_DYNVARS_001_10----------------------#' +SET @@myisam_sort_buffer_size = 100; +SELECT @@myisam_sort_buffer_size = @@local.myisam_sort_buffer_size ; +@@myisam_sort_buffer_size = @@local.myisam_sort_buffer_size +1 +SELECT @@local.myisam_sort_buffer_size = @@session.myisam_sort_buffer_size ; +@@local.myisam_sort_buffer_size = @@session.myisam_sort_buffer_size +1 +'#---------------------FN_DYNVARS_001_11----------------------#' +SET myisam_sort_buffer_size = 1; +Warnings: +Warning 1292 Truncated incorrect myisam_sort_buffer_size value: '1' +SELECT @@myisam_sort_buffer_size ; +@@myisam_sort_buffer_size +4 +SELECT local.myisam_sort_buffer_size ; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.myisam_sort_buffer_size ; +ERROR 42S02: Unknown table 'session' in field list +SELECT myisam_sort_buffer_size = @@session.myisam_sort_buffer_size ; +ERROR 42S22: Unknown column 'myisam_sort_buffer_size' in 'field list' +SET @@global.myisam_sort_buffer_size = @start_global_value; +SELECT @@global.myisam_sort_buffer_size ; +@@global.myisam_sort_buffer_size +8388608 +SET @@session.myisam_sort_buffer_size = @start_session_value; +SELECT @@session.myisam_sort_buffer_size ; +@@session.myisam_sort_buffer_size +8388608 diff --git a/mysql-test/r/myisam_stats_method_basic.result b/mysql-test/r/myisam_stats_method_basic.result new file mode 100644 index 00000000000..3272ef6e538 --- /dev/null +++ b/mysql-test/r/myisam_stats_method_basic.result @@ -0,0 +1,155 @@ +SET @global_start_value = @@global.myisam_stats_method; +SELECT @global_start_value; +@global_start_value +nulls_unequal +SET @session_start_value = @@session.myisam_stats_method; +SELECT @session_start_value; +@session_start_value +nulls_unequal +'#--------------------FN_DYNVARS_097_01------------------------#' +SET @@global.myisam_stats_method = nulls_equal; +SET @@global.myisam_stats_method = DEFAULT; +SELECT @@global.myisam_stats_method; +@@global.myisam_stats_method +nulls_unequal +SET @@session.myisam_stats_method = nulls_equal; +SET @@session.myisam_stats_method = DEFAULT; +SELECT @@session.myisam_stats_method; +@@session.myisam_stats_method +nulls_unequal +'#---------------------FN_DYNVARS_097_02-------------------------#' +SET @@global.myisam_stats_method = NULL; +ERROR 42000: Variable 'myisam_stats_method' can't be set to the value of 'NULL' +SET @@global.myisam_stats_method = ''; +ERROR 42000: Variable 'myisam_stats_method' can't be set to the value of '' +SET @@session.myisam_stats_method = NULL; +ERROR 42000: Variable 'myisam_stats_method' can't be set to the value of 'NULL' +SET @@session.myisam_stats_method = ''; +ERROR 42000: Variable 'myisam_stats_method' can't be set to the value of '' +'#--------------------FN_DYNVARS_097_03------------------------#' +SET @@global.myisam_stats_method = 'nulls_equal'; +SELECT @@global.myisam_stats_method; +@@global.myisam_stats_method +nulls_equal +SET @@global.myisam_stats_method = 'nulls_unequal'; +SELECT @@global.myisam_stats_method; +@@global.myisam_stats_method +nulls_unequal +SET @@global.myisam_stats_method = 'nulls_ignored'; +SELECT @@global.myisam_stats_method; +@@global.myisam_stats_method +nulls_ignored +'Bug: Value of nulls_ignored is not documented. Its ordinal value is 2' +SET @@session.myisam_stats_method = 'nulls_equal'; +SELECT @@session.myisam_stats_method; +@@session.myisam_stats_method +nulls_equal +SET @@session.myisam_stats_method = 'nulls_unequal'; +SELECT @@session.myisam_stats_method; +@@session.myisam_stats_method +nulls_unequal +SET @@session.myisam_stats_method = 'nulls_ignored'; +SELECT @@session.myisam_stats_method; +@@session.myisam_stats_method +nulls_ignored +'#--------------------FN_DYNVARS_097_04-------------------------#' +SET @@global.myisam_stats_method = -1; +ERROR 42000: Variable 'myisam_stats_method' can't be set to the value of '-1' +SET @@global.myisam_stats_method = unequal; +ERROR 42000: Variable 'myisam_stats_method' can't be set to the value of 'unequal' +SET @@global.myisam_stats_method = ENABLED; +ERROR 42000: Variable 'myisam_stats_method' can't be set to the value of 'ENABLED' +SET @@global.myisam_stats_method = 'equal'; +ERROR 42000: Variable 'myisam_stats_method' can't be set to the value of 'equal' +SET @@global.myisam_stats_method = 'null_equal'; +ERROR 42000: Variable 'myisam_stats_method' can't be set to the value of 'null_equal' +SET @@global.myisam_stats_method = ' '; +ERROR 42000: Variable 'myisam_stats_method' can't be set to the value of ' ' +'#-------------------FN_DYNVARS_097_05----------------------------#' +SELECT @@session.myisam_stats_method = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='myisam_stats_method'; +@@session.myisam_stats_method = VARIABLE_VALUE +1 +'#----------------------FN_DYNVARS_097_06------------------------#' +SELECT @@global.myisam_stats_method = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='myisam_stats_method'; +@@global.myisam_stats_method = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_097_07-------------------------#' +SET @@global.myisam_stats_method = 0; +SELECT @@global.myisam_stats_method; +@@global.myisam_stats_method +nulls_unequal +SET @@global.myisam_stats_method = 1; +SELECT @@global.myisam_stats_method; +@@global.myisam_stats_method +nulls_equal +SET @@global.myisam_stats_method = 2; +SELECT @@global.myisam_stats_method; +@@global.myisam_stats_method +nulls_ignored +SET @@global.myisam_stats_method = 0.4; +SELECT @@global.myisam_stats_method; +@@global.myisam_stats_method +nulls_unequal +SET @@global.myisam_stats_method = 1.0; +SELECT @@global.myisam_stats_method; +@@global.myisam_stats_method +nulls_equal +SET @@global.myisam_stats_method = 1.1; +SELECT @@global.myisam_stats_method; +@@global.myisam_stats_method +nulls_equal +SET @@global.myisam_stats_method = 1.5; +SELECT @@global.myisam_stats_method; +@@global.myisam_stats_method +nulls_ignored +SET @@global.myisam_stats_method = 2.49; +SELECT @@global.myisam_stats_method; +@@global.myisam_stats_method +nulls_ignored +SET @@session.myisam_stats_method = 0.5; +SELECT @@session.myisam_stats_method; +@@session.myisam_stats_method +nulls_equal +SET @@session.myisam_stats_method = 1.6; +SELECT @@session.myisam_stats_method; +@@session.myisam_stats_method +nulls_ignored +'Bug# 34877: Decimal values can be used within the range [0.0-2.5). Values'; +'are rounded to 0,1,2 as evident from outcome.'; +SET @@global.myisam_stats_method = 3; +ERROR 42000: Variable 'myisam_stats_method' can't be set to the value of '3' +'#---------------------FN_DYNVARS_097_08----------------------#' +SET @@global.myisam_stats_method = TRUE; +SELECT @@global.myisam_stats_method; +@@global.myisam_stats_method +nulls_equal +SET @@global.myisam_stats_method = FALSE; +SELECT @@global.myisam_stats_method; +@@global.myisam_stats_method +nulls_unequal +'#---------------------FN_DYNVARS_097_09----------------------#' +SET myisam_stats_method = 'nulls_equal'; +SET session.myisam_stats_method = 'nulls_equal'; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'myisam_stats_method = 'nulls_equal'' at line 1 +SET global.myisam_stats_method = 'nulls_equal'; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'myisam_stats_method = 'nulls_equal'' at line 1 +SET session myisam_stats_method = 'nulls_equal'; +SELECT @@myisam_stats_method; +@@myisam_stats_method +nulls_equal +SET global myisam_stats_method = 'nulls_equal'; +SELECT @@global.myisam_stats_method; +@@global.myisam_stats_method +nulls_equal +SET @@global.myisam_stats_method = @global_start_value; +SELECT @@global.myisam_stats_method; +@@global.myisam_stats_method +nulls_unequal +SET @@session.myisam_stats_method = @session_start_value; +SELECT @@session.myisam_stats_method; +@@session.myisam_stats_method +nulls_unequal diff --git a/mysql-test/r/myisam_stats_method_func.result b/mysql-test/r/myisam_stats_method_func.result new file mode 100644 index 00000000000..ace6887cc90 --- /dev/null +++ b/mysql-test/r/myisam_stats_method_func.result @@ -0,0 +1,85 @@ +'#--------------------FN_DYNVARS_097_01-------------------------#' +SET @@global.myisam_stats_method = nulls_equal; +'connect (con1,localhost,root,,,,)' +'connection con1' +SELECT @@global.myisam_stats_method; +@@global.myisam_stats_method +nulls_equal +SELECT @@session.myisam_stats_method; +@@session.myisam_stats_method +nulls_equal +'#--------------------FN_DYNVARS_097_02-------------------------#' +'connection default' +DROP TABLE IF EXISTS t1; +CREATE TABLE t1 (a int, key (a)); +INSERT INTO t1 VALUES (0),(1),(2),(3),(4); +INSERT INTO t1 SELECT NULL FROM t1; +'default: NULLs considered unequal' +SET myisam_stats_method=nulls_unequal; +ANALYZE TABLE t1; +Table Op Msg_type Msg_text +test.t1 analyze status OK +SHOW INDEX FROM t1; +Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment +t1 1 a 1 a A 10 NULL NULL YES BTREE +INSERT INTO t1 VALUES (11); +DELETE FROM t1 WHERE a=11; +CHECK TABLE t1; +Table Op Msg_type Msg_text +test.t1 check status OK +SHOW INDEX FROM t1; +Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment +t1 1 a 1 a A 10 NULL NULL YES BTREE +'Set nulls to be equal' +SET myisam_stats_method=nulls_equal; +INSERT INTO t1 VALUES (11); +DELETE FROM t1 WHERE a=11; +ANALYZE TABLE t1; +Table Op Msg_type Msg_text +test.t1 analyze status OK +SHOW INDEX FROM t1; +Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment +t1 1 a 1 a A 5 NULL NULL YES BTREE +INSERT INTO t1 VALUES (11); +DELETE FROM t1 WHERE a=11; +CHECK TABLE t1; +Table Op Msg_type Msg_text +test.t1 check status OK +SHOW INDEX FROM t1; +Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment +t1 1 a 1 a A 5 NULL NULL YES BTREE +'Set nulls to be ignored' +SET myisam_stats_method=nulls_ignored; +SHOW variables LIKE 'myisam_stats_method'; +Variable_name Value +myisam_stats_method nulls_ignored +drop TABLE t1; +CREATE TABLE t1 ( +a char(3), b char(4), c char(5), d char(6), +key(a,b,c,d) +); +INSERT INTO t1 VALUES ('bcd','def1', NULL, 'zz'); +INSERT INTO t1 VALUES ('bcd','def2', NULL, 'zz'); +INSERT INTO t1 VALUES ('bce','def1', 'yuu', NULL); +INSERT INTO t1 VALUES ('bce','def2', NULL, 'quux'); +ANALYZE TABLE t1; +Table Op Msg_type Msg_text +test.t1 analyze status OK +SHOW INDEX FROM t1; +Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment +t1 1 a 1 a A 2 NULL NULL YES BTREE +t1 1 a 2 b A 4 NULL NULL YES BTREE +t1 1 a 3 c A 4 NULL NULL YES BTREE +t1 1 a 4 d A 4 NULL NULL YES BTREE +DELETE FROM t1; +ANALYZE TABLE t1; +Table Op Msg_type Msg_text +test.t1 analyze status OK +SHOW INDEX FROM t1; +Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment +t1 1 a 1 a A 0 NULL NULL YES BTREE +t1 1 a 2 b A 0 NULL NULL YES BTREE +t1 1 a 3 c A 0 NULL NULL YES BTREE +t1 1 a 4 d A 0 NULL NULL YES BTREE +SET myisam_stats_method=DEFAULT; +DROP TABLE t1; diff --git a/mysql-test/r/myisam_use_mmap_basic.result b/mysql-test/r/myisam_use_mmap_basic.result new file mode 100644 index 00000000000..c0f92acb983 --- /dev/null +++ b/mysql-test/r/myisam_use_mmap_basic.result @@ -0,0 +1,52 @@ +'#---------------------BS_STVARS_042_01----------------------#' +SELECT COUNT(@@GLOBAL.myisam_use_mmap); +COUNT(@@GLOBAL.myisam_use_mmap) +1 +1 Expected +'#---------------------BS_STVARS_042_02----------------------#' +"BUG:It should give error on setting this variable as it is readonly variable" +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.myisam_use_mmap); +COUNT(@@GLOBAL.myisam_use_mmap) +1 +1 Expected +'#---------------------BS_STVARS_042_03----------------------#' +SELECT @@GLOBAL.myisam_use_mmap = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='myisam_use_mmap'; +@@GLOBAL.myisam_use_mmap = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.myisam_use_mmap); +COUNT(@@GLOBAL.myisam_use_mmap) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='myisam_use_mmap'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_042_04----------------------#' +SELECT @@myisam_use_mmap = @@GLOBAL.myisam_use_mmap; +@@myisam_use_mmap = @@GLOBAL.myisam_use_mmap +1 +1 Expected +'#---------------------BS_STVARS_042_05----------------------#' +SELECT COUNT(@@myisam_use_mmap); +COUNT(@@myisam_use_mmap) +1 +1 Expected +SELECT COUNT(@@local.myisam_use_mmap); +ERROR HY000: Variable 'myisam_use_mmap' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.myisam_use_mmap); +ERROR HY000: Variable 'myisam_use_mmap' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.myisam_use_mmap); +COUNT(@@GLOBAL.myisam_use_mmap) +1 +1 Expected +SELECT myisam_use_mmap = @@SESSION.myisam_use_mmap; +ERROR 42S22: Unknown column 'myisam_use_mmap' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/mysqlbinlog.result b/mysql-test/r/mysqlbinlog.result index c455a57cb38..974b4952799 100644 --- a/mysql-test/r/mysqlbinlog.result +++ b/mysql-test/r/mysqlbinlog.result @@ -306,7 +306,7 @@ SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/ SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; SET @@session.lc_time_names=0/*!*/; SET @@session.collation_database=DEFAULT/*!*/; -CREATE DEFINER=`root`@`localhost` procedure p1() +CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`() begin select 1; end diff --git a/mysql-test/r/mysqldump.result b/mysql-test/r/mysqldump.result index ffacd1cdee6..3e0b4f80f84 100644 --- a/mysql-test/r/mysqldump.result +++ b/mysql-test/r/mysqldump.result @@ -3565,8 +3565,8 @@ use test; create user mysqltest_1@localhost; create table t1(a int, b varchar(34)); reset master; -mysqldump: Couldn't execute 'FLUSH TABLES': Access denied; you need the RELOAD privilege for this operation (1227) -mysqldump: Couldn't execute 'FLUSH TABLES': Access denied; you need the RELOAD privilege for this operation (1227) +mysqldump: Couldn't execute 'FLUSH /*!40101 LOCAL */ TABLES': Access denied; you need the RELOAD privilege for this operation (1227) +mysqldump: Couldn't execute 'FLUSH /*!40101 LOCAL */ TABLES': Access denied; you need the RELOAD privilege for this operation (1227) grant RELOAD on *.* to mysqltest_1@localhost; mysqldump: Couldn't execute 'SHOW MASTER STATUS': Access denied; you need the SUPER,REPLICATION CLIENT privilege for this operation (1227) mysqldump: Couldn't execute 'SHOW MASTER STATUS': Access denied; you need the SUPER,REPLICATION CLIENT privilege for this operation (1227) diff --git a/mysql-test/r/mysqltest.result b/mysql-test/r/mysqltest.result index 48eb0bf5cc0..adf99185d89 100644 --- a/mysql-test/r/mysqltest.result +++ b/mysql-test/r/mysqltest.result @@ -725,4 +725,7 @@ drop table t1; mysqltest: At line 1: change user failed: Unknown database 'inexistent' mysqltest: At line 1: change user failed: Access denied for user 'inexistent'@'localhost' (using password: NO) mysqltest: At line 1: change user failed: Access denied for user 'root'@'localhost' (using password: YES) +SELECT 'c:\\a.txt' AS col; +col +z End of tests diff --git a/mysql-test/r/ndb_log_update_as_write_basic.result b/mysql-test/r/ndb_log_update_as_write_basic.result new file mode 100644 index 00000000000..6353fba2b7c --- /dev/null +++ b/mysql-test/r/ndb_log_update_as_write_basic.result @@ -0,0 +1,14 @@ +SET @global_start_value = @@global.ndb_log_update_as_write; +ERROR HY000: Unknown system variable 'ndb_log_update_as_write' +SELECT @@global.ndb_log_update_as_write; +ERROR HY000: Unknown system variable 'ndb_log_update_as_write' +'Bug: The value is not a system variable or atleast not supported in version 5.1.22' +'#--------------------FN_DYNVARS_102_01------------------------#' +'#---------------------FN_DYNVARS_102_02-------------------------#' +'#--------------------FN_DYNVARS_102_03------------------------#' +'#--------------------FN_DYNVARS_102_04-------------------------#' +'#-------------------FN_DYNVARS_102_05----------------------------#' +'#----------------------FN_DYNVARS_102_06------------------------#' +'#----------------------FN_DYNVARS_102_07------------------------#' +'#---------------------FN_DYNVARS_102_08-------------------------#' +'#---------------------FN_DYNVARS_102_09----------------------#' diff --git a/mysql-test/r/ndb_log_updated_only_basic.result b/mysql-test/r/ndb_log_updated_only_basic.result new file mode 100644 index 00000000000..38abb7cc263 --- /dev/null +++ b/mysql-test/r/ndb_log_updated_only_basic.result @@ -0,0 +1,14 @@ +SET @global_start_value = @@global.ndb_log_updated_only; +ERROR HY000: Unknown system variable 'ndb_log_updated_only' +SELECT @@global.ndb_log_updated_only; +ERROR HY000: Unknown system variable 'ndb_log_updated_only' +'Bug: The value is not a system variable or atleast not supported in version 5.1.22' +'#--------------------FN_DYNVARS_103_01------------------------#' +'#---------------------FN_DYNVARS_103_02-------------------------#' +'#--------------------FN_DYNVARS_103_03------------------------#' +'#--------------------FN_DYNVARS_103_04-------------------------#' +'#-------------------FN_DYNVARS_103_05----------------------------#' +'#----------------------FN_DYNVARS_103_06------------------------#' +'#----------------------FN_DYNVARS_103_07------------------------#' +'#---------------------FN_DYNVARS_103_08-------------------------#' +'#---------------------FN_DYNVARS_103_09----------------------#' diff --git a/mysql-test/r/net_buffer_length_basic.result b/mysql-test/r/net_buffer_length_basic.result new file mode 100644 index 00000000000..ddaad3dfa91 --- /dev/null +++ b/mysql-test/r/net_buffer_length_basic.result @@ -0,0 +1,194 @@ +SET @start_global_value = @@global.net_buffer_length; +SET @start_session_value = @@session.net_buffer_length; +'#--------------------FN_DYNVARS_109_01-------------------------#' +SET @@global.net_buffer_length = 10000; +SET @@global.net_buffer_length = DEFAULT; +SELECT @@global.net_buffer_length; +@@global.net_buffer_length +16384 +SET @@session.net_buffer_length = 20000; +SET @@session.net_buffer_length = DEFAULT; +SELECT @@session.net_buffer_length; +@@session.net_buffer_length +16384 +'#--------------------FN_DYNVARS_109_02-------------------------#' +SET @@global.net_buffer_length = DEFAULT; +SELECT @@global.net_buffer_length = 16384; +@@global.net_buffer_length = 16384 +1 +SET @@session.net_buffer_length = DEFAULT; +SELECT @@session.net_buffer_length = 16384; +@@session.net_buffer_length = 16384 +1 +'#--------------------FN_DYNVARS_109_03-------------------------#' +SET @@global.net_buffer_length = 1024; +SELECT @@global.net_buffer_length; +@@global.net_buffer_length +1024 +SET @@global.net_buffer_length = 1025; +SELECT @@global.net_buffer_length; +@@global.net_buffer_length +1024 +SET @@global.net_buffer_length = 1048576; +SELECT @@global.net_buffer_length; +@@global.net_buffer_length +1048576 +SET @@global.net_buffer_length = 1048575; +SELECT @@global.net_buffer_length; +@@global.net_buffer_length +1047552 +SET @@global.net_buffer_length = 65535; +SELECT @@global.net_buffer_length; +@@global.net_buffer_length +64512 +'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +'#--------------------FN_DYNVARS_109_04-------------------------#' +SET @@session.net_buffer_length = 1024; +SELECT @@session.net_buffer_length; +@@session.net_buffer_length +1024 +SET @@session.net_buffer_length = 1025; +SELECT @@session.net_buffer_length; +@@session.net_buffer_length +1024 +SET @@session.net_buffer_length = 1048576; +SELECT @@session.net_buffer_length; +@@session.net_buffer_length +1048576 +SET @@session.net_buffer_length = 1048575; +SELECT @@session.net_buffer_length; +@@session.net_buffer_length +1047552 +SET @@session.net_buffer_length = 65535; +SELECT @@session.net_buffer_length; +@@session.net_buffer_length +64512 +'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +'#------------------FN_DYNVARS_109_05-----------------------#' +SET @@global.net_buffer_length = 0; +Warnings: +Warning 1292 Truncated incorrect net_buffer_length value: '0' +SELECT @@global.net_buffer_length; +@@global.net_buffer_length +1024 +SET @@global.net_buffer_length = -1024; +Warnings: +Warning 1292 Truncated incorrect net_buffer_length value: '0' +SELECT @@global.net_buffer_length; +@@global.net_buffer_length +1024 +SET @@global.net_buffer_length = 1023; +Warnings: +Warning 1292 Truncated incorrect net_buffer_length value: '1023' +SELECT @@global.net_buffer_length; +@@global.net_buffer_length +1024 +SET @@global.net_buffer_length = 1048577; +Warnings: +Warning 1292 Truncated incorrect net_buffer_length value: '1048577' +SELECT @@global.net_buffer_length; +@@global.net_buffer_length +1048576 +SET @@global.net_buffer_length = 104857633; +Warnings: +Warning 1292 Truncated incorrect net_buffer_length value: '104857633' +SELECT @@global.net_buffer_length; +@@global.net_buffer_length +1048576 +SET @@global.net_buffer_length = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.net_buffer_length; +@@global.net_buffer_length +1048576 +SET @@global.net_buffer_length = test; +ERROR 42000: Incorrect argument type to variable 'net_buffer_length' +SELECT @@global.net_buffer_length; +@@global.net_buffer_length +1048576 +SET @@session.net_buffer_length = 0; +Warnings: +Warning 1292 Truncated incorrect net_buffer_length value: '0' +SELECT @@session.net_buffer_length; +@@session.net_buffer_length +1024 +SET @@session.net_buffer_length = -2; +Warnings: +Warning 1292 Truncated incorrect net_buffer_length value: '0' +SELECT @@session.net_buffer_length; +@@session.net_buffer_length +1024 +SET @@session.net_buffer_length = 1048577; +Warnings: +Warning 1292 Truncated incorrect net_buffer_length value: '1048577' +SELECT @@session.net_buffer_length; +@@session.net_buffer_length +1048576 +SET @@session.net_buffer_length = 1048576002; +Warnings: +Warning 1292 Truncated incorrect net_buffer_length value: '1048576002' +SELECT @@session.net_buffer_length; +@@session.net_buffer_length +1048576 +SET @@session.net_buffer_length = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.net_buffer_length = 65550; +SELECT @@session.net_buffer_length; +@@session.net_buffer_length +65536 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@session.net_buffer_length = test; +ERROR 42000: Incorrect argument type to variable 'net_buffer_length' +SELECT @@session.net_buffer_length; +@@session.net_buffer_length +65536 +'#------------------FN_DYNVARS_109_06-----------------------#' +SELECT @@global.net_buffer_length = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='net_buffer_length'; +@@global.net_buffer_length = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_109_07-----------------------#' +SELECT @@session.net_buffer_length = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='net_buffer_length'; +@@session.net_buffer_length = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_109_08-----------------------#' +SET @@global.net_buffer_length = TRUE; +Warnings: +Warning 1292 Truncated incorrect net_buffer_length value: '1' +SELECT @@global.net_buffer_length; +@@global.net_buffer_length +1024 +SET @@global.net_buffer_length = FALSE; +Warnings: +Warning 1292 Truncated incorrect net_buffer_length value: '0' +SELECT @@global.net_buffer_length; +@@global.net_buffer_length +1024 +'#---------------------FN_DYNVARS_109_09----------------------#' +SET @@global.net_buffer_length = 2048; +SELECT @@net_buffer_length = @@global.net_buffer_length; +@@net_buffer_length = @@global.net_buffer_length +0 +'#---------------------FN_DYNVARS_109_10----------------------#' +SET @@net_buffer_length = 100000; +SELECT @@net_buffer_length = @@local.net_buffer_length; +@@net_buffer_length = @@local.net_buffer_length +1 +SELECT @@local.net_buffer_length = @@session.net_buffer_length; +@@local.net_buffer_length = @@session.net_buffer_length +1 +'#---------------------FN_DYNVARS_109_11----------------------#' +SET net_buffer_length = 1024; +SELECT @@net_buffer_length; +@@net_buffer_length +1024 +SELECT local.net_buffer_length; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.net_buffer_length; +ERROR 42S02: Unknown table 'session' in field list +SELECT net_buffer_length = @@session.net_buffer_length; +ERROR 42S22: Unknown column 'net_buffer_length' in 'field list' +SET @@global.net_buffer_length = @start_global_value; +SET @@session.net_buffer_length = @start_session_value; diff --git a/mysql-test/r/net_read_timeout_basic.result b/mysql-test/r/net_read_timeout_basic.result new file mode 100644 index 00000000000..90a6ef72718 --- /dev/null +++ b/mysql-test/r/net_read_timeout_basic.result @@ -0,0 +1,164 @@ +SET @start_global_value = @@global.net_read_timeout; +SELECT @start_global_value; +@start_global_value +30 +SET @start_session_value = @@session.net_read_timeout; +SELECT @start_session_value; +@start_session_value +30 +'#--------------------FN_DYNVARS_110_01-------------------------#' +SET @@global.net_read_timeout = 100; +SET @@global.net_read_timeout = DEFAULT; +SELECT @@global.net_read_timeout; +@@global.net_read_timeout +30 +SET @@session.net_read_timeout = 200; +SET @@session.net_read_timeout = DEFAULT; +SELECT @@session.net_read_timeout; +@@session.net_read_timeout +30 +'#--------------------FN_DYNVARS_110_02-------------------------#' +SET @@global.net_read_timeout = DEFAULT; +SELECT @@global.net_read_timeout = 30; +@@global.net_read_timeout = 30 +1 +SET @@session.net_read_timeout = DEFAULT; +SELECT @@session.net_read_timeout = 30; +@@session.net_read_timeout = 30 +1 +'#--------------------FN_DYNVARS_110_03-------------------------#' +SET @@global.net_read_timeout = 1; +SELECT @@global.net_read_timeout; +@@global.net_read_timeout +1 +SET @@global.net_read_timeout = 60020; +SELECT @@global.net_read_timeout; +@@global.net_read_timeout +60020 +SET @@global.net_read_timeout = 65535; +SELECT @@global.net_read_timeout; +@@global.net_read_timeout +65535 +'#--------------------FN_DYNVARS_110_04-------------------------#' +SET @@session.net_read_timeout = 1; +SELECT @@session.net_read_timeout; +@@session.net_read_timeout +1 +SET @@session.net_read_timeout = 50050; +SELECT @@session.net_read_timeout; +@@session.net_read_timeout +50050 +SET @@session.net_read_timeout = 65535; +SELECT @@session.net_read_timeout; +@@session.net_read_timeout +65535 +'#------------------FN_DYNVARS_110_05-----------------------#' +SET @@global.net_read_timeout = 0; +Warnings: +Warning 1292 Truncated incorrect net_read_timeout value: '0' +SELECT @@global.net_read_timeout; +@@global.net_read_timeout +1 +SET @@global.net_read_timeout = -1024; +Warnings: +Warning 1292 Truncated incorrect net_read_timeout value: '0' +SELECT @@global.net_read_timeout; +@@global.net_read_timeout +1 +SET @@global.net_read_timeout = 655360354; +Warnings: +Warning 1292 Truncated incorrect net_read_timeout value: '655360354' +SELECT @@global.net_read_timeout; +@@global.net_read_timeout +31536000 +SET @@global.net_read_timeout = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.net_read_timeout; +@@global.net_read_timeout +31536000 +SET @@global.net_read_timeout = test; +ERROR 42000: Incorrect argument type to variable 'net_read_timeout' +SELECT @@global.net_read_timeout; +@@global.net_read_timeout +31536000 +SET @@session.net_read_timeout = 0; +Warnings: +Warning 1292 Truncated incorrect net_read_timeout value: '0' +SELECT @@session.net_read_timeout; +@@session.net_read_timeout +1 +SET @@session.net_read_timeout = -2; +Warnings: +Warning 1292 Truncated incorrect net_read_timeout value: '0' +SELECT @@session.net_read_timeout; +@@session.net_read_timeout +1 +SET @@session.net_read_timeout = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.net_read_timeout = 6555015425; +Warnings: +Warning 1292 Truncated incorrect net_read_timeout value: '6555015425' +SELECT @@session.net_read_timeout; +@@session.net_read_timeout +31536000 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@session.net_read_timeout = test; +ERROR 42000: Incorrect argument type to variable 'net_read_timeout' +SELECT @@session.net_read_timeout; +@@session.net_read_timeout +31536000 +'#------------------FN_DYNVARS_110_06-----------------------#' +SELECT @@global.net_read_timeout = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='net_read_timeout'; +@@global.net_read_timeout = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_110_07-----------------------#' +SELECT @@session.net_read_timeout = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='net_read_timeout'; +@@session.net_read_timeout = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_110_08-----------------------#' +SET @@global.net_read_timeout = TRUE; +SELECT @@global.net_read_timeout; +@@global.net_read_timeout +1 +SET @@global.net_read_timeout = FALSE; +Warnings: +Warning 1292 Truncated incorrect net_read_timeout value: '0' +SELECT @@global.net_read_timeout; +@@global.net_read_timeout +1 +'#---------------------FN_DYNVARS_110_09----------------------#' +SET @@global.net_read_timeout = 10; +SELECT @@net_read_timeout = @@global.net_read_timeout; +@@net_read_timeout = @@global.net_read_timeout +0 +'#---------------------FN_DYNVARS_110_10----------------------#' +SET @@net_read_timeout = 100; +SELECT @@net_read_timeout = @@local.net_read_timeout; +@@net_read_timeout = @@local.net_read_timeout +1 +SELECT @@local.net_read_timeout = @@session.net_read_timeout; +@@local.net_read_timeout = @@session.net_read_timeout +1 +'#---------------------FN_DYNVARS_110_11----------------------#' +SET net_read_timeout = 1; +SELECT @@net_read_timeout; +@@net_read_timeout +1 +SELECT local.net_read_timeout; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.net_read_timeout; +ERROR 42S02: Unknown table 'session' in field list +SELECT net_read_timeout = @@session.net_read_timeout; +ERROR 42S22: Unknown column 'net_read_timeout' in 'field list' +SET @@global.net_read_timeout = @start_global_value; +SELECT @@global.net_read_timeout; +@@global.net_read_timeout +30 +SET @@session.net_read_timeout = @start_session_value; +SELECT @@session.net_read_timeout; +@@session.net_read_timeout +30 diff --git a/mysql-test/r/net_retry_count_basic_32.result b/mysql-test/r/net_retry_count_basic_32.result new file mode 100644 index 00000000000..3923df539e7 --- /dev/null +++ b/mysql-test/r/net_retry_count_basic_32.result @@ -0,0 +1,192 @@ +SET @start_global_value = @@global.net_retry_count; +SELECT @start_global_value; +@start_global_value +10 +SET @start_session_value = @@session.net_retry_count; +SELECT @start_session_value; +@start_session_value +10 +'#--------------------FN_DYNVARS_111_01-------------------------#' +SET @@global.net_retry_count = 100; +SET @@global.net_retry_count = DEFAULT; +SELECT @@global.net_retry_count; +@@global.net_retry_count +10 +SET @@session.net_retry_count = 200; +SET @@session.net_retry_count = DEFAULT; +SELECT @@session.net_retry_count; +@@session.net_retry_count +10 +'#--------------------FN_DYNVARS_111_02-------------------------#' +SET @@global.net_retry_count = DEFAULT; +SELECT @@global.net_retry_count = 10; +@@global.net_retry_count = 10 +1 +SET @@session.net_retry_count = DEFAULT; +SELECT @@session.net_retry_count = 10; +@@session.net_retry_count = 10 +1 +'#--------------------FN_DYNVARS_111_03-------------------------#' +SET @@global.net_retry_count = 1; +SELECT @@global.net_retry_count; +@@global.net_retry_count +1 +SET @@global.net_retry_count = 2; +SELECT @@global.net_retry_count; +@@global.net_retry_count +2 +SET @@global.net_retry_count = 4294967295; +SELECT @@global.net_retry_count; +@@global.net_retry_count +4294967295 +SET @@global.net_retry_count = 4294967294; +SELECT @@global.net_retry_count; +@@global.net_retry_count +4294967294 +SET @@global.net_retry_count = 65536; +SELECT @@global.net_retry_count; +@@global.net_retry_count +65536 +'#--------------------FN_DYNVARS_111_04-------------------------#' +SET @@session.net_retry_count = 1; +SELECT @@session.net_retry_count; +@@session.net_retry_count +1 +SET @@session.net_retry_count = 2; +SELECT @@session.net_retry_count; +@@session.net_retry_count +2 +SET @@session.net_retry_count = 65535; +SELECT @@session.net_retry_count; +@@session.net_retry_count +65535 +SET @@session.net_retry_count = 4294967295; +SELECT @@session.net_retry_count; +@@session.net_retry_count +4294967295 +SET @@session.net_retry_count = 4294967294; +SELECT @@session.net_retry_count; +@@session.net_retry_count +4294967294 +'#------------------FN_DYNVARS_111_05-----------------------#' +SET @@global.net_retry_count = 0; +Warnings: +Warning 1292 Truncated incorrect net_retry_count value: '0' +SELECT @@global.net_retry_count; +@@global.net_retry_count +1 +SET @@global.net_retry_count = -1024; +Warnings: +Warning 1292 Truncated incorrect net_retry_count value: '0' +SELECT @@global.net_retry_count; +@@global.net_retry_count +1 +SET @@global.net_retry_count = 4294967296; +Warnings: +Warning 1292 Truncated incorrect net_retry_count value: '4294967296' +SELECT @@global.net_retry_count; +@@global.net_retry_count +4294967295 +SET @@global.net_retry_count = 429496729500; +Warnings: +Warning 1292 Truncated incorrect net_retry_count value: '429496729500' +SELECT @@global.net_retry_count; +@@global.net_retry_count +4294967295 +SET @@global.net_retry_count = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.net_retry_count; +@@global.net_retry_count +4294967295 +SET @@global.net_retry_count = test; +ERROR 42000: Incorrect argument type to variable 'net_retry_count' +SELECT @@global.net_retry_count; +@@global.net_retry_count +4294967295 +SET @@session.net_retry_count = 0; +Warnings: +Warning 1292 Truncated incorrect net_retry_count value: '0' +SELECT @@session.net_retry_count; +@@session.net_retry_count +1 +SET @@session.net_retry_count = -2; +Warnings: +Warning 1292 Truncated incorrect net_retry_count value: '0' +SELECT @@session.net_retry_count; +@@session.net_retry_count +1 +SET @@session.net_retry_count = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.net_retry_count = 6555015425; +Warnings: +Warning 1292 Truncated incorrect net_retry_count value: '6555015425' +SELECT @@session.net_retry_count; +@@session.net_retry_count +4294967295 +SET @@session.net_retry_count = 4294967296; +Warnings: +Warning 1292 Truncated incorrect net_retry_count value: '4294967296' +SELECT @@session.net_retry_count; +@@session.net_retry_count +4294967295 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@session.net_retry_count = test; +ERROR 42000: Incorrect argument type to variable 'net_retry_count' +SELECT @@session.net_retry_count; +@@session.net_retry_count +4294967295 +'#------------------FN_DYNVARS_111_06-----------------------#' +SELECT @@global.net_retry_count = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='net_retry_count'; +@@global.net_retry_count = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_111_07-----------------------#' +SELECT @@session.net_retry_count = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='net_retry_count'; +@@session.net_retry_count = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_111_08-----------------------#' +SET @@global.net_retry_count = TRUE; +SELECT @@global.net_retry_count; +@@global.net_retry_count +1 +SET @@global.net_retry_count = FALSE; +Warnings: +Warning 1292 Truncated incorrect net_retry_count value: '0' +SELECT @@global.net_retry_count; +@@global.net_retry_count +1 +'#---------------------FN_DYNVARS_111_09----------------------#' +SET @@global.net_retry_count = 10; +SELECT @@net_retry_count = @@global.net_retry_count; +@@net_retry_count = @@global.net_retry_count +0 +'#---------------------FN_DYNVARS_111_10----------------------#' +SET @@net_retry_count = 100; +SELECT @@net_retry_count = @@local.net_retry_count; +@@net_retry_count = @@local.net_retry_count +1 +SELECT @@local.net_retry_count = @@session.net_retry_count; +@@local.net_retry_count = @@session.net_retry_count +1 +'#---------------------FN_DYNVARS_111_11----------------------#' +SET net_retry_count = 1; +SELECT @@net_retry_count; +@@net_retry_count +1 +SELECT local.net_retry_count; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.net_retry_count; +ERROR 42S02: Unknown table 'session' in field list +SELECT net_retry_count = @@session.net_retry_count; +ERROR 42S22: Unknown column 'net_retry_count' in 'field list' +SET @@global.net_retry_count = @start_global_value; +SELECT @@global.net_retry_count; +@@global.net_retry_count +10 +SET @@session.net_retry_count = @start_session_value; +SELECT @@session.net_retry_count; +@@session.net_retry_count +10 diff --git a/mysql-test/r/net_retry_count_basic_64.result b/mysql-test/r/net_retry_count_basic_64.result new file mode 100644 index 00000000000..db133d23f79 --- /dev/null +++ b/mysql-test/r/net_retry_count_basic_64.result @@ -0,0 +1,184 @@ +SET @start_global_value = @@global.net_retry_count; +SELECT @start_global_value; +@start_global_value +10 +SET @start_session_value = @@session.net_retry_count; +SELECT @start_session_value; +@start_session_value +10 +'#--------------------FN_DYNVARS_111_01-------------------------#' +SET @@global.net_retry_count = 100; +SET @@global.net_retry_count = DEFAULT; +SELECT @@global.net_retry_count; +@@global.net_retry_count +10 +SET @@session.net_retry_count = 200; +SET @@session.net_retry_count = DEFAULT; +SELECT @@session.net_retry_count; +@@session.net_retry_count +10 +'#--------------------FN_DYNVARS_111_02-------------------------#' +SET @@global.net_retry_count = DEFAULT; +SELECT @@global.net_retry_count = 10; +@@global.net_retry_count = 10 +1 +SET @@session.net_retry_count = DEFAULT; +SELECT @@session.net_retry_count = 10; +@@session.net_retry_count = 10 +1 +'#--------------------FN_DYNVARS_111_03-------------------------#' +SET @@global.net_retry_count = 1; +SELECT @@global.net_retry_count; +@@global.net_retry_count +1 +SET @@global.net_retry_count = 2; +SELECT @@global.net_retry_count; +@@global.net_retry_count +2 +SET @@global.net_retry_count = 4294967295; +SELECT @@global.net_retry_count; +@@global.net_retry_count +4294967295 +SET @@global.net_retry_count = 4294967294; +SELECT @@global.net_retry_count; +@@global.net_retry_count +4294967294 +SET @@global.net_retry_count = 65536; +SELECT @@global.net_retry_count; +@@global.net_retry_count +65536 +'#--------------------FN_DYNVARS_111_04-------------------------#' +SET @@session.net_retry_count = 1; +SELECT @@session.net_retry_count; +@@session.net_retry_count +1 +SET @@session.net_retry_count = 2; +SELECT @@session.net_retry_count; +@@session.net_retry_count +2 +SET @@session.net_retry_count = 65535; +SELECT @@session.net_retry_count; +@@session.net_retry_count +65535 +SET @@session.net_retry_count = 4294967295; +SELECT @@session.net_retry_count; +@@session.net_retry_count +4294967295 +SET @@session.net_retry_count = 4294967294; +SELECT @@session.net_retry_count; +@@session.net_retry_count +4294967294 +'#------------------FN_DYNVARS_111_05-----------------------#' +SET @@global.net_retry_count = 0; +Warnings: +Warning 1292 Truncated incorrect net_retry_count value: '0' +SELECT @@global.net_retry_count; +@@global.net_retry_count +1 +SET @@global.net_retry_count = -1024; +Warnings: +Warning 1292 Truncated incorrect net_retry_count value: '0' +SELECT @@global.net_retry_count; +@@global.net_retry_count +1 +SET @@global.net_retry_count = 4294967296; +SELECT @@global.net_retry_count; +@@global.net_retry_count +4294967296 +SET @@global.net_retry_count = 429496729500; +SELECT @@global.net_retry_count; +@@global.net_retry_count +429496729500 +SET @@global.net_retry_count = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.net_retry_count; +@@global.net_retry_count +429496729500 +SET @@global.net_retry_count = test; +ERROR 42000: Incorrect argument type to variable 'net_retry_count' +SELECT @@global.net_retry_count; +@@global.net_retry_count +429496729500 +SET @@session.net_retry_count = 0; +Warnings: +Warning 1292 Truncated incorrect net_retry_count value: '0' +SELECT @@session.net_retry_count; +@@session.net_retry_count +1 +SET @@session.net_retry_count = -2; +Warnings: +Warning 1292 Truncated incorrect net_retry_count value: '0' +SELECT @@session.net_retry_count; +@@session.net_retry_count +1 +SET @@session.net_retry_count = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.net_retry_count = 6555015425; +SELECT @@session.net_retry_count; +@@session.net_retry_count +6555015425 +SET @@session.net_retry_count = 4294967296; +SELECT @@session.net_retry_count; +@@session.net_retry_count +4294967296 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@session.net_retry_count = test; +ERROR 42000: Incorrect argument type to variable 'net_retry_count' +SELECT @@session.net_retry_count; +@@session.net_retry_count +4294967296 +'#------------------FN_DYNVARS_111_06-----------------------#' +SELECT @@global.net_retry_count = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='net_retry_count'; +@@global.net_retry_count = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_111_07-----------------------#' +SELECT @@session.net_retry_count = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='net_retry_count'; +@@session.net_retry_count = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_111_08-----------------------#' +SET @@global.net_retry_count = TRUE; +SELECT @@global.net_retry_count; +@@global.net_retry_count +1 +SET @@global.net_retry_count = FALSE; +Warnings: +Warning 1292 Truncated incorrect net_retry_count value: '0' +SELECT @@global.net_retry_count; +@@global.net_retry_count +1 +'#---------------------FN_DYNVARS_111_09----------------------#' +SET @@global.net_retry_count = 10; +SELECT @@net_retry_count = @@global.net_retry_count; +@@net_retry_count = @@global.net_retry_count +0 +'#---------------------FN_DYNVARS_111_10----------------------#' +SET @@net_retry_count = 100; +SELECT @@net_retry_count = @@local.net_retry_count; +@@net_retry_count = @@local.net_retry_count +1 +SELECT @@local.net_retry_count = @@session.net_retry_count; +@@local.net_retry_count = @@session.net_retry_count +1 +'#---------------------FN_DYNVARS_111_11----------------------#' +SET net_retry_count = 1; +SELECT @@net_retry_count; +@@net_retry_count +1 +SELECT local.net_retry_count; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.net_retry_count; +ERROR 42S02: Unknown table 'session' in field list +SELECT net_retry_count = @@session.net_retry_count; +ERROR 42S22: Unknown column 'net_retry_count' in 'field list' +SET @@global.net_retry_count = @start_global_value; +SELECT @@global.net_retry_count; +@@global.net_retry_count +10 +SET @@session.net_retry_count = @start_session_value; +SELECT @@session.net_retry_count; +@@session.net_retry_count +10 diff --git a/mysql-test/r/net_write_timeout_basic.result b/mysql-test/r/net_write_timeout_basic.result new file mode 100644 index 00000000000..35a2cf069e3 --- /dev/null +++ b/mysql-test/r/net_write_timeout_basic.result @@ -0,0 +1,160 @@ +SET @start_global_value = @@global.net_write_timeout; +SELECT @start_global_value; +@start_global_value +60 +SET @start_session_value = @@session.net_write_timeout; +SELECT @start_session_value; +@start_session_value +60 +'#--------------------FN_DYNVARS_112_01-------------------------#' +SET @@global.net_write_timeout = 100; +SET @@global.net_write_timeout = DEFAULT; +SELECT @@global.net_write_timeout; +@@global.net_write_timeout +60 +SET @@session.net_write_timeout = 200; +SET @@session.net_write_timeout = DEFAULT; +SELECT @@session.net_write_timeout; +@@session.net_write_timeout +60 +'#--------------------FN_DYNVARS_112_02-------------------------#' +SET @@global.net_write_timeout = DEFAULT; +SELECT @@global.net_write_timeout = 60; +@@global.net_write_timeout = 60 +1 +SET @@session.net_write_timeout = DEFAULT; +SELECT @@session.net_write_timeout = 60; +@@session.net_write_timeout = 60 +1 +'#--------------------FN_DYNVARS_112_03-------------------------#' +SET @@global.net_write_timeout = 1; +SELECT @@global.net_write_timeout; +@@global.net_write_timeout +1 +SET @@global.net_write_timeout = 60020; +SELECT @@global.net_write_timeout; +@@global.net_write_timeout +60020 +SET @@global.net_write_timeout = 65535; +SELECT @@global.net_write_timeout; +@@global.net_write_timeout +65535 +'#--------------------FN_DYNVARS_112_04-------------------------#' +SET @@session.net_write_timeout = 1; +SELECT @@session.net_write_timeout; +@@session.net_write_timeout +1 +SET @@session.net_write_timeout = 50050; +SELECT @@session.net_write_timeout; +@@session.net_write_timeout +50050 +SET @@session.net_write_timeout = 65535; +SELECT @@session.net_write_timeout; +@@session.net_write_timeout +65535 +'#------------------FN_DYNVARS_112_05-----------------------#' +SET @@global.net_write_timeout = 0; +Warnings: +Warning 1292 Truncated incorrect net_write_timeout value: '0' +SELECT @@global.net_write_timeout; +@@global.net_write_timeout +1 +SET @@global.net_write_timeout = -1024; +Warnings: +Warning 1292 Truncated incorrect net_write_timeout value: '0' +SELECT @@global.net_write_timeout; +@@global.net_write_timeout +1 +SET @@global.net_write_timeout = 655360354; +Warnings: +Warning 1292 Truncated incorrect net_write_timeout value: '655360354' +SELECT @@global.net_write_timeout; +@@global.net_write_timeout +31536000 +SET @@global.net_write_timeout = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.net_write_timeout; +@@global.net_write_timeout +31536000 +SET @@global.net_write_timeout = test; +ERROR 42000: Incorrect argument type to variable 'net_write_timeout' +SELECT @@global.net_write_timeout; +@@global.net_write_timeout +31536000 +SET @@session.net_write_timeout = 0; +Warnings: +Warning 1292 Truncated incorrect net_write_timeout value: '0' +SELECT @@session.net_write_timeout; +@@session.net_write_timeout +1 +SET @@session.net_write_timeout = -2; +Warnings: +Warning 1292 Truncated incorrect net_write_timeout value: '0' +SELECT @@session.net_write_timeout; +@@session.net_write_timeout +1 +SET @@session.net_write_timeout = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.net_write_timeout = 6555015425; +Warnings: +Warning 1292 Truncated incorrect net_write_timeout value: '6555015425' +SELECT @@session.net_write_timeout; +@@session.net_write_timeout +31536000 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@session.net_write_timeout = test; +ERROR 42000: Incorrect argument type to variable 'net_write_timeout' +SELECT @@session.net_write_timeout; +@@session.net_write_timeout +31536000 +'#------------------FN_DYNVARS_112_06-----------------------#' +SELECT @@global.net_write_timeout = VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='net_write_timeout'; +@@global.net_write_timeout = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_112_07-----------------------#' +SELECT @@session.net_write_timeout = VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='net_write_timeout'; +@@session.net_write_timeout = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_112_08-----------------------#' +SET @@global.net_write_timeout = TRUE; +SELECT @@global.net_write_timeout; +@@global.net_write_timeout +1 +SET @@global.net_write_timeout = FALSE; +Warnings: +Warning 1292 Truncated incorrect net_write_timeout value: '0' +SELECT @@global.net_write_timeout; +@@global.net_write_timeout +1 +'#---------------------FN_DYNVARS_112_09----------------------#' +SET @@global.net_write_timeout = 10; +SELECT @@net_write_timeout = @@global.net_write_timeout; +@@net_write_timeout = @@global.net_write_timeout +0 +'#---------------------FN_DYNVARS_112_10----------------------#' +SET @@net_write_timeout = 100; +SELECT @@net_write_timeout = @@local.net_write_timeout; +@@net_write_timeout = @@local.net_write_timeout +1 +SELECT @@local.net_write_timeout = @@session.net_write_timeout; +@@local.net_write_timeout = @@session.net_write_timeout +1 +'#---------------------FN_DYNVARS_112_11----------------------#' +SET net_write_timeout = 1; +SELECT @@net_write_timeout; +@@net_write_timeout +1 +SELECT local.net_write_timeout; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.net_write_timeout; +ERROR 42S02: Unknown table 'session' in field list +SELECT net_write_timeout = @@session.net_write_timeout; +ERROR 42S22: Unknown column 'net_write_timeout' in 'field list' +SET @@global.net_write_timeout = @start_global_value; +SELECT @@global.net_write_timeout; +@@global.net_write_timeout +60 +SET @@session.net_write_timeout = @start_session_value; +SELECT @@session.net_write_timeout; +@@session.net_write_timeout +60 diff --git a/mysql-test/r/new_basic.result b/mysql-test/r/new_basic.result new file mode 100644 index 00000000000..b36e540ddd9 --- /dev/null +++ b/mysql-test/r/new_basic.result @@ -0,0 +1,163 @@ +SET @start_global_value = @@global.new; +SELECT @start_global_value; +@start_global_value +0 +SET @start_session_value = @@session.new; +SELECT @start_session_value; +@start_session_value +0 +'#--------------------FN_DYNVARS_113_01-------------------------#' +SET @@global.new = ON; +SET @@global.new = DEFAULT; +SELECT @@global.new; +@@global.new +0 +SET @@session.new = ON; +SET @@session.new = DEFAULT; +SELECT @@session.new; +@@session.new +0 +'#--------------------FN_DYNVARS_113_02-------------------------#' +SET @@global.new = DEFAULT; +SELECT @@global.new = 'OFF'; +@@global.new = 'OFF' +1 +Warnings: +Warning 1292 Truncated incorrect DOUBLE value: 'OFF' +SET @@session.new = DEFAULT; +SELECT @@session.new = 'OFF'; +@@session.new = 'OFF' +1 +Warnings: +Warning 1292 Truncated incorrect DOUBLE value: 'OFF' +'#--------------------FN_DYNVARS_113_03-------------------------#' +SET @@global.new = ON; +SELECT @@global.new; +@@global.new +1 +SET @@global.new = OFF; +SELECT @@global.new; +@@global.new +0 +SET @@global.new = 0; +SELECT @@global.new; +@@global.new +0 +SET @@global.new = 1; +SELECT @@global.new; +@@global.new +1 +SET @@global.new = TRUE; +SELECT @@global.new; +@@global.new +1 +SET @@global.new = FALSE; +SELECT @@global.new; +@@global.new +0 +'#--------------------FN_DYNVARS_113_04-------------------------#' +SET @@session.new = ON; +SELECT @@session.new; +@@session.new +1 +SET @@session.new = OFF; +SELECT @@session.new; +@@session.new +0 +SET @@session.new = 0; +SELECT @@session.new; +@@session.new +0 +SET @@session.new = 1; +SELECT @@session.new; +@@session.new +1 +SET @@session.new = TRUE; +SELECT @@session.new; +@@session.new +1 +SET @@session.new = FALSE; +SELECT @@session.new; +@@session.new +0 +'#------------------FN_DYNVARS_113_05-----------------------#' +SET @@global.new = 'ONN'; +ERROR 42000: Variable 'new' can't be set to the value of 'ONN' +SET @@global.new = "OFFF"; +ERROR 42000: Variable 'new' can't be set to the value of 'OFFF' +SET @@global.new = TTRUE; +ERROR 42000: Variable 'new' can't be set to the value of 'TTRUE' +SET @@global.new = FELSE; +ERROR 42000: Variable 'new' can't be set to the value of 'FELSE' +SET @@global.new = -1024; +ERROR 42000: Variable 'new' can't be set to the value of '-1024' +SET @@global.new = 65536; +ERROR 42000: Variable 'new' can't be set to the value of '65536' +SET @@global.new = 65530.34; +ERROR 42000: Variable 'new' can't be set to the value of '65530' +SET @@global.new = test; +ERROR 42000: Variable 'new' can't be set to the value of 'test' +SET @@session.new = ONN; +ERROR 42000: Variable 'new' can't be set to the value of 'ONN' +SET @@session.new = ONF; +ERROR 42000: Variable 'new' can't be set to the value of 'ONF' +SET @@session.new = OF; +SELECT @@session.new; +@@session.new +0 +'Bug# 34828: FN_DYNVARS_113_05 - OF is also working as OFF and no error is coming'; +SET @@session.new = 'OFN'; +ERROR 42000: Variable 'new' can't be set to the value of 'OFN' +SET @@session.new = -2; +ERROR 42000: Variable 'new' can't be set to the value of '-2' +SET @@session.new = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.new = 65550; +ERROR 42000: Variable 'new' can't be set to the value of '65550' +SET @@session.new = test; +ERROR 42000: Variable 'new' can't be set to the value of 'test' +'#------------------FN_DYNVARS_113_06-----------------------#' +SELECT @@global.new = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='new'; +@@global.new = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_113_07-----------------------#' +SELECT @@session.new = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='new'; +@@session.new = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_113_08----------------------#' +SET @@new = OFF; +SET @@global.new = ON; +SELECT @@new = @@global.new; +@@new = @@global.new +0 +'#---------------------FN_DYNVARS_113_09----------------------#' +SET @@new = ON; +SELECT @@new = @@local.new; +@@new = @@local.new +1 +SELECT @@local.new = @@session.new; +@@local.new = @@session.new +1 +'#---------------------FN_DYNVARS_113_10----------------------#' +SET new = 1; +SELECT @@new; +@@new +1 +SELECT local.new; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.new; +ERROR 42S02: Unknown table 'session' in field list +SELECT new = @@session.new; +ERROR 42S22: Unknown column 'new' in 'field list' +SET @@global.new = @start_global_value; +SELECT @@global.new; +@@global.new +0 +SET @@session.new = @start_session_value; +SELECT @@session.new; +@@session.new +0 diff --git a/mysql-test/r/old_passwords_basic.result b/mysql-test/r/old_passwords_basic.result new file mode 100644 index 00000000000..ecf23ab302b --- /dev/null +++ b/mysql-test/r/old_passwords_basic.result @@ -0,0 +1,159 @@ +SET @start_global_value = @@global.old_passwords; +SELECT @start_global_value; +@start_global_value +0 +SET @start_session_value = @@session.old_passwords; +SELECT @start_session_value; +@start_session_value +0 +'#--------------------FN_DYNVARS_114_01-------------------------#' +SET @@global.old_passwords = ON; +SET @@global.old_passwords = DEFAULT; +SELECT @@global.old_passwords; +@@global.old_passwords +0 +SET @@session.old_passwords = ON; +SET @@session.old_passwords = DEFAULT; +SELECT @@session.old_passwords; +@@session.old_passwords +0 +'#--------------------FN_DYNVARS_114_02-------------------------#' +SET @@global.old_passwords = DEFAULT; +SELECT @@global.old_passwords = FALSE; +@@global.old_passwords = FALSE +1 +SET @@session.old_passwords = DEFAULT; +SELECT @@session.old_passwords = FALSE; +@@session.old_passwords = FALSE +1 +'#--------------------FN_DYNVARS_114_03-------------------------#' +SET @@global.old_passwords = ON; +SELECT @@global.old_passwords; +@@global.old_passwords +1 +SET @@global.old_passwords = OFF; +SELECT @@global.old_passwords; +@@global.old_passwords +0 +SET @@global.old_passwords = 0; +SELECT @@global.old_passwords; +@@global.old_passwords +0 +SET @@global.old_passwords = 1; +SELECT @@global.old_passwords; +@@global.old_passwords +1 +SET @@global.old_passwords = TRUE; +SELECT @@global.old_passwords; +@@global.old_passwords +1 +SET @@global.old_passwords = FALSE; +SELECT @@global.old_passwords; +@@global.old_passwords +0 +'#--------------------FN_DYNVARS_114_04-------------------------#' +SET @@session.old_passwords = ON; +SELECT @@session.old_passwords; +@@session.old_passwords +1 +SET @@session.old_passwords = OFF; +SELECT @@session.old_passwords; +@@session.old_passwords +0 +SET @@session.old_passwords = 0; +SELECT @@session.old_passwords; +@@session.old_passwords +0 +SET @@session.old_passwords = 1; +SELECT @@session.old_passwords; +@@session.old_passwords +1 +SET @@session.old_passwords = TRUE; +SELECT @@session.old_passwords; +@@session.old_passwords +1 +SET @@session.old_passwords = FALSE; +SELECT @@session.old_passwords; +@@session.old_passwords +0 +'#------------------FN_DYNVARS_114_05-----------------------#' +SET @@global.old_passwords = 'ONN'; +ERROR 42000: Variable 'old_passwords' can't be set to the value of 'ONN' +SET @@global.old_passwords = "OFFF"; +ERROR 42000: Variable 'old_passwords' can't be set to the value of 'OFFF' +SET @@global.old_passwords = TTRUE; +ERROR 42000: Variable 'old_passwords' can't be set to the value of 'TTRUE' +SET @@global.old_passwords = FELSE; +ERROR 42000: Variable 'old_passwords' can't be set to the value of 'FELSE' +SET @@global.old_passwords = -1024; +ERROR 42000: Variable 'old_passwords' can't be set to the value of '-1024' +SET @@global.old_passwords = 65536; +ERROR 42000: Variable 'old_passwords' can't be set to the value of '65536' +SET @@global.old_passwords = 65530.34; +ERROR 42000: Variable 'old_passwords' can't be set to the value of '65530' +SET @@global.old_passwords = test; +ERROR 42000: Variable 'old_passwords' can't be set to the value of 'test' +SET @@session.old_passwords = ONN; +ERROR 42000: Variable 'old_passwords' can't be set to the value of 'ONN' +SET @@session.old_passwords = ONF; +ERROR 42000: Variable 'old_passwords' can't be set to the value of 'ONF' +SET @@session.old_passwords = OF; +SELECT @@session.old_passwords; +@@session.old_passwords +0 +'Bug# 34828: OF is also working as OFF and no error is coming'; +SET @@session.old_passwords = 'OFN'; +ERROR 42000: Variable 'old_passwords' can't be set to the value of 'OFN' +SET @@session.old_passwords = -2; +ERROR 42000: Variable 'old_passwords' can't be set to the value of '-2' +SET @@session.old_passwords = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.old_passwords = 65550; +ERROR 42000: Variable 'old_passwords' can't be set to the value of '65550' +SET @@session.old_passwords = test; +ERROR 42000: Variable 'old_passwords' can't be set to the value of 'test' +'#------------------FN_DYNVARS_114_06-----------------------#' +SELECT @@global.old_passwords = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='old_passwords'; +@@global.old_passwords = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_114_07-----------------------#' +SELECT @@session.old_passwords = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='old_passwords'; +@@session.old_passwords = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_114_08----------------------#' +SET @@old_passwords = OFF; +SET @@global.old_passwords = ON; +SELECT @@old_passwords = @@global.old_passwords; +@@old_passwords = @@global.old_passwords +0 +'#---------------------FN_DYNVARS_114_09----------------------#' +SET @@old_passwords = ON; +SELECT @@old_passwords = @@local.old_passwords; +@@old_passwords = @@local.old_passwords +1 +SELECT @@local.old_passwords = @@session.old_passwords; +@@local.old_passwords = @@session.old_passwords +1 +'#---------------------FN_DYNVARS_114_10----------------------#' +SET old_passwords = 1; +SELECT @@old_passwords; +@@old_passwords +1 +SELECT local.old_passwords; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.old_passwords; +ERROR 42S02: Unknown table 'session' in field list +SELECT old_passwords = @@session.old_passwords; +ERROR 42S22: Unknown column 'old_passwords' in 'field list' +SET @@global.old_passwords = @start_global_value; +SELECT @@global.old_passwords; +@@global.old_passwords +0 +SET @@session.old_passwords = @start_session_value; +SELECT @@session.old_passwords; +@@session.old_passwords +0 diff --git a/mysql-test/r/old_passwords_func.result b/mysql-test/r/old_passwords_func.result new file mode 100644 index 00000000000..eebee9f4852 --- /dev/null +++ b/mysql-test/r/old_passwords_func.result @@ -0,0 +1,55 @@ +SET @global_old_passwords = @@GLOBAL.old_passwords; +SET @session_old_passwords = @@SESSION.old_passwords; +SET @global_secure_auth = @@GLOBAL.secure_auth; +'#------------------------FN_DYNVARS_115_01---------------------------#' +** Connection default ** +CREATE USER 'userNewPass1'@'localhost' IDENTIFIED BY 'pass1'; +CREATE USER 'userNewPass2'@'localhost' IDENTIFIED BY 'pass2'; +SET GLOBAL old_passwords = TRUE; +SET SESSION old_passwords = TRUE; +CREATE USER 'userOldPass'@'localhost' IDENTIFIED BY 'pass3'; +SET GLOBAL secure_auth = FALSE; +** Connecting con1 using username 'userNewPass1' ** +SELECT CURRENT_USER(); +CURRENT_USER() +userNewPass1@localhost +userNewPass1@localhost Expected +** Connecting con2 using username 'userNewPass2' ** +SELECT CURRENT_USER(); +CURRENT_USER() +userNewPass2@localhost +userNewPass2@localhost Expected +** Connecting con3 using username 'userOldPass' ** +SELECT CURRENT_USER(); +CURRENT_USER() +userOldPass@localhost +userOldPass@localhost Expected +** Connection default ** +** Disconnecting con1, con2, con3 ** +'#------------------------FN_DYNVARS_115_02---------------------------#' +SET GLOBAL secure_auth = TRUE; +** Connecting con1 using username 'userNewPass1' ** +SELECT CURRENT_USER(); +CURRENT_USER() +userNewPass1@localhost +userNewPass1@localhost Expected +** Connecting con2 using username 'userNewPass2' ** +SELECT CURRENT_USER(); +CURRENT_USER() +userNewPass2@localhost +userNewPass2@localhost Expected +** Connecting con3 using username 'userOldPass' ** +ERROR HY000: Server is running in --secure-auth mode, but 'userOldPass'@'localhost' has a password in the old format; please change the password to the new format +Expected Error 'Server is running in secure auth mode' +SELECT CURRENT_USER(); +CURRENT_USER() +userNewPass2@localhost +userNewPass2@localhost Expected +** Connection default ** +** Disconnecting con1, con2 ** +DROP USER 'userNewPass1'@'localhost'; +DROP USER 'userNewPass2'@'localhost'; +DROP USER 'userOldPass'@'localhost'; +SET @@GLOBAL.old_passwords = @global_old_passwords; +SET @@SESSION.old_passwords = @session_old_passwords; +SET @@GLOBAL.secure_auth = @global_secure_auth; diff --git a/mysql-test/r/optimizer_prune_level_basic.result b/mysql-test/r/optimizer_prune_level_basic.result new file mode 100644 index 00000000000..46fe70c40d0 --- /dev/null +++ b/mysql-test/r/optimizer_prune_level_basic.result @@ -0,0 +1,168 @@ +SET @start_global_value = @@global.optimizer_prune_level; +SELECT @start_global_value; +@start_global_value +1 +SET @start_session_value = @@session.optimizer_prune_level; +SELECT @start_session_value; +@start_session_value +1 +'#--------------------FN_DYNVARS_115_01-------------------------#' +SET @@global.optimizer_prune_level = 0; +SET @@global.optimizer_prune_level = DEFAULT; +SELECT @@global.optimizer_prune_level; +@@global.optimizer_prune_level +1 +SET @@session.optimizer_prune_level = 0; +SET @@session.optimizer_prune_level = DEFAULT; +SELECT @@session.optimizer_prune_level; +@@session.optimizer_prune_level +1 +'#--------------------FN_DYNVARS_115_02-------------------------#' +SET @@global.optimizer_prune_level = DEFAULT; +SELECT @@global.optimizer_prune_level = 1; +@@global.optimizer_prune_level = 1 +1 +SET @@session.optimizer_prune_level = DEFAULT; +SELECT @@session.optimizer_prune_level = 1; +@@session.optimizer_prune_level = 1 +1 +'#--------------------FN_DYNVARS_115_03-------------------------#' +SELECT @@global.optimizer_prune_level; +@@global.optimizer_prune_level +1 +SET @@global.optimizer_prune_level = 0; +SELECT @@global.optimizer_prune_level; +@@global.optimizer_prune_level +0 +SET @@global.optimizer_prune_level = 1; +SELECT @@global.optimizer_prune_level; +@@global.optimizer_prune_level +1 +SET @@global.optimizer_prune_level = TRUE; +SELECT @@global.optimizer_prune_level; +@@global.optimizer_prune_level +1 +SET @@global.optimizer_prune_level = FALSE; +SELECT @@global.optimizer_prune_level; +@@global.optimizer_prune_level +0 +'#--------------------FN_DYNVARS_115_04-------------------------#' +SELECT @@session.optimizer_prune_level; +@@session.optimizer_prune_level +1 +SET @@session.optimizer_prune_level = 0; +SELECT @@session.optimizer_prune_level; +@@session.optimizer_prune_level +0 +SET @@session.optimizer_prune_level = 1; +SELECT @@session.optimizer_prune_level; +@@session.optimizer_prune_level +1 +SET @@session.optimizer_prune_level = TRUE; +SELECT @@session.optimizer_prune_level; +@@session.optimizer_prune_level +1 +SET @@session.optimizer_prune_level = FALSE; +SELECT @@session.optimizer_prune_level; +@@session.optimizer_prune_level +0 +'#------------------FN_DYNVARS_115_05-----------------------#' +SET @@global.optimizer_prune_level = ON; +ERROR 42000: Incorrect argument type to variable 'optimizer_prune_level' +'Bug# 34840: Since it is a boolean variable, it should not give errors on 'ON' & 'OFF' values'; +SET @@global.optimizer_prune_level = OFF; +ERROR 42000: Incorrect argument type to variable 'optimizer_prune_level' +SET @@global.optimizer_prune_level = 'ONN'; +ERROR 42000: Incorrect argument type to variable 'optimizer_prune_level' +SET @@global.optimizer_prune_level = "OFFF"; +ERROR 42000: Incorrect argument type to variable 'optimizer_prune_level' +SET @@global.optimizer_prune_level = TTRUE; +ERROR 42000: Incorrect argument type to variable 'optimizer_prune_level' +SET @@global.optimizer_prune_level = FELSE; +ERROR 42000: Incorrect argument type to variable 'optimizer_prune_level' +SET @@global.optimizer_prune_level = -1024; +SELECT @@global.optimizer_prune_level; +@@global.optimizer_prune_level +0 +'Bug# 34840: Since it is a boolean variable, it should give errors on numeric values'; +SET @@global.optimizer_prune_level = 65536; +Warnings: +Warning 1292 Truncated incorrect optimizer_prune_level value: '65536' +SET @@global.optimizer_prune_level = 65530.34; +ERROR 42000: Incorrect argument type to variable 'optimizer_prune_level' +SET @@global.optimizer_prune_level = test; +ERROR 42000: Incorrect argument type to variable 'optimizer_prune_level' +SET @@session.optimizer_prune_level = ON; +ERROR 42000: Incorrect argument type to variable 'optimizer_prune_level' +SET @@session.optimizer_prune_level = OFF; +ERROR 42000: Incorrect argument type to variable 'optimizer_prune_level' +SET @@session.optimizer_prune_level = ONN; +ERROR 42000: Incorrect argument type to variable 'optimizer_prune_level' +SET @@session.optimizer_prune_level = ONF; +ERROR 42000: Incorrect argument type to variable 'optimizer_prune_level' +SET @@session.optimizer_prune_level = ON; +ERROR 42000: Incorrect argument type to variable 'optimizer_prune_level' +SET @@session.optimizer_prune_level = OF; +ERROR 42000: Incorrect argument type to variable 'optimizer_prune_level' +SET @@session.optimizer_prune_level = 'OFN'; +ERROR 42000: Incorrect argument type to variable 'optimizer_prune_level' +SET @@session.optimizer_prune_level = -2; +SELECT @@session.optimizer_prune_level; +@@session.optimizer_prune_level +0 +SET @@session.optimizer_prune_level = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.optimizer_prune_level = 65550; +Warnings: +Warning 1292 Truncated incorrect optimizer_prune_level value: '65550' +SELECT @@session.optimizer_prune_level; +@@session.optimizer_prune_level +1 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@session.optimizer_prune_level = test; +ERROR 42000: Incorrect argument type to variable 'optimizer_prune_level' +'#------------------FN_DYNVARS_115_06-----------------------#' +SELECT @@global.optimizer_prune_level = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='optimizer_prune_level'; +@@global.optimizer_prune_level = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_115_07-----------------------#' +SELECT @@session.optimizer_prune_level = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='optimizer_prune_level'; +@@session.optimizer_prune_level = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_115_08----------------------#' +SET @@optimizer_prune_level = 0; +SET @@global.optimizer_prune_level = 1; +SELECT @@optimizer_prune_level = @@global.optimizer_prune_level; +@@optimizer_prune_level = @@global.optimizer_prune_level +0 +'#---------------------FN_DYNVARS_115_09----------------------#' +SET @@optimizer_prune_level = 1; +SELECT @@optimizer_prune_level = @@local.optimizer_prune_level; +@@optimizer_prune_level = @@local.optimizer_prune_level +1 +SELECT @@local.optimizer_prune_level = @@session.optimizer_prune_level; +@@local.optimizer_prune_level = @@session.optimizer_prune_level +1 +'#---------------------FN_DYNVARS_115_10----------------------#' +SET optimizer_prune_level = 1; +SELECT @@optimizer_prune_level; +@@optimizer_prune_level +1 +SELECT local.optimizer_prune_level; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.optimizer_prune_level; +ERROR 42S02: Unknown table 'session' in field list +SELECT optimizer_prune_level = @@session.optimizer_prune_level; +ERROR 42S22: Unknown column 'optimizer_prune_level' in 'field list' +SET @@global.optimizer_prune_level = @start_global_value; +SELECT @@global.optimizer_prune_level; +@@global.optimizer_prune_level +1 +SET @@session.optimizer_prune_level = @start_session_value; +SELECT @@session.optimizer_prune_level; +@@session.optimizer_prune_level +1 diff --git a/mysql-test/r/optimizer_search_depth_basic.result b/mysql-test/r/optimizer_search_depth_basic.result new file mode 100644 index 00000000000..9c26339839e --- /dev/null +++ b/mysql-test/r/optimizer_search_depth_basic.result @@ -0,0 +1,170 @@ +SET @start_global_value = @@global.optimizer_search_depth; +SELECT @start_global_value; +@start_global_value +62 +SET @start_session_value = @@session.optimizer_search_depth; +SELECT @start_session_value; +@start_session_value +62 +'#--------------------FN_DYNVARS_116_01-------------------------#' +SET @@global.optimizer_search_depth = 100; +Warnings: +Warning 1292 Truncated incorrect optimizer_search_depth value: '100' +SET @@global.optimizer_search_depth = DEFAULT; +SELECT @@global.optimizer_search_depth; +@@global.optimizer_search_depth +62 +SET @@session.optimizer_search_depth = 200; +Warnings: +Warning 1292 Truncated incorrect optimizer_search_depth value: '200' +SET @@session.optimizer_search_depth = DEFAULT; +SELECT @@session.optimizer_search_depth; +@@session.optimizer_search_depth +62 +'#--------------------FN_DYNVARS_116_02-------------------------#' +SET @@global.optimizer_search_depth = DEFAULT; +SELECT @@global.optimizer_search_depth = 62; +@@global.optimizer_search_depth = 62 +1 +SET @@session.optimizer_search_depth = DEFAULT; +SELECT @@session.optimizer_search_depth = 62; +@@session.optimizer_search_depth = 62 +1 +'#--------------------FN_DYNVARS_116_03-------------------------#' +SET @@global.optimizer_search_depth = 0; +SELECT @@global.optimizer_search_depth; +@@global.optimizer_search_depth +0 +SET @@global.optimizer_search_depth = 1; +SELECT @@global.optimizer_search_depth; +@@global.optimizer_search_depth +1 +SET @@global.optimizer_search_depth = 62; +SELECT @@global.optimizer_search_depth; +@@global.optimizer_search_depth +62 +SET @@global.optimizer_search_depth = 63; +SELECT @@global.optimizer_search_depth; +@@global.optimizer_search_depth +63 +'#--------------------FN_DYNVARS_116_04-------------------------#' +SET @@session.optimizer_search_depth = 0; +SELECT @@session.optimizer_search_depth; +@@session.optimizer_search_depth +0 +SET @@session.optimizer_search_depth = 1; +SELECT @@session.optimizer_search_depth; +@@session.optimizer_search_depth +1 +SET @@session.optimizer_search_depth = 62; +SELECT @@session.optimizer_search_depth; +@@session.optimizer_search_depth +62 +SET @@session.optimizer_search_depth = 63; +SELECT @@session.optimizer_search_depth; +@@session.optimizer_search_depth +63 +'#------------------FN_DYNVARS_116_05-----------------------#' +SET @@global.optimizer_search_depth = 64; +Warnings: +Warning 1292 Truncated incorrect optimizer_search_depth value: '64' +SELECT @@global.optimizer_search_depth; +@@global.optimizer_search_depth +63 +SET @@global.optimizer_search_depth = -1; +SELECT @@global.optimizer_search_depth; +@@global.optimizer_search_depth +0 +SET @@global.optimizer_search_depth = 65536; +Warnings: +Warning 1292 Truncated incorrect optimizer_search_depth value: '65536' +SELECT @@global.optimizer_search_depth; +@@global.optimizer_search_depth +63 +SET @@global.optimizer_search_depth = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.optimizer_search_depth; +@@global.optimizer_search_depth +63 +SET @@global.optimizer_search_depth = test; +ERROR 42000: Incorrect argument type to variable 'optimizer_search_depth' +SELECT @@global.optimizer_search_depth; +@@global.optimizer_search_depth +63 +SET @@session.optimizer_search_depth = 64; +Warnings: +Warning 1292 Truncated incorrect optimizer_search_depth value: '64' +SELECT @@session.optimizer_search_depth; +@@session.optimizer_search_depth +63 +SET @@session.optimizer_search_depth = -2; +SELECT @@session.optimizer_search_depth; +@@session.optimizer_search_depth +0 +SET @@session.optimizer_search_depth = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.optimizer_search_depth = 65550; +Warnings: +Warning 1292 Truncated incorrect optimizer_search_depth value: '65550' +SELECT @@session.optimizer_search_depth; +@@session.optimizer_search_depth +63 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@session.optimizer_search_depth = test; +ERROR 42000: Incorrect argument type to variable 'optimizer_search_depth' +SELECT @@session.optimizer_search_depth; +@@session.optimizer_search_depth +63 +'#------------------FN_DYNVARS_116_06-----------------------#' +SELECT @@global.optimizer_search_depth = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='optimizer_search_depth'; +@@global.optimizer_search_depth = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_116_07-----------------------#' +SELECT @@session.optimizer_search_depth = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='optimizer_search_depth'; +@@session.optimizer_search_depth = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_116_08-----------------------#' +SET @@global.optimizer_search_depth = TRUE; +SELECT @@global.optimizer_search_depth; +@@global.optimizer_search_depth +1 +SET @@global.optimizer_search_depth = FALSE; +SELECT @@global.optimizer_search_depth; +@@global.optimizer_search_depth +0 +'#---------------------FN_DYNVARS_116_09----------------------#' +SET @@global.optimizer_search_depth = 10; +SELECT @@optimizer_search_depth = @@global.optimizer_search_depth; +@@optimizer_search_depth = @@global.optimizer_search_depth +0 +'#---------------------FN_DYNVARS_116_10----------------------#' +SET @@optimizer_search_depth = 10; +SELECT @@optimizer_search_depth = @@local.optimizer_search_depth; +@@optimizer_search_depth = @@local.optimizer_search_depth +1 +SELECT @@local.optimizer_search_depth = @@session.optimizer_search_depth; +@@local.optimizer_search_depth = @@session.optimizer_search_depth +1 +'#---------------------FN_DYNVARS_116_11----------------------#' +SET optimizer_search_depth = 1; +SELECT @@optimizer_search_depth; +@@optimizer_search_depth +1 +SELECT local.optimizer_search_depth; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.optimizer_search_depth; +ERROR 42S02: Unknown table 'session' in field list +SELECT optimizer_search_depth = @@session.optimizer_search_depth; +ERROR 42S22: Unknown column 'optimizer_search_depth' in 'field list' +SET @@global.optimizer_search_depth = @start_global_value; +SELECT @@global.optimizer_search_depth; +@@global.optimizer_search_depth +62 +SET @@session.optimizer_search_depth = @start_session_value; +SELECT @@session.optimizer_search_depth; +@@session.optimizer_search_depth +62 diff --git a/mysql-test/r/order_by.result b/mysql-test/r/order_by.result index faab8e49880..e70ce75797d 100644 --- a/mysql-test/r/order_by.result +++ b/mysql-test/r/order_by.result @@ -1458,3 +1458,29 @@ ORDER BY t2.c LIMIT 1; d 52.5 DROP TABLE t1,t2,t3; +CREATE TABLE t1 ( +id1 INT NULL, +id2 INT NOT NULL, +junk INT NOT NULL, +PRIMARY KEY (id1, id2, junk), +INDEX id2_j_id1 (id2, junk, id1) +); +INSERT INTO t1 VALUES (1, 1, 1), (2, 1, 2), (3, 1, 3), (4, 1, 4); +INSERT INTO t1 VALUES (5, 2, 1), (6, 2, 2), (7, 2, 3), (8, 2, 4); +INSERT INTO t1 VALUES (9, 3, 1), (10, 3, 2), (11, 3, 3), (12, 3, 4); +INSERT INTO t1 VALUES (13, 4, 1), (14, 4, 2), (15, 4, 3), (16, 4, 4); +INSERT INTO t1 VALUES (17, 5, 1), (18, 5, 2), (19, 5, 3), (20, 5, 4); +INSERT INTO t1 VALUES (21, 6, 1), (22, 6, 2), (23, 6, 3), (24, 6, 4); +INSERT INTO t1 VALUES (25, 7, 1), (26, 7, 2), (27, 7, 3), (28, 7, 4); +INSERT INTO t1 VALUES (29, 8, 1), (30, 8, 2), (31, 8, 3), (32, 8, 4); +INSERT INTO t1 VALUES (33, 9, 1), (34, 9, 2), (35, 9, 3), (36, 9, 4); +EXPLAIN SELECT id1 FROM t1 WHERE id2 = 4 ORDER BY id1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ref id2_j_id1 id2_j_id1 4 const 4 Using where; Using index; Using filesort +SELECT id1 FROM t1 WHERE id2 = 4 ORDER BY id1; +id1 +13 +14 +15 +16 +DROP TABLE t1; diff --git a/mysql-test/r/preload_buffer_size_basic.result b/mysql-test/r/preload_buffer_size_basic.result new file mode 100644 index 00000000000..775b670d3bc --- /dev/null +++ b/mysql-test/r/preload_buffer_size_basic.result @@ -0,0 +1,194 @@ +SET @start_global_value = @@global.preload_buffer_size; +SELECT @start_global_value; +@start_global_value +32768 +SET @start_session_value = @@session.preload_buffer_size; +SELECT @start_session_value; +@start_session_value +32768 +'#--------------------FN_DYNVARS_129_01-------------------------#' +SET @@global.preload_buffer_size = 10000; +SET @@global.preload_buffer_size = DEFAULT; +SELECT @@global.preload_buffer_size; +@@global.preload_buffer_size +32768 +SET @@session.preload_buffer_size = 20000; +SET @@session.preload_buffer_size = DEFAULT; +SELECT @@session.preload_buffer_size; +@@session.preload_buffer_size +32768 +'#--------------------FN_DYNVARS_129_02-------------------------#' +SET @@global.preload_buffer_size = DEFAULT; +SELECT @@global.preload_buffer_size = 32768; +@@global.preload_buffer_size = 32768 +1 +SET @@session.preload_buffer_size = DEFAULT; +SELECT @@session.preload_buffer_size = 32768; +@@session.preload_buffer_size = 32768 +1 +'#--------------------FN_DYNVARS_129_03-------------------------#' +SET @@global.preload_buffer_size = 1024; +SELECT @@global.preload_buffer_size; +@@global.preload_buffer_size +1024 +SET @@global.preload_buffer_size = 1025; +SELECT @@global.preload_buffer_size; +@@global.preload_buffer_size +1025 +SET @@global.preload_buffer_size = 1073741824; +SELECT @@global.preload_buffer_size; +@@global.preload_buffer_size +1073741824 +SET @@global.preload_buffer_size = 1073741823; +SELECT @@global.preload_buffer_size; +@@global.preload_buffer_size +1073741823 +SET @@global.preload_buffer_size = 65536; +SELECT @@global.preload_buffer_size; +@@global.preload_buffer_size +65536 +'#--------------------FN_DYNVARS_129_04-------------------------#' +SET @@session.preload_buffer_size = 1024; +SELECT @@session.preload_buffer_size; +@@session.preload_buffer_size +1024 +SET @@session.preload_buffer_size = 1025; +SELECT @@session.preload_buffer_size; +@@session.preload_buffer_size +1025 +SET @@session.preload_buffer_size = 1073741824; +SELECT @@session.preload_buffer_size; +@@session.preload_buffer_size +1073741824 +SET @@session.preload_buffer_size = 1073741823; +SELECT @@session.preload_buffer_size; +@@session.preload_buffer_size +1073741823 +SET @@session.preload_buffer_size = 655536; +SELECT @@session.preload_buffer_size; +@@session.preload_buffer_size +655536 +'#------------------FN_DYNVARS_129_05-----------------------#' +SET @@global.preload_buffer_size = 64; +Warnings: +Warning 1292 Truncated incorrect preload_buffer_size value: '64' +SELECT @@global.preload_buffer_size; +@@global.preload_buffer_size +1024 +SET @@global.preload_buffer_size = -1; +Warnings: +Warning 1292 Truncated incorrect preload_buffer_size value: '0' +SELECT @@global.preload_buffer_size; +@@global.preload_buffer_size +1024 +SET @@global.preload_buffer_size = 1023; +Warnings: +Warning 1292 Truncated incorrect preload_buffer_size value: '1023' +SELECT @@global.preload_buffer_size; +@@global.preload_buffer_size +1024 +SET @@global.preload_buffer_size = 1073741825; +Warnings: +Warning 1292 Truncated incorrect preload_buffer_size value: '1073741825' +SELECT @@global.preload_buffer_size; +@@global.preload_buffer_size +1073741824 +SET @@global.preload_buffer_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.preload_buffer_size; +@@global.preload_buffer_size +1073741824 +SET @@global.preload_buffer_size = test; +ERROR 42000: Incorrect argument type to variable 'preload_buffer_size' +SELECT @@global.preload_buffer_size; +@@global.preload_buffer_size +1073741824 +SET @@session.preload_buffer_size = 64; +Warnings: +Warning 1292 Truncated incorrect preload_buffer_size value: '64' +SELECT @@session.preload_buffer_size; +@@session.preload_buffer_size +1024 +SET @@session.preload_buffer_size = -2; +Warnings: +Warning 1292 Truncated incorrect preload_buffer_size value: '0' +SELECT @@session.preload_buffer_size; +@@session.preload_buffer_size +1024 +SET @@session.preload_buffer_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.preload_buffer_size = 1023; +Warnings: +Warning 1292 Truncated incorrect preload_buffer_size value: '1023' +SELECT @@session.preload_buffer_size; +@@session.preload_buffer_size +1024 +SET @@session.preload_buffer_size = 1073741825; +Warnings: +Warning 1292 Truncated incorrect preload_buffer_size value: '1073741825' +SELECT @@session.preload_buffer_size; +@@session.preload_buffer_size +1073741824 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@session.preload_buffer_size = test; +ERROR 42000: Incorrect argument type to variable 'preload_buffer_size' +SELECT @@session.preload_buffer_size; +@@session.preload_buffer_size +1073741824 +'#------------------FN_DYNVARS_129_06-----------------------#' +SELECT @@global.preload_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='preload_buffer_size'; +@@global.preload_buffer_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_129_07-----------------------#' +SELECT @@session.preload_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='preload_buffer_size'; +@@session.preload_buffer_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_129_08-----------------------#' +SET @@global.preload_buffer_size = TRUE; +Warnings: +Warning 1292 Truncated incorrect preload_buffer_size value: '1' +SELECT @@global.preload_buffer_size; +@@global.preload_buffer_size +1024 +SET @@global.preload_buffer_size = FALSE; +Warnings: +Warning 1292 Truncated incorrect preload_buffer_size value: '0' +SELECT @@global.preload_buffer_size; +@@global.preload_buffer_size +1024 +'#---------------------FN_DYNVARS_129_09----------------------#' +SET @@global.preload_buffer_size = 2048; +SELECT @@preload_buffer_size = @@global.preload_buffer_size; +@@preload_buffer_size = @@global.preload_buffer_size +0 +'#---------------------FN_DYNVARS_129_10----------------------#' +SET @@preload_buffer_size = 5000; +SELECT @@preload_buffer_size = @@local.preload_buffer_size; +@@preload_buffer_size = @@local.preload_buffer_size +1 +SELECT @@local.preload_buffer_size = @@session.preload_buffer_size; +@@local.preload_buffer_size = @@session.preload_buffer_size +1 +'#---------------------FN_DYNVARS_129_11----------------------#' +SET preload_buffer_size = 1024; +SELECT @@preload_buffer_size; +@@preload_buffer_size +1024 +SELECT local.preload_buffer_size; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.preload_buffer_size; +ERROR 42S02: Unknown table 'session' in field list +SELECT preload_buffer_size = @@session.preload_buffer_size; +ERROR 42S22: Unknown column 'preload_buffer_size' in 'field list' +SET @@global.preload_buffer_size = @start_global_value; +SELECT @@global.preload_buffer_size; +@@global.preload_buffer_size +32768 +SET @@session.preload_buffer_size = @start_session_value; +SELECT @@session.preload_buffer_size; +@@session.preload_buffer_size +32768 diff --git a/mysql-test/r/ps.result b/mysql-test/r/ps.result index dbc8620398a..4cae3928097 100644 --- a/mysql-test/r/ps.result +++ b/mysql-test/r/ps.result @@ -2902,4 +2902,22 @@ execute stmt; ERROR 21000: Subquery returns more than 1 row deallocate prepare stmt; drop table t1, t2; +# +# Bug#27430 Crash in subquery code when in PS and table DDL changed +# after PREPARE +# +# This part of the test doesn't work in embedded server, this is +# why it's here. For the main test see ps_ddl*.test + +drop table if exists t1; +create table t1 (a int); +prepare stmt from "show events where (1) in (select * from t1)"; +execute stmt; +Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation +drop table t1; +create table t1 (x int); +execute stmt; +Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation +drop table t1; +deallocate prepare stmt; End of 5.1 tests. diff --git a/mysql-test/r/ps_1general.result b/mysql-test/r/ps_1general.result index 41307b62133..cb21c4f0bba 100644 --- a/mysql-test/r/ps_1general.result +++ b/mysql-test/r/ps_1general.result @@ -143,32 +143,32 @@ b char(30) ); insert into t5( a, b, c) values( 9, 'recreated table', 9); execute stmt2 ; -a b c -9 recreated table 9 +a c b +9 9 recreated table drop table t5 ; create table t5 ( a int primary key, b char(30), c int, -d timestamp default current_timestamp +d timestamp default '2008-02-23 09:23:45' ); insert into t5( a, b, c) values( 9, 'recreated table', 9); execute stmt2 ; -a b c -9 recreated table 9 +a b c d +9 recreated table 9 2008-02-23 09:23:45 drop table t5 ; create table t5 ( a int primary key, -d timestamp default current_timestamp, +d timestamp default '2008-02-23 09:23:45', b char(30), c int ); insert into t5( a, b, c) values( 9, 'recreated table', 9); execute stmt2 ; -a b c -9 recreated table 9 +a d b c +9 2008-02-23 09:23:45 recreated table 9 drop table t5 ; create table t5 ( @@ -189,7 +189,8 @@ f3 int ); insert into t5( f1, f2, f3) values( 9, 'recreated table', 9); execute stmt2 ; -ERROR 42S22: Unknown column 'test.t5.a' in 'field list' +f1 f2 f3 +9 recreated table 9 drop table t5 ; prepare stmt1 from ' select * from t1 where a <= 2 ' ; execute stmt1 ; diff --git a/mysql-test/r/ps_ddl.result b/mysql-test/r/ps_ddl.result index 531d29d219e..a47c01cca17 100644 --- a/mysql-test/r/ps_ddl.result +++ b/mysql-test/r/ps_ddl.result @@ -1,543 +1,252 @@ -SELECT VARIABLE_VALUE from -INFORMATION_SCHEMA.SESSION_STATUS where variable_name='COM_STMT_REPREPARE' -into @base_count ; -set @expected = 0; +drop temporary table if exists t1, t2, t3; +drop table if exists t1, t2, t3; +drop procedure if exists p_verify_reprepare_count; +drop procedure if exists p1; +drop function if exists f1; +drop view if exists v1, v2; +create procedure p_verify_reprepare_count(expected int) +begin +declare old_reprepare_count int default @reprepare_count; +select variable_value from +information_schema.session_status where +variable_name='com_stmt_reprepare' + into @reprepare_count; +if old_reprepare_count + expected <> @reprepare_count then +select concat("Expected: ", expected, +", actual: ", @reprepare_count - old_reprepare_count) +as "ERROR"; +else +select '' as "SUCCESS"; +end if; +end| +set @reprepare_count= 0; +flush status; ===================================================================== -Testing 1: NOTHING -> TABLE transitions +Part 1: NOTHING -> TABLE transitions ===================================================================== -drop table if exists t1; -prepare stmt from 'select * from t1'; +prepare stmt from "select * from t1"; ERROR 42S02: Table 'test.t1' doesn't exist ===================================================================== -Testing 2: NOTHING -> TEMPORARY TABLE transitions +Part 2: NOTHING -> TEMPORARY TABLE transitions ===================================================================== ===================================================================== -Testing 3: NOTHING -> VIEW transitions +Part 3: NOTHING -> VIEW transitions ===================================================================== ===================================================================== -Testing 4: TABLE -> NOTHING transitions +Part 4: TABLE -> NOTHING transitions ===================================================================== -drop table if exists t4; -create table t4(a int); -prepare stmt from 'select * from t4'; +# Test 4-a: select ... from +create table t1 (a int); +prepare stmt from "select * from t1"; execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +call p_verify_reprepare_count(0); +SUCCESS + execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop table t4; +call p_verify_reprepare_count(0); +SUCCESS + +drop table t1; execute stmt; -ERROR 42S02: Table 'test.t4' doesn't exist -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +ERROR 42S02: Table 'test.t1' doesn't exist +call p_verify_reprepare_count(0); +SUCCESS + execute stmt; -ERROR 42S02: Table 'test.t4' doesn't exist -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +ERROR 42S02: Table 'test.t1' doesn't exist +call p_verify_reprepare_count(0); +SUCCESS + +deallocate prepare stmt; +# Test 4-b: TABLE -> NOTHING by renaming the table +create table t1 (a int); +prepare stmt from "select * from t1"; +execute stmt; +a +call p_verify_reprepare_count(0); +SUCCESS + +execute stmt; +a +call p_verify_reprepare_count(0); +SUCCESS + +rename table t1 to t2; +execute stmt; +ERROR 42S02: Table 'test.t1' doesn't exist +call p_verify_reprepare_count(0); +SUCCESS + +execute stmt; +ERROR 42S02: Table 'test.t1' doesn't exist +call p_verify_reprepare_count(0); +SUCCESS + +deallocate prepare stmt; +drop table t2; ===================================================================== -Testing 5: TABLE -> TABLE (DDL) transitions +Part 5: TABLE -> TABLE (DDL) transitions ===================================================================== -drop table if exists t5; -create table t5(a int); -prepare stmt from 'select a from t5'; +create table t1 (a int); +prepare stmt from "select a from t1"; execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +call p_verify_reprepare_count(0); +SUCCESS + execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -alter table t5 add column (b int); -set @expected = @expected + 1; +call p_verify_reprepare_count(0); +SUCCESS + +alter table t1 add column (b int); execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +call p_verify_reprepare_count(1); +SUCCESS + execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop table t5; +call p_verify_reprepare_count(0); +SUCCESS + +drop table t1; +deallocate prepare stmt; ===================================================================== -Testing 6: TABLE -> TABLE (TRIGGER) transitions +Part 6: TABLE -> TABLE (TRIGGER) transitions ===================================================================== -drop table if exists t6; -create table t6(a int); -prepare stmt from 'insert into t6(a) value (?)'; +# Test 6-a: adding a relevant trigger +create table t1 (a int); +prepare stmt from "insert into t1 (a) value (?)"; set @val=1; execute stmt using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +call p_verify_reprepare_count(0); +SUCCESS + +create trigger t1_bi before insert on t1 for each row +set @message= new.a; set @val=2; execute stmt using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -create trigger t6_bi before insert on t6 for each row -begin -set @message= "t6_bi"; -end -$$ -set @message="none"; -set @val=3; -set @expected = @expected + 1; -execute stmt using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +call p_verify_reprepare_count(1); +SUCCESS + select @message; @message -t6_bi +2 +set @val=3; +execute stmt using @val; +call p_verify_reprepare_count(0); +SUCCESS + +select @message; +@message +3 +prepare stmt from "insert into t1 (a) value (?)"; set @val=4; execute stmt using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +call p_verify_reprepare_count(0); +SUCCESS + select @message; @message -t6_bi -prepare stmt from 'insert into t6(a) value (?)'; -set @message="none"; +4 +# Test 6-b: adding an irrelevant trigger +create trigger t1_bd before delete on t1 for each row +set @message= old.a; set @val=5; execute stmt using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +call p_verify_reprepare_count(1); +SUCCESS + select @message; @message -t6_bi -set @message="none"; +5 set @val=6; execute stmt using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +call p_verify_reprepare_count(0); +SUCCESS + select @message; @message -t6_bi -create trigger t6_bd before delete on t6 for each row -begin -set @message= "t6_bd"; -end -$$ -set @message="none"; +6 +prepare stmt from "insert into t1 (a) value (?)"; set @val=7; -set @expected = @expected + 1; execute stmt using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +call p_verify_reprepare_count(0); +SUCCESS + select @message; @message -t6_bi -set @message="none"; +7 +# Test 6-c: changing a relevant trigger +drop trigger t1_bi; +create trigger t1_bi before insert on t1 for each row +set @message= concat("new trigger: ", new.a); set @val=8; execute stmt using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +call p_verify_reprepare_count(1); +SUCCESS + select @message; @message -t6_bi -prepare stmt from 'insert into t6(a) value (?)'; -set @message="none"; +new trigger: 8 set @val=9; execute stmt using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +call p_verify_reprepare_count(0); +SUCCESS + select @message; @message -t6_bi -set @message="none"; +new trigger: 9 +prepare stmt from "insert into t1 (a) value (?)"; set @val=10; execute stmt using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +call p_verify_reprepare_count(0); +SUCCESS + select @message; @message -t6_bi -drop trigger t6_bi; -create trigger t6_bi before insert on t6 for each row -begin -set @message= "t6_bi (2)"; -end -$$ -set @message="none"; +new trigger: 10 +# Test 6-d: changing an irrelevant trigger +drop trigger t1_bd; set @val=11; -set @expected = @expected + 1; execute stmt using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +call p_verify_reprepare_count(1); +SUCCESS + select @message; @message -t6_bi (2) +new trigger: 11 +Test 6-e: removing a relevant trigger +drop trigger t1_bi; set @val=12; execute stmt using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +call p_verify_reprepare_count(1); +SUCCESS + select @message; @message -t6_bi (2) -prepare stmt from 'insert into t6(a) value (?)'; -set @message="none"; +new trigger: 11 set @val=13; execute stmt using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +call p_verify_reprepare_count(0); +SUCCESS + select @message; @message -t6_bi (2) -set @message="none"; +new trigger: 11 +prepare stmt from "insert into t1 (a) value (?)"; set @val=14; execute stmt using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +call p_verify_reprepare_count(0); +SUCCESS + select @message; @message -t6_bi (2) -drop trigger t6_bd; -create trigger t6_bd before delete on t6 for each row -begin -set @message= "t6_bd (2)"; -end -$$ -set @message="none"; -set @val=15; -set @expected = @expected + 1; -execute stmt using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -select @message; -@message -t6_bi (2) -set @message="none"; -set @val=16; -execute stmt using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -select @message; -@message -t6_bi (2) -prepare stmt from 'insert into t6(a) value (?)'; -set @message="none"; -set @val=17; -execute stmt using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -select @message; -@message -t6_bi (2) -set @message="none"; -set @val=18; -execute stmt using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -select @message; -@message -t6_bi (2) -drop trigger t6_bi; -set @message="none"; -set @val=19; -set @expected = @expected + 1; -execute stmt using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -select @message; -@message -none -set @val=20; -execute stmt using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -select @message; -@message -none -prepare stmt from 'insert into t6(a) value (?)'; -set @message="none"; -set @val=21; -execute stmt using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -select @message; -@message -none -set @val=22; -execute stmt using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -select @message; -@message -none -drop trigger t6_bd; -set @val=23; -set @expected = @expected + 1; -execute stmt using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -select @message; -@message -none -set @val=24; -execute stmt using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -select @message; -@message -none -select * from t6 order by a; +new trigger: 11 +select * from t1 order by a; a 1 2 @@ -553,1443 +262,815 @@ a 12 13 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -drop table t6; +drop table t1; +deallocate prepare stmt; ===================================================================== -Testing 7: TABLE -> TABLE (TRIGGER dependencies) transitions +Part 7: TABLE -> TABLE (TRIGGER dependencies) transitions ===================================================================== -drop table if exists t7_proc; -drop table if exists t7_func; -drop table if exists t7_view; -drop table if exists t7_table; -drop table if exists t7_dependent_table; -drop table if exists t7_table_trigger; -drop table if exists t7_audit; -drop procedure if exists audit_proc; -drop function if exists audit_func; -drop view if exists audit_view; -create table t7_proc(a int); -create table t7_func(a int); -create table t7_view(a int); -create table t7_table(a int); -create table t7_table_trigger(a int); -create table t7_audit(old_a int, new_a int, reason varchar(50)); -create table t7_dependent_table(old_a int, new_a int, reason varchar(50)); -create procedure audit_proc(a int) -insert into t7_audit values (NULL, a, "proc v1"); -create function audit_func() returns varchar(50) -return "func v1"; -create view audit_view as select "view v1" as reason from dual; -create trigger t7_proc_bi before insert on t7_proc for each row -call audit_proc(NEW.a); -create trigger t7_func_bi before insert on t7_func for each row -insert into t7_audit values (NULL, NEW.a, audit_func()); -create trigger t7_view_bi before insert on t7_view for each row -insert into t7_audit values (NULL, NEW.a, (select reason from audit_view)); -create trigger t7_table_bi before insert on t7_table for each row -insert into t7_dependent_table values (NULL, NEW.a, "dependent table"); -create trigger t7_table_trigger_bi before insert on t7_dependent_table -for each row set NEW.reason="trigger v1"; -prepare stmt_proc from 'insert into t7_proc(a) value (?)'; -set @val=101; -execute stmt_proc using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -set @val=102; -execute stmt_proc using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop procedure audit_proc; -create procedure audit_proc(a int) -insert into t7_audit values (NULL, a, "proc v2"); -set @val=103; -set @expected = @expected + 1; -execute stmt_proc using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -set @val=104; -execute stmt_proc using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -prepare stmt_func from 'insert into t7_func(a) value (?)'; -set @val=201; -execute stmt_func using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -set @val=202; -execute stmt_func using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop function audit_func; -create function audit_func() returns varchar(50) -return "func v2"; -set @val=203; -set @expected = @expected + 1; -execute stmt_func using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -set @val=204; -execute stmt_func using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -prepare stmt_view from 'insert into t7_view(a) value (?)'; -set @val=301; -execute stmt_view using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -set @val=302; -execute stmt_view using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop view audit_view; -create view audit_view as select "view v2" as reason from dual; -set @val=303; -set @expected = @expected + 1; -execute stmt_view using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -set @val=304; -execute stmt_view using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -prepare stmt_table from 'insert into t7_table(a) value (?)'; -set @val=401; -execute stmt_table using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -set @val=402; -execute stmt_table using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -alter table t7_dependent_table add column comments varchar(100) default NULL; -set @val=403; -set @expected = @expected + 1; -execute stmt_table using @val; -ERROR 21S01: Column count doesn't match value count at row 1 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -set @val=404; -set @expected = @expected + 1; -execute stmt_table using @val; -ERROR 21S01: Column count doesn't match value count at row 1 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -alter table t7_dependent_table drop column comments; -set @val=405; -set @expected = @expected + 1; -execute stmt_table using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -set @val=406; -execute stmt_table using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -prepare stmt_table_trigger from 'insert into t7_table(a) value (?)'; -set @val=501; -execute stmt_table_trigger using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -set @val=502; -execute stmt_table_trigger using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop trigger t7_table_trigger_bi; -create trigger t7_table_trigger_bi before insert on t7_dependent_table -for each row set NEW.reason="trigger v2"; -set @val=503; -set @expected = @expected + 1; -execute stmt_table_trigger using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -set @val=504; -execute stmt_table_trigger using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -select * from t7_audit order by new_a; -old_a new_a reason -NULL 101 proc v1 -NULL 102 proc v1 -NULL 103 proc v2 -NULL 104 proc v2 -NULL 201 func v1 -NULL 202 func v1 -NULL 203 func v2 -NULL 204 func v2 -NULL 301 view v1 -NULL 302 view v1 -NULL 303 view v1 -NULL 304 view v1 -select * from t7_dependent_table order by new_a; -old_a new_a reason -NULL 401 trigger v1 -NULL 402 trigger v1 -NULL 405 trigger v1 -NULL 406 trigger v1 -NULL 501 trigger v1 -NULL 502 trigger v1 -NULL 503 trigger v2 -NULL 504 trigger v2 -drop table t7_proc; -drop table t7_func; -drop table t7_view; -drop table t7_table; -drop table t7_dependent_table; -drop table t7_table_trigger; -drop table t7_audit; -drop procedure audit_proc; -drop function audit_func; -drop view audit_view; +# Test 7-a: dependent PROCEDURE has changed +# +# Note, this scenario is not supported, subject of Bug#12093 +# +create table t1 (a int); +create trigger t1_ai after insert on t1 for each row +call p1(new.a); +create procedure p1(a int) begin end; +prepare stmt from "insert into t1 (a) values (?)"; +set @var= 1; +execute stmt using @var; +drop procedure p1; +create procedure p1 (a int) begin end; +set @var= 2; +execute stmt using @var; +ERROR 42000: PROCEDURE test.p1 does not exist +# Cleanup +drop procedure p1; +call p_verify_reprepare_count(0); +SUCCESS + +# Test 7-b: dependent FUNCTION has changed +# +# Note, this scenario is not supported, subject of Bug#12093 +# +drop trigger t1_ai; +create trigger t1_ai after insert on t1 for each row +select f1(new.a+1) into @var; +create function f1 (a int) returns int return a; +prepare stmt from "insert into t1(a) values (?)"; +set @var=3; +execute stmt using @var; +select @var; +@var +4 +drop function f1; +create function f1 (a int) returns int return 0; +execute stmt using @var; +ERROR 42000: FUNCTION test.f1 does not exist +call p_verify_reprepare_count(0); +SUCCESS + +drop function f1; +deallocate prepare stmt; +# Test 7-c: dependent VIEW has changed +# +# Note, this scenario is not functioning correctly, see +# Bug#33255 Trigger using views and view ddl : corrupted triggers +# and Bug #33000 Triggers do not detect changes in meta-data. +# +drop trigger t1_ai; +create table t2 (a int unique); +create table t3 (a int unique); +create view v1 as select a from t2; +create trigger t1_ai after insert on t1 for each row +insert into v1 (a) values (new.a); +# Demonstrate that the same bug is present +# without prepared statements +insert into t1 (a) values (5); +select * from t2; +a +5 +select * from t3; +a +drop view v1; +create view v1 as select a from t3; +insert into t1 (a) values (6); +ERROR 42S02: Table 'test.t2' doesn't exist +flush table t1; +insert into t1 (a) values (6); +select * from t2; +a +5 +select * from t3; +a +6 +prepare stmt from "insert into t1 (a) values (?)"; +set @var=7; +execute stmt using @var; +call p_verify_reprepare_count(0); +SUCCESS + +select * from t3; +a +6 +7 +select * from t2; +a +5 +drop view v1; +create view v1 as select a from t2; +set @var=8; +execute stmt using @var; +call p_verify_reprepare_count(0); +SUCCESS + +# +# Sic: the insert went into t3, even though the view now +# points at t2. This is because neither the merged view +# nor its prelocking list are affected by view DDL +# The binary log is of course wrong, since it is not +# using prepared statements +# +select * from t2; +a +5 +select * from t3; +a +6 +7 +8 +flush table t1; +set @var=9; +execute stmt using @var; +call p_verify_reprepare_count(1); +SUCCESS + +select * from t2; +a +5 +9 +select * from t3; +a +6 +7 +8 +drop view v1; +drop table t1,t2,t3; +# Test 7-d: dependent TABLE has changed +create table t1 (a int); +create trigger t1_ai after insert on t1 for each row +insert into t2 (a) values (new.a); +create table t2 (a int); +prepare stmt from "insert into t1 (a) values (?)"; +set @var=1; +execute stmt using @var; +alter table t2 add column comment varchar(255); +set @var=2; +# Since the dependent table is tracked in the prelocked +# list of the prepared statement, invalidation happens +# and the statement is re-prepared. This is an unnecessary +# side effect, since the statement that *is* dependent +# on t2 definition is inside the trigger, and it is currently +# not reprepared (see the previous test case). +execute stmt using @var; +call p_verify_reprepare_count(1); +SUCCESS + +select * from t1; +a +1 +2 +select * from t2; +a comment +1 NULL +2 NULL +drop table t1,t2; +# Test 7-e: dependent TABLE TRIGGER has changed +create table t1 (a int); +create trigger t1_ai after insert on t1 for each row +insert into t2 (a) values (new.a); +create table t2 (a int unique); +create trigger t2_ai after insert on t2 for each row +insert into t3 (a) values (new.a); +create table t3 (a int unique); +create table t4 (a int unique); +insert into t1 (a) values (1); +select * from t1 join t2 on (t1.a=t2.a) join t3 on (t2.a=t3.a); +a a a +1 1 1 +drop trigger t2_ai; +create trigger t2_ai after insert on t2 for each row +insert into t4 (a) values (new.a); +insert into t1 (a) values (2); +select * from t1 join t2 on (t1.a=t2.a) join t4 on (t2.a=t4.a); +a a a +2 2 2 +prepare stmt from "insert into t1 (a) values (?)"; +set @var=3; +execute stmt using @var; +select * from t1 join t2 on (t1.a=t2.a) join t4 on (t2.a=t4.a); +a a a +2 2 2 +3 3 3 +drop trigger t2_ai; +create trigger t2_ai after insert on t2 for each row +insert into t3 (a) values (new.a); +set @var=4; +execute stmt using @var; +call p_verify_reprepare_count(1); +SUCCESS + +select * from t1 join t2 on (t1.a=t2.a) join t3 on (t2.a=t3.a); +a a a +1 1 1 +4 4 4 +select * from t1 join t2 on (t1.a=t2.a) join t4 on (t2.a=t4.a); +a a a +2 2 2 +3 3 3 +drop table t1, t2, t3, t4; +deallocate prepare stmt; ===================================================================== -Testing 8: TABLE -> TEMPORARY TABLE transitions +Part 8: TABLE -> TEMPORARY TABLE transitions ===================================================================== -drop table if exists t8; -create table t8(a int); -prepare stmt from 'select * from t8'; +# Test 8-a: base table used recreated as temporary table +create table t1 (a int); +prepare stmt from "select * from t1"; execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +drop table t1; +create temporary table t1 (a int); execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop table t8; -create temporary table t8(a int); -set @expected = @expected + 1; +call p_verify_reprepare_count(1); +SUCCESS + execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +call p_verify_reprepare_count(0); +SUCCESS + +drop table t1; +deallocate prepare stmt; +# Test 8-b: temporary table has precedence over base table with same name +create table t1 (a int); +prepare stmt from 'select count(*) from t1'; execute stmt; -a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop table t8; +count(*) +0 +call p_verify_reprepare_count(0); +SUCCESS + +execute stmt; +count(*) +0 +call p_verify_reprepare_count(0); +SUCCESS + +create temporary table t1 AS SELECT 1; +execute stmt; +count(*) +1 +call p_verify_reprepare_count(1); +SUCCESS + +execute stmt; +count(*) +1 +call p_verify_reprepare_count(0); +SUCCESS + +deallocate prepare stmt; +drop temporary table t1; +drop table t1; ===================================================================== -Testing 9: TABLE -> VIEW transitions +Part 9: TABLE -> VIEW transitions ===================================================================== -drop table if exists t9; -drop table if exists t9_b; -create table t9(a int); -create table t9_b(a int); -prepare stmt from 'select * from t9'; +create table t1 (a int); +prepare stmt from "select * from t1"; execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +call p_verify_reprepare_count(0); +SUCCESS + +drop table t1; +create table t2 (a int); +create view t1 as select * from t2; execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop table t9; -create view t9 as select * from t9_b; -set @expected = @expected + 1; -execute stmt; -a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -execute stmt; -a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop view t9; -drop table t9_b; +call p_verify_reprepare_count(1); +SUCCESS + +drop view t1; +drop table t2; +deallocate prepare stmt; ===================================================================== -Testing 10: TEMPORARY TABLE -> NOTHING transitions +Part 10: TEMPORARY TABLE -> NOTHING transitions ===================================================================== -drop temporary table if exists t10; -create temporary table t10(a int); -prepare stmt from 'select * from t10'; +create temporary table t1 (a int); +prepare stmt from "select * from t1"; execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +call p_verify_reprepare_count(0); +SUCCESS + +drop temporary table t1; execute stmt; -a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop temporary table t10; -execute stmt; -ERROR 42S02: Table 'test.t10' doesn't exist -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -execute stmt; -ERROR 42S02: Table 'test.t10' doesn't exist -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +ERROR 42S02: Table 'test.t1' doesn't exist +call p_verify_reprepare_count(0); +SUCCESS + +deallocate prepare stmt; ===================================================================== -Testing 11: TEMPORARY TABLE -> TABLE transitions +Part 11: TEMPORARY TABLE -> TABLE transitions ===================================================================== -drop table if exists t11; -drop temporary table if exists t11; -create table t11(a int); -insert into t11(a) value (1); -create temporary table t11(a int); -prepare stmt from 'select * from t11'; +# Test 11-a: temporary table replaced by base table +create table t1 (a int); +insert into t1 (a) value (1); +create temporary table t1 (a int); +prepare stmt from "select * from t1"; execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -execute stmt; -a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop temporary table t11; -set @expected = @expected + 1; +call p_verify_reprepare_count(0); +SUCCESS + +drop temporary table t1; execute stmt; a 1 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -execute stmt; +call p_verify_reprepare_count(1); +SUCCESS + +select * from t1; a 1 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -select * from t11; -a +drop table t1; +deallocate prepare stmt; +# Test 11-b: temporary table has precedence over base table with same name +# temporary table disappears +create table t1 (a int); +create temporary table t1 as select 1 as a; +prepare stmt from "select count(*) from t1"; +execute stmt; +count(*) 1 -drop table t11; +call p_verify_reprepare_count(0); +SUCCESS + +execute stmt; +count(*) +1 +call p_verify_reprepare_count(0); +SUCCESS + +drop temporary table t1; +execute stmt; +count(*) +0 +call p_verify_reprepare_count(1); +SUCCESS + +execute stmt; +count(*) +0 +call p_verify_reprepare_count(0); +SUCCESS + +deallocate prepare stmt; +drop table t1; ===================================================================== -Testing 12: TEMPORARY TABLE -> TEMPORARY TABLE (DDL) transitions +Part 12: TEMPORARY TABLE -> TEMPORARY TABLE (DDL) transitions ===================================================================== -drop temporary table if exists t12; -create temporary table t12(a int); -prepare stmt from 'select a from t12'; +create temporary table t1 (a int); +prepare stmt from "select a from t1"; execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +call p_verify_reprepare_count(0); +SUCCESS + +drop temporary table t1; +create temporary table t1 (a int, b int); execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop temporary table t12; -create temporary table t12(a int, b int); -set @expected = @expected + 1; -execute stmt; -a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -execute stmt; -a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -select * from t12; +call p_verify_reprepare_count(1); +SUCCESS + +select * from t1; a b -drop table t12; +drop temporary table t1; +deallocate prepare stmt; ===================================================================== -Testing 13: TEMPORARY TABLE -> VIEW transitions +Part 13: TEMPORARY TABLE -> VIEW transitions ===================================================================== -drop temporary table if exists t13; -drop table if exists t13_b; -create temporary table t13(a int); -create table t13_b(a int); -prepare stmt from 'select * from t13'; +create temporary table t1 (a int); +create table t2 (a int); +prepare stmt from "select * from t1"; execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +call p_verify_reprepare_count(0); +SUCCESS + +drop temporary table t1; +create view t1 as select * from t2; execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop temporary table t13; -create view t13 as select * from t13_b; -set @expected = @expected + 1; -execute stmt; -a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -execute stmt; -a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop view t13; -drop table t13_b; +call p_verify_reprepare_count(1); +SUCCESS + +drop view t1; +drop table t2; +deallocate prepare stmt; ===================================================================== -Testing 14: VIEW -> NOTHING transitions +Part 14: VIEW -> NOTHING transitions ===================================================================== -drop view if exists t14; -drop table if exists t14_b; -create table t14_b(a int); -create view t14 as select * from t14_b; -prepare stmt from 'select * from t14'; +create table t2 (a int); +create view t1 as select * from t2; +prepare stmt from "select * from t1"; execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +drop view t1; execute stmt; -a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop view t14; -set @expected = @expected + 1; +ERROR 42S02: Table 'test.t1' doesn't exist +call p_verify_reprepare_count(0); +SUCCESS + execute stmt; -ERROR 42S02: Table 'test.t14' doesn't exist -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -set @expected = @expected + 1; -execute stmt; -ERROR 42S02: Table 'test.t14' doesn't exist -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop table t14_b; +ERROR 42S02: Table 'test.t1' doesn't exist +call p_verify_reprepare_count(0); +SUCCESS + +drop table t2; +deallocate prepare stmt; ===================================================================== -Testing 15: VIEW -> TABLE transitions +Part 15: VIEW -> TABLE transitions ===================================================================== -drop view if exists t15; -drop table if exists t15_b; -create table t15_b(a int); -create view t15 as select * from t15_b; -prepare stmt from 'select * from t15'; +create table t2 (a int); +create view t1 as select * from t2; +prepare stmt from "select * from t1"; execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +call p_verify_reprepare_count(0); +SUCCESS + +drop view t1; +create table t1 (a int); execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop view t15; -create table t15(a int); -set @expected = @expected + 1; -execute stmt; -a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -execute stmt; -a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop table t15_b; -drop table t15; +call p_verify_reprepare_count(1); +SUCCESS + +drop table t2; +drop table t1; +deallocate prepare stmt; ===================================================================== -Testing 16: VIEW -> TEMPORARY TABLE transitions +Part 16: VIEW -> TEMPORARY TABLE transitions ===================================================================== -drop view if exists t16; -drop table if exists t16_b; -create table t16_b(a int); -create view t16 as select * from t16_b; -prepare stmt from 'select * from t16'; +create table t2 (a int); +insert into t2 (a) values (1); +create view t1 as select * from t2; +prepare stmt from "select * from t1"; execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +1 +call p_verify_reprepare_count(0); +SUCCESS + +create temporary table t1 (a int); execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop view t16; -create temporary table t16(a int); -set @expected = @expected + 1; +call p_verify_reprepare_count(1); +SUCCESS + +drop view t1; execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -execute stmt; -a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop table t16_b; -drop temporary table t16; +call p_verify_reprepare_count(0); +SUCCESS + +drop table t2; +drop temporary table t1; +deallocate prepare stmt; ===================================================================== -Testing 17: VIEW -> VIEW (DDL) transitions +Part 17: VIEW -> VIEW (DDL) transitions ===================================================================== -drop view if exists t17; -drop table if exists t17_b; -create table t17_b(a int); -insert into t17_b values (10), (20), (30); -create view t17 as select a, 2*a as b, 3*a as c from t17_b; -select * from t17; +create table t2 (a int); +insert into t2 values (10), (20), (30); +create view t1 as select a, 2*a as b, 3*a as c from t2; +select * from t1; a b c 10 20 30 20 40 60 30 60 90 -prepare stmt from 'select * from t17'; +prepare stmt from "select * from t1"; execute stmt; a b c 10 20 30 20 40 60 30 60 90 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +drop view t1; +create view t1 as select a, 2*a as b, 5*a as c from t2; +select * from t1; +a b c +10 20 50 +20 40 100 +30 60 150 +# Currently a different result from conventional statements. +# A view is inlined once at prepare, later on view DDL +# does not affect prepared statement and it is not re-prepared. +# This is reported in Bug#36002 Prepared statements: if a view +# used in a statement is replaced, bad data execute stmt; a b c 10 20 30 20 40 60 30 60 90 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop view t17; -create view t17 as select a, 2*a as b, 5*a as c from t17_b; -select * from t17; -a b c -10 20 50 -20 40 100 -30 60 150 -set @expected = @expected + 1; +call p_verify_reprepare_count(0); +SUCCESS + +flush table t2; execute stmt; a b c 10 20 50 20 40 100 30 60 150 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +call p_verify_reprepare_count(1); +SUCCESS + +drop table t2; +drop view t1; +deallocate prepare stmt; +===================================================================== +Part 18: VIEW -> VIEW (VIEW dependencies) transitions +===================================================================== +# Part 18a: dependent function has changed +create table t1 (a int); +insert into t1 (a) values (1), (2), (3); +create function f1() returns int return (select max(a) from t1); +create view v1 as select f1(); +prepare stmt from "select * from v1"; +execute stmt; +f1() +3 +execute stmt; +f1() +3 +call p_verify_reprepare_count(0); +SUCCESS + +drop function f1; +create function f1() returns int return 2; +# XXX: Bug#12093. We only get a different error +# message because the non-existing procedure error is masked +# by the view. +execute stmt; +ERROR HY000: View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them +execute stmt; +ERROR HY000: View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them +call p_verify_reprepare_count(0); +SUCCESS + +# Part 18b: dependent procedure has changed (referred to via a function) +create table t2 (a int); +insert into t2 (a) values (4), (5), (6); +drop function f1; +create function f1() returns int +begin +declare x int; +call p1(x); +return x; +end| +create procedure p1(out x int) select max(a) from t1 into x; +prepare stmt from "select * from v1"; +execute stmt; +f1() +3 +execute stmt; +f1() +3 +call p_verify_reprepare_count(0); +SUCCESS + +drop procedure p1; +create procedure p1(out x int) select max(a) from t2 into x; +# XXX: bug. The prelocked list is not invalidated +# and we keep opening table t1, whereas the procedure +# is now referring to table t2 +execute stmt; +ERROR HY000: View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them +call p_verify_reprepare_count(0); +SUCCESS + +flush table t1; +execute stmt; +f1() +6 +call p_verify_reprepare_count(1); +SUCCESS + +execute stmt; +f1() +6 +# Test 18-c: dependent VIEW has changed +drop view v1; +create view v2 as select a from t1; +create view v1 as select * from v2; +prepare stmt from "select * from v1"; execute stmt; -a b c -10 20 50 -20 40 100 -30 60 150 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop table t17_b; -drop view t17; -===================================================================== -Testing 18: VIEW -> VIEW (VIEW dependencies) transitions -===================================================================== -drop table if exists t18; -drop table if exists t18_dependent_table; -drop view if exists t18_func; -drop view if exists t18_view; -drop view if exists t18_table; -drop function if exists view_func; -drop view if exists view_view; -create table t18(a int); -insert into t18 values (1), (2), (3); -create function view_func(x int) returns int -return x+1; -create view view_view as select "view v1" as reason from dual; -create table t18_dependent_table(a int); -create view t18_func as select a, view_func(a) as b from t18; -create view t18_view as select a, reason as b from t18, view_view; -create view t18_table as select * from t18; -prepare stmt_func from 'select * from t18_func'; -execute stmt_func; -a b -1 2 -2 3 -3 4 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -execute stmt_func; -a b -1 2 -2 3 -3 4 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop function view_func; -create function view_func(x int) returns int -return x*x; -set @expected = @expected + 1; -execute stmt_func; -a b -1 1 -2 4 -3 9 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -execute stmt_func; -a b -1 1 -2 4 -3 9 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -prepare stmt_view from 'select * from t18_view'; -execute stmt_view; -a b -1 view v1 -2 view v1 -3 view v1 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -execute stmt_view; -a b -1 view v1 -2 view v1 -3 view v1 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop view view_view; -create view view_view as select "view v2" as reason from dual; -set @expected = @expected + 1; -execute stmt_view; -a b -1 view v2 -2 view v2 -3 view v2 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -execute stmt_view; -a b -1 view v2 -2 view v2 -3 view v2 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -prepare stmt_table from 'select * from t18_table'; -execute stmt_table; a 1 2 3 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -execute stmt_table; +execute stmt; a 1 2 3 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -alter table t18 add column comments varchar(50) default NULL; -set @expected = @expected + 1; -execute stmt_table; +call p_verify_reprepare_count(0); +SUCCESS + +drop view v2; +create view v2 as select a from t2; +execute stmt; a 1 2 3 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -execute stmt_table; +execute stmt; a 1 2 3 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop table t18; -drop table t18_dependent_table; -drop view t18_func; -drop view t18_view; -drop view t18_table; -drop function view_func; -drop view view_view; +call p_verify_reprepare_count(0); +SUCCESS + +flush table t1; +execute stmt; +a +4 +5 +6 +call p_verify_reprepare_count(1); +SUCCESS + +execute stmt; +a +4 +5 +6 +# Test 18-d: dependent TABLE has changed +drop view v2; +create table v2 as select * from t1; +execute stmt; +a +1 +2 +3 +call p_verify_reprepare_count(1); +SUCCESS + +execute stmt; +a +1 +2 +3 +call p_verify_reprepare_count(0); +SUCCESS + +drop table v2; +create table v2 (a int unique) as select * from t2; +execute stmt; +a +4 +5 +6 +call p_verify_reprepare_count(1); +SUCCESS + +execute stmt; +a +4 +5 +6 +call p_verify_reprepare_count(0); +SUCCESS + +# Test 18-e: dependent TABLE trigger has changed +prepare stmt from "insert into v1 (a) values (?)"; +set @var= 7; +execute stmt using @var; +call p_verify_reprepare_count(0); +SUCCESS + +create trigger v2_bi before insert on v2 for each row set @message="v2_bi"; +set @var=8; +execute stmt using @var; +call p_verify_reprepare_count(1); +SUCCESS + +select @message; +@message +v2_bi +drop trigger v2_bi; +set @message=null; +set @var=9; +execute stmt using @var; +call p_verify_reprepare_count(1); +SUCCESS + +select @message; +@message +NULL +create trigger v2_bi after insert on v2 for each row set @message="v2_ai"; +set @var= 10; +execute stmt using @var; +call p_verify_reprepare_count(1); +SUCCESS + +select @message; +@message +v2_ai +select * from v1; +a +4 +5 +6 +7 +8 +9 +10 +# Cleanup +drop table if exists t1, t2, v1, v2; +drop view if exists v1, v2; +drop function f1; +drop procedure p1; +deallocate prepare stmt; ===================================================================== -Testing 19: Special tables (INFORMATION_SCHEMA) +Part 19: Special tables (INFORMATION_SCHEMA) ===================================================================== -drop procedure if exists proc_19; prepare stmt from -'select ROUTINE_SCHEMA, ROUTINE_NAME, ROUTINE_TYPE +"select ROUTINE_SCHEMA, ROUTINE_NAME, ROUTINE_TYPE from INFORMATION_SCHEMA.ROUTINES where - routine_name=\'proc_19\''; -create procedure proc_19() select "hi there"; + routine_name='p1'"; +create procedure p1() select "hi there"; execute stmt; ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE -test proc_19 PROCEDURE -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +test p1 PROCEDURE execute stmt; ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE -test proc_19 PROCEDURE -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop procedure proc_19; -create procedure proc_19() select "hi there, again"; +test p1 PROCEDURE +drop procedure p1; +create procedure p1() select "hi there, again"; execute stmt; ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE -test proc_19 PROCEDURE -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +test p1 PROCEDURE execute stmt; ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE -test proc_19 PROCEDURE -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop procedure proc_19; +test p1 PROCEDURE +call p_verify_reprepare_count(0); +SUCCESS + +drop procedure p1; +deallocate prepare stmt; ===================================================================== -Testing 20: Special tables (log tables) +Part 20: Special tables (log tables) ===================================================================== prepare stmt from -'select * from mysql.general_log where argument=\'IMPOSSIBLE QUERY STRING\''; +"select * from mysql.general_log where argument='IMPOSSIBLE QUERY STRING'"; execute stmt; -event_time user_host thread_id server_id command_type argument -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 execute stmt; -event_time user_host thread_id server_id command_type argument -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 execute stmt; -event_time user_host thread_id server_id command_type argument -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 execute stmt; -event_time user_host thread_id server_id command_type argument -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +call p_verify_reprepare_count(0); +SUCCESS + +deallocate prepare stmt; ===================================================================== -Testing 21: Special tables (system tables) +Part 21: Special tables (system tables) ===================================================================== -drop procedure if exists proc_21; prepare stmt from -'select type, db, name from mysql.proc where name=\'proc_21\''; -create procedure proc_21() select "hi there"; +"select type, db, name from mysql.proc where name='p1'"; +create procedure p1() select "hi there"; execute stmt; type db name -PROCEDURE test proc_21 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +PROCEDURE test p1 execute stmt; type db name -PROCEDURE test proc_21 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop procedure proc_21; -create procedure proc_21() select "hi there, again"; +PROCEDURE test p1 +drop procedure p1; +create procedure p1() select "hi there, again"; execute stmt; type db name -PROCEDURE test proc_21 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +PROCEDURE test p1 execute stmt; type db name -PROCEDURE test proc_21 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop procedure proc_21; +PROCEDURE test p1 +call p_verify_reprepare_count(0); +SUCCESS + +drop procedure p1; +deallocate prepare stmt; ===================================================================== -Testing 22: Special tables (views temp tables) +Part 22: Special tables (views temp tables) ===================================================================== -drop table if exists t22_b; -drop view if exists t22; -create table t22_b(a int); -create algorithm=temptable view t22 as select a*a as a2 from t22_b; -show create view t22; +create table t1 (a int); +create algorithm=temptable view v1 as select a*a as a2 from t1; +# Using a temporary table internally should not confuse the prepared +# statement code, and should not raise ER_PS_INVALIDATED errors +show create view v1; View Create View character_set_client collation_connection -t22 CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `t22` AS select (`t22_b`.`a` * `t22_b`.`a`) AS `a2` from `t22_b` latin1 latin1_swedish_ci -prepare stmt from 'select * from t22'; -insert into t22_b values (1), (2), (3); +v1 CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select (`t1`.`a` * `t1`.`a`) AS `a2` from `t1` latin1 latin1_swedish_ci +prepare stmt from "select * from v1"; +insert into t1 values (1), (2), (3); execute stmt; a2 1 4 9 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 execute stmt; a2 1 4 9 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -insert into t22_b values (4), (5), (6); +insert into t1 values (4), (5), (6); execute stmt; a2 1 @@ -1998,16 +1079,6 @@ a2 16 25 36 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 execute stmt; a2 1 @@ -2016,1333 +1087,291 @@ a2 16 25 36 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop table t22_b; -drop view t22; +call p_verify_reprepare_count(0); +SUCCESS + +drop table t1; +drop view v1; ===================================================================== -Testing 23: Special tables (internal join tables) +Part 23: Special statements ===================================================================== -drop table if exists t23_a; -drop table if exists t23_b; -create table t23_a(a int); -create table t23_b(b int); -prepare stmt from 'select * from t23_a join t23_b'; -insert into t23_a values (1), (2), (3); -insert into t23_b values (10), (20), (30); +# SQLCOM_ALTER_TABLE: +create table t1 (a int); +prepare stmt from "alter table t1 add column b int"; execute stmt; -a b -1 10 -2 10 -3 10 -1 20 -2 20 -3 20 -1 30 -2 30 -3 30 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +drop table t1; +create table t1 (a1 int, a2 int); +# t1 has changed, and it's does not lead to reprepare execute stmt; -a b -1 10 -2 10 -3 10 -1 20 -2 20 -3 20 -1 30 -2 30 -3 30 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -insert into t23_a values (4); -insert into t23_b values (40); +alter table t1 drop column b; execute stmt; -a b -1 10 -2 10 -3 10 -4 10 -1 20 -2 20 -3 20 -4 20 -1 30 -2 30 -3 30 -4 30 -1 40 -2 40 -3 40 -4 40 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +alter table t1 drop column b; execute stmt; -a b -1 10 -2 10 -3 10 -4 10 -1 20 -2 20 -3 20 -4 20 -1 30 -2 30 -3 30 -4 30 -1 40 -2 40 -3 40 -4 40 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop table t23_a; -drop table t23_b; -===================================================================== -Testing 24: Special statements -===================================================================== -drop table if exists t24_alter; -create table t24_alter(a int); -prepare stmt from 'alter table t24_alter add column b int'; -execute stmt; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop table t24_alter; -create table t24_alter(a1 int, a2 int); -execute stmt; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -alter table t24_alter drop column b; -execute stmt; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -alter table t24_alter drop column b; -execute stmt; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop table t24_alter; -drop table if exists t24_repair; -create table t24_repair(a int); -insert into t24_repair values (1), (2), (3); -prepare stmt from 'repair table t24_repair'; +call p_verify_reprepare_count(0); +SUCCESS + +drop table t1; +# SQLCOM_REPAIR: +create table t1 (a int); +insert into t1 values (1), (2), (3); +prepare stmt from "repair table t1"; execute stmt; Table Op Msg_type Msg_text -test.t24_repair repair status OK -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop table t24_repair; -create table t24_repair(a1 int, a2 int); -insert into t24_repair values (1, 10), (2, 20), (3, 30); +test.t1 repair status OK execute stmt; Table Op Msg_type Msg_text -test.t24_repair repair status OK -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -alter table t24_repair add column b varchar(50) default NULL; +test.t1 repair status OK +drop table t1; +create table t1 (a1 int, a2 int); +insert into t1 values (1, 10), (2, 20), (3, 30); +# t1 has changed, and it's does not lead to reprepare execute stmt; Table Op Msg_type Msg_text -test.t24_repair repair status OK -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -alter table t24_repair drop column b; +test.t1 repair status OK +alter table t1 add column b varchar(50) default NULL; execute stmt; Table Op Msg_type Msg_text -test.t24_repair repair status OK -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop table t24_repair; -drop table if exists t24_analyze; -create table t24_analyze(a int); -insert into t24_analyze values (1), (2), (3); -prepare stmt from 'analyze table t24_analyze'; +test.t1 repair status OK +call p_verify_reprepare_count(0); +SUCCESS + +alter table t1 drop column b; execute stmt; Table Op Msg_type Msg_text -test.t24_analyze analyze status OK -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop table t24_analyze; -create table t24_analyze(a1 int, a2 int); -insert into t24_analyze values (1, 10), (2, 20), (3, 30); +test.t1 repair status OK +call p_verify_reprepare_count(0); +SUCCESS + +# SQLCOM_ANALYZE: +prepare stmt from "analyze table t1"; execute stmt; Table Op Msg_type Msg_text -test.t24_analyze analyze status OK -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -alter table t24_analyze add column b varchar(50) default NULL; +test.t1 analyze status OK +drop table t1; +create table t1 (a1 int, a2 int); +insert into t1 values (1, 10), (2, 20), (3, 30); +# t1 has changed, and it's not a problem execute stmt; Table Op Msg_type Msg_text -test.t24_analyze analyze status OK -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -alter table t24_analyze drop column b; +test.t1 analyze status OK +alter table t1 add column b varchar(50) default NULL; execute stmt; Table Op Msg_type Msg_text -test.t24_analyze analyze status OK -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop table t24_analyze; -drop table if exists t24_optimize; -create table t24_optimize(a int); -insert into t24_optimize values (1), (2), (3); -prepare stmt from 'optimize table t24_optimize'; +test.t1 analyze status OK +alter table t1 drop column b; execute stmt; Table Op Msg_type Msg_text -test.t24_optimize optimize status OK -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop table t24_optimize; -create table t24_optimize(a1 int, a2 int); -insert into t24_optimize values (1, 10), (2, 20), (3, 30); +test.t1 analyze status OK +call p_verify_reprepare_count(0); +SUCCESS + +# SQLCOM_OPTIMIZE: +prepare stmt from "optimize table t1"; execute stmt; Table Op Msg_type Msg_text -test.t24_optimize optimize status OK -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -alter table t24_optimize add column b varchar(50) default NULL; +test.t1 optimize status Table is already up to date +drop table t1; +create table t1 (a1 int, a2 int); +insert into t1 values (1, 10), (2, 20), (3, 30); +# t1 has changed, and it's not a problem execute stmt; Table Op Msg_type Msg_text -test.t24_optimize optimize status OK -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -alter table t24_optimize drop column b; +test.t1 optimize status OK +alter table t1 add column b varchar(50) default NULL; execute stmt; Table Op Msg_type Msg_text -test.t24_optimize optimize status OK -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop table t24_optimize; -drop procedure if exists changing_proc; -prepare stmt from 'show create procedure changing_proc'; +test.t1 optimize status OK +alter table t1 drop column b; execute stmt; -ERROR 42000: PROCEDURE changing_proc does not exist -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +Table Op Msg_type Msg_text +test.t1 optimize status OK +call p_verify_reprepare_count(0); +SUCCESS + +drop table t1; +# SQLCOM_SHOW_CREATE_PROC: +prepare stmt from "show create procedure p1"; execute stmt; -ERROR 42000: PROCEDURE changing_proc does not exist -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -create procedure changing_proc() begin end; +ERROR 42000: PROCEDURE p1 does not exist execute stmt; -Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation -changing_proc CREATE DEFINER=`root`@`localhost` PROCEDURE `changing_proc`() -begin end latin1 latin1_swedish_ci latin1_swedish_ci -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +ERROR 42000: PROCEDURE p1 does not exist +create procedure p1() begin end; execute stmt; -Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation -changing_proc CREATE DEFINER=`root`@`localhost` PROCEDURE `changing_proc`() -begin end latin1 latin1_swedish_ci latin1_swedish_ci -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop procedure changing_proc; -create procedure changing_proc(x int, y int) begin end; execute stmt; -Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation -changing_proc CREATE DEFINER=`root`@`localhost` PROCEDURE `changing_proc`(x int, y int) -begin end latin1 latin1_swedish_ci latin1_swedish_ci -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +drop procedure p1; +create procedure p1(x int, y int) begin end; execute stmt; -Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation -changing_proc CREATE DEFINER=`root`@`localhost` PROCEDURE `changing_proc`(x int, y int) -begin end latin1 latin1_swedish_ci latin1_swedish_ci -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop procedure changing_proc; execute stmt; -ERROR 42000: PROCEDURE changing_proc does not exist -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +drop procedure p1; execute stmt; -ERROR 42000: PROCEDURE changing_proc does not exist -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop function if exists changing_func; -prepare stmt from 'show create function changing_func'; +ERROR 42000: PROCEDURE p1 does not exist execute stmt; -ERROR 42000: FUNCTION changing_func does not exist -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +ERROR 42000: PROCEDURE p1 does not exist +call p_verify_reprepare_count(0); +SUCCESS + +# SQLCOM_SHOW_CREATE_FUNC: +prepare stmt from "show create function f1"; execute stmt; -ERROR 42000: FUNCTION changing_func does not exist -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -create function changing_func() returns int return 0; +ERROR 42000: FUNCTION f1 does not exist execute stmt; -Function sql_mode Create Function character_set_client collation_connection Database Collation -changing_func CREATE DEFINER=`root`@`localhost` FUNCTION `changing_func`() RETURNS int(11) -return 0 latin1 latin1_swedish_ci latin1_swedish_ci -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +ERROR 42000: FUNCTION f1 does not exist +create function f1() returns int return 0; execute stmt; -Function sql_mode Create Function character_set_client collation_connection Database Collation -changing_func CREATE DEFINER=`root`@`localhost` FUNCTION `changing_func`() RETURNS int(11) -return 0 latin1 latin1_swedish_ci latin1_swedish_ci -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop function changing_func; -create function changing_func(x int, y int) returns int return x+y; execute stmt; -Function sql_mode Create Function character_set_client collation_connection Database Collation -changing_func CREATE DEFINER=`root`@`localhost` FUNCTION `changing_func`(x int, y int) RETURNS int(11) -return x+y latin1 latin1_swedish_ci latin1_swedish_ci -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +drop function f1; +create function f1(x int, y int) returns int return x+y; execute stmt; -Function sql_mode Create Function character_set_client collation_connection Database Collation -changing_func CREATE DEFINER=`root`@`localhost` FUNCTION `changing_func`(x int, y int) RETURNS int(11) -return x+y latin1 latin1_swedish_ci latin1_swedish_ci -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop function changing_func; execute stmt; -ERROR 42000: FUNCTION changing_func does not exist -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +drop function f1; execute stmt; -ERROR 42000: FUNCTION changing_func does not exist -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop table if exists t24_trigger; -create table t24_trigger(a int); -prepare stmt from 'show create trigger t24_bi;'; +ERROR 42000: FUNCTION f1 does not exist +execute stmt; +ERROR 42000: FUNCTION f1 does not exist +call p_verify_reprepare_count(0); +SUCCESS + +# SQLCOM_SHOW_CREATE_TRIGGER: +create table t1 (a int); +prepare stmt from "show create trigger t1_bi"; execute stmt; ERROR HY000: Trigger does not exist -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 execute stmt; ERROR HY000: Trigger does not exist -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -create trigger t24_bi before insert on t24_trigger for each row -begin -set @message= "t24_bi"; -end -$$ +create trigger t1_bi before insert on t1 for each row set @message= "t1_bi"; execute stmt; -Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation -t24_bi CREATE DEFINER=`root`@`localhost` trigger t24_bi before insert on t24_trigger for each row -begin -set @message= "t24_bi"; -end latin1 latin1_swedish_ci latin1_swedish_ci -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 execute stmt; -Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation -t24_bi CREATE DEFINER=`root`@`localhost` trigger t24_bi before insert on t24_trigger for each row -begin -set @message= "t24_bi"; -end latin1 latin1_swedish_ci latin1_swedish_ci -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop trigger t24_bi; -create trigger t24_bi before insert on t24_trigger for each row -begin -set @message= "t24_bi (2)"; -end -$$ -set @expected = @expected + 1; +drop trigger t1_bi; +create trigger t1_bi before insert on t1 for each row set @message= "t1_bi (2)"; execute stmt; -Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation -t24_bi CREATE DEFINER=`root`@`localhost` trigger t24_bi before insert on t24_trigger for each row -begin -set @message= "t24_bi (2)"; -end latin1 latin1_swedish_ci latin1_swedish_ci -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 execute stmt; -Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation -t24_bi CREATE DEFINER=`root`@`localhost` trigger t24_bi before insert on t24_trigger for each row -begin -set @message= "t24_bi (2)"; -end latin1 latin1_swedish_ci latin1_swedish_ci -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop trigger t24_bi; +drop trigger t1_bi; execute stmt; ERROR HY000: Trigger does not exist -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 execute stmt; ERROR HY000: Trigger does not exist -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop table t24_trigger; +call p_verify_reprepare_count(0); +SUCCESS + +drop table t1; +deallocate prepare stmt; ===================================================================== -Testing 25: Testing the strength of TABLE_SHARE version +Part 24: Testing the strength of TABLE_SHARE version ===================================================================== -drop table if exists t25_num_col; -create table t25_num_col(a int); -prepare stmt from 'select a from t25_num_col'; +# Test 24-a: number of columns +create table t1 (a int); +prepare stmt from "select a from t1"; execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +call p_verify_reprepare_count(0); +SUCCESS + +alter table t1 add column b varchar(50) default NULL; execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -alter table t25_num_col add column b varchar(50) default NULL; -set @expected = @expected + 1; +call p_verify_reprepare_count(1); +SUCCESS + execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +call p_verify_reprepare_count(0); +SUCCESS + +# Test 24-b: column name +alter table t1 change b c int; execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop table t25_num_col; -drop table if exists t25_col_name; -create table t25_col_name(a int); -prepare stmt from 'select * from t25_col_name'; +call p_verify_reprepare_count(1); +SUCCESS + execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +call p_verify_reprepare_count(0); +SUCCESS + +# Test 24-c: column type +alter table t1 change a a varchar(10); execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -alter table t25_col_name change a b int; -set @expected = @expected + 1; -execute stmt; -ERROR HY000: Prepared statement result set has changed, rebind needed -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -set @expected = @expected + 1; -execute stmt; -ERROR HY000: Prepared statement result set has changed, rebind needed -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop table t25_col_name; -drop table if exists t25_col_type; -create table t25_col_type(a int); -prepare stmt from 'select * from t25_col_type'; +call p_verify_reprepare_count(1); +SUCCESS + execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +call p_verify_reprepare_count(0); +SUCCESS + +# Test 24-d: column type length +alter table t1 change a a varchar(20); execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -alter table t25_col_type change a a varchar(10); -set @expected = @expected + 1; -execute stmt; -ERROR HY000: Prepared statement result set has changed, rebind needed -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -set @expected = @expected + 1; -execute stmt; -ERROR HY000: Prepared statement result set has changed, rebind needed -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop table t25_col_type; -drop table if exists t25_col_type_length; -create table t25_col_type_length(a varchar(10)); -prepare stmt from 'select * from t25_col_type_length'; +call p_verify_reprepare_count(1); +SUCCESS + execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +call p_verify_reprepare_count(0); +SUCCESS + +# Test 24-e: column NULL property +alter table t1 change a a varchar(20) NOT NULL; execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -alter table t25_col_type_length change a a varchar(20); -set @expected = @expected + 1; -execute stmt; -ERROR HY000: Prepared statement result set has changed, rebind needed -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -set @expected = @expected + 1; -execute stmt; -ERROR HY000: Prepared statement result set has changed, rebind needed -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop table t25_col_type_length; -drop table if exists t25_col_null; -create table t25_col_null(a varchar(10)); -prepare stmt from 'select * from t25_col_null'; +call p_verify_reprepare_count(1); +SUCCESS + execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +call p_verify_reprepare_count(0); +SUCCESS + +# Test 24-f: column DEFAULT +alter table t1 change c c int DEFAULT 20; execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -alter table t25_col_null change a a varchar(10) NOT NULL; -set @expected = @expected + 1; -execute stmt; -ERROR HY000: Prepared statement result set has changed, rebind needed -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -set @expected = @expected + 1; -execute stmt; -ERROR HY000: Prepared statement result set has changed, rebind needed -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop table t25_col_null; -drop table if exists t25_col_default; -create table t25_col_default(a int, b int DEFAULT 10); -prepare stmt from 'insert into t25_col_default(a) values (?)'; -set @val=1; -execute stmt using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -set @val=2; -execute stmt using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -alter table t25_col_default change b b int DEFAULT 20; -set @val=3; -set @expected = @expected + 1; -execute stmt using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -set @val=4; -execute stmt using @val; -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -select * from t25_col_default; -a b -1 10 -2 10 -3 20 -4 20 -drop table t25_col_default; -drop table if exists t25_index; -create table t25_index(a varchar(10)); -prepare stmt from 'select * from t25_index'; +call p_verify_reprepare_count(1); +SUCCESS + execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +call p_verify_reprepare_count(0); +SUCCESS + +# Test 24-g: number of keys +create unique index t1_a_idx on t1 (a); execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -create index i1 on t25_index(a); -set @expected = @expected + 1; +call p_verify_reprepare_count(1); +SUCCESS + execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +call p_verify_reprepare_count(0); +SUCCESS + +# Test 24-h: changing index uniqueness +drop index t1_a_idx on t1; +create index t1_a_idx on t1 (a); execute stmt; a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop table t25_index; -drop table if exists t25_index_unique; -create table t25_index_unique(a varchar(10), b varchar(10)); -create index i1 on t25_index_unique(a, b); -show create table t25_index_unique; -Table Create Table -t25_index_unique CREATE TABLE `t25_index_unique` ( - `a` varchar(10) DEFAULT NULL, - `b` varchar(10) DEFAULT NULL, - KEY `i1` (`a`,`b`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 -prepare stmt from 'select * from t25_index_unique'; +call p_verify_reprepare_count(1); +SUCCESS + execute stmt; -a b -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -execute stmt; -a b -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -alter table t25_index_unique drop index i1; -create unique index i1 on t25_index_unique(a, b); -show create table t25_index_unique; -Table Create Table -t25_index_unique CREATE TABLE `t25_index_unique` ( - `a` varchar(10) DEFAULT NULL, - `b` varchar(10) DEFAULT NULL, - UNIQUE KEY `i1` (`a`,`b`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1 -set @expected = @expected + 1; -execute stmt; -a b -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -execute stmt; -a b -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop table t25_index_unique; +a +call p_verify_reprepare_count(0); +SUCCESS + +# Cleanup +drop table t1; +deallocate prepare stmt; ===================================================================== Testing reported bugs ===================================================================== -drop table if exists table_12093; -drop function if exists func_12093; -drop function if exists func_12093_unrelated; -drop procedure if exists proc_12093; -create table table_12093(a int); -create function func_12093() -returns int -begin -return (select count(*) from table_12093); -end// -create procedure proc_12093(a int) -begin -select * from table_12093; -end// -create function func_12093_unrelated() returns int return 2; -create procedure proc_12093_unrelated() begin end; -prepare stmt_sf from 'select func_12093();'; -prepare stmt_sp from 'call proc_12093(func_12093())'; -execute stmt_sf; -func_12093() -0 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -execute stmt_sp; -a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop function func_12093_unrelated; -drop procedure proc_12093_unrelated; -execute stmt_sf; -func_12093() -0 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -execute stmt_sp; -a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -execute stmt_sf; -func_12093() -0 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -execute stmt_sp; -a -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -deallocate prepare stmt_sf; -deallocate prepare stmt_sp; -drop table table_12093; -drop function func_12093; -drop procedure proc_12093; -drop function if exists func_21294; -create function func_21294() returns int return 10; -prepare stmt from "select func_21294()"; -execute stmt; -func_21294() -10 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop function func_21294; -create function func_21294() returns int return 10; -execute stmt; -func_21294() -10 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -drop function func_21294; -create function func_21294() returns int return 20; -set @expected = @expected + 1; -execute stmt; -func_21294() -20 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -deallocate prepare stmt; -drop function func_21294; +# +# Bug#27420 A combination of PS and view operations cause +# error + assertion on shutdown +# drop table if exists t_27420_100; drop table if exists t_27420_101; drop view if exists v_27420; @@ -3353,55 +1382,36 @@ insert into t_27420_101 values (1), (2); create view v_27420 as select t_27420_100.a X, t_27420_101.a Y from t_27420_100, t_27420_101 where t_27420_100.a=t_27420_101.a; -prepare stmt from 'select * from v_27420'; +prepare stmt from "select * from v_27420"; execute stmt; X Y 1 1 2 2 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +call p_verify_reprepare_count(0); +SUCCESS + drop view v_27420; create table v_27420(X int, Y int); -set @expected = @expected + 1; execute stmt; X Y -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +call p_verify_reprepare_count(1); +SUCCESS + drop table v_27420; create table v_27420 (a int, b int, filler char(200)); -set @expected = @expected + 1; execute stmt; -ERROR HY000: Prepared statement result set has changed, rebind needed -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -deallocate prepare stmt; +a b filler +call p_verify_reprepare_count(1); +SUCCESS + drop table t_27420_100; drop table t_27420_101; drop table v_27420; +deallocate prepare stmt; +# +# Bug#27430 Crash in subquery code when in PS and table DDL changed +# after PREPARE +# drop table if exists t_27430_1; drop table if exists t_27430_2; create table t_27430_1 (a int not null, oref int not null, key(a)); @@ -3417,43 +1427,20 @@ insert into t_27430_2 values (2, 2), (1234, 3), (1234, 4); -prepare stmt from -'select oref, a, a in (select a from t_27430_1 where oref=t_27430_2.oref) Z from t_27430_2'; +prepare stmt from +"select oref, a, a in (select a from t_27430_1 where oref=t_27430_2.oref) Z from t_27430_2"; execute stmt; oref a Z 1 1 1 2 2 0 3 1234 0 4 1234 0 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -execute stmt; -oref a Z -1 1 1 -2 2 0 -3 1234 0 -4 1234 0 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +call p_verify_reprepare_count(0); +SUCCESS + drop table t_27430_1, t_27430_2; create table t_27430_1 (a int, oref int, key(a)); -insert into t_27430_1 values +insert into t_27430_1 values (1, 1), (1, NULL), (2, 3), @@ -3465,35 +1452,22 @@ insert into t_27430_2 values (2,2), (NULL, 3), (NULL, 4); -set @expected = @expected + 1; execute stmt; -ERROR HY000: Prepared statement result set has changed, rebind needed -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -set @expected = @expected + 1; -execute stmt; -ERROR HY000: Prepared statement result set has changed, rebind needed -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -deallocate prepare stmt; +oref a Z +1 1 1 +2 2 0 +3 NULL NULL +4 NULL 0 +call p_verify_reprepare_count(1); +SUCCESS + drop table t_27430_1; drop table t_27430_2; +deallocate prepare stmt; +# +# Bug#27690 Re-execution of prepared statement after table +# was replaced with a view crashes +# drop table if exists t_27690_1; drop view if exists v_27690_1; drop table if exists v_27690_2; @@ -3501,66 +1475,28 @@ create table t_27690_1 (a int, b int); insert into t_27690_1 values (1,1),(2,2); create table v_27690_1 as select * from t_27690_1; create table v_27690_2 as select * from t_27690_1; -prepare stmt from 'select * from v_27690_1, v_27690_2'; +prepare stmt from "select * from v_27690_1, v_27690_2"; execute stmt; a b a b 1 1 1 1 2 2 1 1 1 1 2 2 2 2 2 2 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 execute stmt; a b a b 1 1 1 1 2 2 1 1 1 1 2 2 2 2 2 2 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 drop table v_27690_1; execute stmt; ERROR 42S02: Table 'test.v_27690_1' doesn't exist -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 execute stmt; ERROR 42S02: Table 'test.v_27690_1' doesn't exist -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +call p_verify_reprepare_count(0); +SUCCESS + create view v_27690_1 as select A.a, A.b from t_27690_1 A, t_27690_1 B; -set @expected = @expected + 1; execute stmt; a b a b 1 1 1 1 @@ -3571,16 +1507,9 @@ a b a b 2 2 2 2 1 1 2 2 2 2 2 2 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 +call p_verify_reprepare_count(1); +SUCCESS + execute stmt; a b a b 1 1 1 1 @@ -3591,17 +1520,685 @@ a b a b 2 2 2 2 1 1 2 2 2 2 2 2 -SELECT CASE (VARIABLE_VALUE - @base_count - @expected) -WHEN 0 THEN "PASSED" - ELSE "FAILED" - END -AS `CHECK`, -(VARIABLE_VALUE - @base_count - @expected) AS `OFFSET` - from INFORMATION_SCHEMA.SESSION_STATUS -where variable_name='COM_STMT_REPREPARE' ; -CHECK OFFSET -PASSED 0 -deallocate prepare stmt; +call p_verify_reprepare_count(0); +SUCCESS + drop table t_27690_1; drop view v_27690_1; drop table v_27690_2; +deallocate prepare stmt; +#===================================================================== +# TODO: fix the below two bugs and modify their tests +# +# Bug#21294 Executing a prepared statement that executes +# a stored function which was recreat +# +create function f1() returns int return 10; +prepare stmt from "select f1()"; +execute stmt; +f1() +10 +drop function f1; +create function f1() returns int return 10; +execute stmt; +ERROR 42000: FUNCTION test.f1 does not exist +drop function f1; +create function f1() returns int return 20; +execute stmt; +ERROR 42000: FUNCTION test.f1 does not exist +call p_verify_reprepare_count(0); +SUCCESS + +drop function f1; +deallocate prepare stmt; +# +# Bug#12093 SP not found on second PS execution if another thread drops +# other SP in between +# +drop table if exists t_12093; +drop function if exists f_12093; +drop function if exists f_12093_unrelated; +drop procedure if exists p_12093; +create table t_12093 (a int); +create function f_12093() returns int return (select count(*) from t_12093); +create procedure p_12093(a int) select * from t_12093; +create function f_12093_unrelated() returns int return 2; +create procedure p_12093_unrelated() begin end; +prepare stmt_sf from 'select f_12093();'; +prepare stmt_sp from 'call p_12093(f_12093())'; +execute stmt_sf; +f_12093() +0 +execute stmt_sp; +a +drop function f_12093_unrelated; +drop procedure p_12093_unrelated; +# XXX: bug +execute stmt_sf; +ERROR 42000: FUNCTION test.f_12093 does not exist +# XXX: bug +execute stmt_sp; +ERROR 42000: PROCEDURE test.p_12093 does not exist +# XXX: bug +execute stmt_sf; +ERROR 42000: FUNCTION test.f_12093 does not exist +# XXX: bug +execute stmt_sp; +ERROR 42000: PROCEDURE test.p_12093 does not exist +call p_verify_reprepare_count(0); +SUCCESS + +drop table t_12093; +drop function f_12093; +drop procedure p_12093; +deallocate prepare stmt_sf; +deallocate prepare stmt_sp; +===================================================================== +Ensure that metadata validation is performed for every type of +SQL statement where it is needed. +===================================================================== +# +# SQLCOM_SELECT +# +drop table if exists t1; +create table t1 (a int); +prepare stmt from "select 1 as res from dual where (1) in (select * from t1)"; +drop table t1; +create table t1 (x int); +execute stmt; +res +drop table t1; +deallocate prepare stmt; +call p_verify_reprepare_count(1); +SUCCESS + +# +# SQLCOM_CREATE_TABLE +# +drop table if exists t1; +drop table if exists t2; +create table t1 (a int); +prepare stmt from 'create table t2 as select * from t1'; +execute stmt; +drop table t2; +execute stmt; +drop table t2; +execute stmt; +call p_verify_reprepare_count(0); +SUCCESS + +execute stmt; +ERROR 42S01: Table 't2' already exists +call p_verify_reprepare_count(1); +SUCCESS + +execute stmt; +ERROR 42S01: Table 't2' already exists +call p_verify_reprepare_count(0); +SUCCESS + +drop table t2; +create temporary table t2 (a int); +execute stmt; +ERROR 42S01: Table 't2' already exists +call p_verify_reprepare_count(1); +SUCCESS + +execute stmt; +ERROR 42S01: Table 't2' already exists +call p_verify_reprepare_count(0); +SUCCESS + +drop temporary table t2; +execute stmt; +call p_verify_reprepare_count(1); +SUCCESS + +drop table t2; +execute stmt; +call p_verify_reprepare_count(0); +SUCCESS + +drop table t2; +create view t2 as select 1; +execute stmt; +Got one of the listed errors +call p_verify_reprepare_count(1); +SUCCESS + +execute stmt; +Got one of the listed errors +call p_verify_reprepare_count(0); +SUCCESS + +drop view t2; +drop table t1; +create table t1 (x varchar(20)); +execute stmt; +call p_verify_reprepare_count(1); +SUCCESS + +select * from t2; +x +drop table t2; +execute stmt; +call p_verify_reprepare_count(0); +SUCCESS + +drop table t2; +alter table t1 add column y decimal(10,3); +execute stmt; +call p_verify_reprepare_count(1); +SUCCESS + +select * from t2; +x y +drop table t2; +execute stmt; +call p_verify_reprepare_count(0); +SUCCESS + +drop table t1; +deallocate prepare stmt; +# XXX: no validation of the first table in case of +# CREATE TEMPORARY TABLE. This is a shortcoming of the current code, +# but since validation is not strictly necessary, nothing is done +# about it. +# Will be fixed as part of work on Bug#21431 "Incomplete support of +# temporary tables" +create table t1 (a int); +insert into t1 (a) values (1); +prepare stmt from "create temporary table if not exists t2 as select * from t1"; +execute stmt; +drop table t2; +execute stmt; +execute stmt; +Warnings: +Note 1050 Table 't2' already exists +select * from t2; +a +1 +1 +execute stmt; +Warnings: +Note 1050 Table 't2' already exists +select * from t2; +a +1 +1 +1 +drop table t2; +create temporary table t2 (a varchar(10)); +execute stmt; +Warnings: +Note 1050 Table 't2' already exists +select * from t2; +a +1 +call p_verify_reprepare_count(0); +SUCCESS + +drop table t1; +create table t1 (x int); +execute stmt; +Warnings: +Note 1050 Table 't2' already exists +call p_verify_reprepare_count(1); +SUCCESS + +execute stmt; +Warnings: +Note 1050 Table 't2' already exists +call p_verify_reprepare_count(0); +SUCCESS + +drop table t1; +drop temporary table t2; +drop table t2; +deallocate prepare stmt; +create table t1 (a int); +prepare stmt from "create table t2 like t1"; +execute stmt; +call p_verify_reprepare_count(0); +SUCCESS + +drop table t2; +execute stmt; +call p_verify_reprepare_count(0); +SUCCESS + +drop table t2; +drop table t1; +execute stmt; +ERROR 42S02: Table 'test.t1' doesn't exist +call p_verify_reprepare_count(0); +SUCCESS + +execute stmt; +ERROR 42S02: Table 'test.t1' doesn't exist +call p_verify_reprepare_count(0); +SUCCESS + +create table t1 (x char(17)); +execute stmt; +call p_verify_reprepare_count(1); +SUCCESS + +drop table t2; +execute stmt; +call p_verify_reprepare_count(0); +SUCCESS + +drop table t2; +alter table t1 add column y time; +execute stmt; +call p_verify_reprepare_count(1); +SUCCESS + +select * from t2; +x y +drop table t2; +execute stmt; +call p_verify_reprepare_count(0); +SUCCESS + +drop table t1; +drop table t2; +deallocate prepare stmt; +# +# SQLCOM_UPDATE +# +drop table if exists t1, t2; +create table t1 (a int); +create table t2 (a int); +prepare stmt from "update t2 set a=a+1 where (1) in (select * from t1)"; +execute stmt; +drop table t1; +create table t1 (x int); +execute stmt; +drop table t1, t2; +deallocate prepare stmt; +# +# SQLCOM_INSERT +# +drop table if exists t1, t2; +create table t1 (a int); +create table t2 (a int); +prepare stmt from "insert into t2 set a=((1) in (select * from t1))"; +execute stmt; +drop table t1; +create table t1 (x int); +execute stmt; +drop table t1, t2; +deallocate prepare stmt; +# +# SQLCOM_INSERT_SELECT +# +drop table if exists t1, t2; +create table t1 (a int); +create table t2 (a int); +prepare stmt from "insert into t2 select * from t1"; +execute stmt; +drop table t1; +create table t1 (x int); +execute stmt; +drop table t1, t2; +deallocate prepare stmt; +# +# SQLCOM_REPLACE +# +drop table if exists t1, t2; +create table t1 (a int); +create table t2 (a int); +prepare stmt from "replace t2 set a=((1) in (select * from t1))"; +execute stmt; +drop table t1; +create table t1 (x int); +execute stmt; +drop table t1, t2; +deallocate prepare stmt; +# +# SQLCOM_REPLACE_SELECT +# +drop table if exists t1, t2; +create table t1 (a int); +create table t2 (a int); +prepare stmt from "replace t2 select * from t1"; +execute stmt; +drop table t1; +create table t1 (x int); +execute stmt; +drop table t1, t2; +deallocate prepare stmt; +# +# SQLCOM_DELETE +# +drop table if exists t1, t2; +create table t1 (a int); +create table t2 (a int); +prepare stmt from "delete from t2 where (1) in (select * from t1)"; +execute stmt; +drop table t1; +create table t1 (x int); +execute stmt; +drop table t1, t2; +deallocate prepare stmt; +# +# SQLCOM_DELETE_MULTI +# +drop table if exists t1, t2, t3; +create table t1 (a int); +create table t2 (a int); +create table t3 (a int); +prepare stmt from "delete t2, t3 from t2, t3 where (1) in (select * from t1)"; +execute stmt; +drop table t1; +create table t1 (x int); +execute stmt; +drop table t1, t2, t3; +deallocate prepare stmt; +# +# SQLCOM_UPDATE_MULTI +# +drop table if exists t1, t2, t3; +create table t1 (a int); +create table t2 (a int); +create table t3 (a int); +prepare stmt from "update t2, t3 set t3.a=t2.a, t2.a=null where (1) in (select * from t1)"; +drop table t1; +create table t1 (x int); +execute stmt; +drop table t1, t2, t3; +deallocate prepare stmt; +# Intermediate results: 8 SQLCOMs tested, 8 automatic reprepares +call p_verify_reprepare_count(8); +SUCCESS + +# +# SQLCOM_LOAD +# +drop table if exists t1; +create table t1 (a varchar(20)); +prepare stmt from "load data infile '../std_data_ln/words.dat' into table t1"; +ERROR HY000: This command is not supported in the prepared statement protocol yet +drop table t1; +# +# SQLCOM_SHOW_DATABASES +# +drop table if exists t1; +create table t1 (a int); +prepare stmt from "show databases where (1) in (select * from t1)"; +execute stmt; +Database +drop table t1; +create table t1 (x int); +execute stmt; +Database +drop table t1; +deallocate prepare stmt; +# +# SQLCOM_SHOW_TABLES +# +drop table if exists t1; +create table t1 (a int); +prepare stmt from "show tables where (1) in (select * from t1)"; +execute stmt; +Tables_in_test +drop table t1; +create table t1 (x int); +execute stmt; +Tables_in_test +drop table t1; +deallocate prepare stmt; +# +# SQLCOM_SHOW_FIELDS +# +drop table if exists t1; +create table t1 (a int); +prepare stmt from "show fields from t1 where (1) in (select * from t1)"; +execute stmt; +Field Type Null Key Default Extra +drop table t1; +create table t1 (x int); +execute stmt; +Field Type Null Key Default Extra +drop table t1; +deallocate prepare stmt; +# +# SQLCOM_SHOW_KEYS +# +drop table if exists t1; +create table t1 (a int); +prepare stmt from "show keys from t1 where (1) in (select * from t1)"; +execute stmt; +Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment +drop table t1; +create table t1 (x int); +execute stmt; +Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment +drop table t1; +deallocate prepare stmt; +# +# SQLCOM_SHOW_VARIABLES +# +drop table if exists t1; +create table t1 (a int); +prepare stmt from "show variables where (1) in (select * from t1)"; +execute stmt; +Variable_name Value +drop table t1; +create table t1 (x int); +execute stmt; +Variable_name Value +drop table t1; +deallocate prepare stmt; +# +# SQLCOM_SHOW_STATUS +# +drop table if exists t1; +create table t1 (a int); +prepare stmt from "show status where (1) in (select * from t1)"; +execute stmt; +Variable_name Value +drop table t1; +create table t1 (x int); +execute stmt; +Variable_name Value +drop table t1; +deallocate prepare stmt; +# +# SQLCOM_SHOW_ENGINE_STATUS, SQLCOM_SHOW_ENGINE_LOGS, +# SQLCOM_SHOW_ENGINE_MUTEX, SQLCOM_SHOW_PROCESSLIST +# +# Currently can not have a where clause, need to be covered +# with tests +drop table if exists t1; +create table t1 (a int); +prepare stmt from "show engine all status where (1) in (select * from t1)"; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where (1) in (select * from t1)' at line 1 +prepare stmt from "show engine all logs where (1) in (select * from t1)"; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where (1) in (select * from t1)' at line 1 +prepare stmt from "show engine all mutex where (1) in (select * from t1)"; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where (1) in (select * from t1)' at line 1 +prepare stmt from "show processlist where (1) in (select * from t1)"; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where (1) in (select * from t1)' at line 1 +drop table t1; +# +# SQLCOM_SHOW_CHARSETS +# +drop table if exists t1; +create table t1 (a int); +prepare stmt from "show charset where (1) in (select * from t1)"; +execute stmt; +Charset Description Default collation Maxlen +drop table t1; +create table t1 (x int); +execute stmt; +Charset Description Default collation Maxlen +drop table t1; +deallocate prepare stmt; +# +# SQLCOM_SHOW_COLLATIONS +# +drop table if exists t1; +create table t1 (a int); +prepare stmt from "show collation where (1) in (select * from t1)"; +execute stmt; +Collation Charset Id Default Compiled Sortlen +drop table t1; +create table t1 (x int); +execute stmt; +Collation Charset Id Default Compiled Sortlen +drop table t1; +deallocate prepare stmt; +# +# SQLCOM_SHOW_TABLE_STATUS +# +drop table if exists t1; +create table t1 (a int); +prepare stmt from "show table status where (1) in (select * from t1)"; +execute stmt; +Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment +drop table t1; +create table t1 (x int); +execute stmt; +Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment +drop table t1; +deallocate prepare stmt; +# +# SQLCOM_SHOW_TRIGGERS +# +drop table if exists t1; +create table t1 (a int); +prepare stmt from "show triggers where (1) in (select * from t1)"; +execute stmt; +Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation +drop table t1; +create table t1 (x int); +execute stmt; +Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation +drop table t1; +deallocate prepare stmt; +# +# SQLCOM_SHOW_OPEN_TABLES +# +drop table if exists t1; +create table t1 (a int); +prepare stmt from "show open tables where (1) in (select * from t1)"; +execute stmt; +Database Table In_use Name_locked +drop table t1; +create table t1 (x int); +execute stmt; +Database Table In_use Name_locked +drop table t1; +deallocate prepare stmt; +# +# SQLCOM_SHOW_STATUS_PROC +# +drop table if exists t1; +create table t1 (a int); +prepare stmt from "show procedure status where (1) in (select * from t1)"; +execute stmt; +Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation +drop table t1; +create table t1 (x int); +execute stmt; +Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation +drop table t1; +deallocate prepare stmt; +# +# SQLCOM_SHOW_STATUS_FUNC +# +drop table if exists t1; +create table t1 (a int); +prepare stmt from "show function status where (1) in (select * from t1)"; +execute stmt; +Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation +drop table t1; +create table t1 (x int); +execute stmt; +Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation +drop table t1; +deallocate prepare stmt; +# +# SQLCOM_SHOW_EVENTS +# +# +# Please see this test in ps.test, it requires not_embedded.inc +# +# +# SQLCOM_SET_OPTION +# +drop table if exists t1; +create table t1 (a int); +prepare stmt from "set @a=((1) in (select * from t1))"; +execute stmt; +drop table t1; +create table t1 (x int); +execute stmt; +drop table t1; +deallocate prepare stmt; +# +# SQLCOM_DO +# +drop table if exists t1; +create table t1 (a int); +prepare stmt from "do ((1) in (select * from t1))"; +execute stmt; +drop table t1; +create table t1 (x int); +execute stmt; +drop table t1; +deallocate prepare stmt; +# +# SQLCOM_CALL +# +drop table if exists t1; +drop procedure if exists p1; +create procedure p1(a int) begin end; +create table t1 (a int); +prepare stmt from "call p1((1) in (select * from t1))"; +execute stmt; +drop table t1; +create table t1 (x int); +execute stmt; +drop table t1; +drop procedure p1; +deallocate prepare stmt; +# +# SQLCOM_CREATE_VIEW +# +drop table if exists t1; +drop view if exists v1; +create table t1 (a int); +prepare stmt from "create view v1 as select * from t1"; +execute stmt; +drop view v1; +drop table t1; +create table t1 (x int); +execute stmt; +drop view v1; +drop table t1; +deallocate prepare stmt; +# Intermediate result: number of reprepares matches the number +# of tests +call p_verify_reprepare_count(17); +SUCCESS + +# +# SQLCOM_ALTER_VIEW +# +drop view if exists v1; +create view v1 as select 1; +prepare stmt from "alter view v1 as select 2"; +ERROR HY000: This command is not supported in the prepared statement protocol yet +drop view v1; +# Cleanup +# +drop temporary table if exists t1, t2, t3; +drop table if exists t1, t2, t3, v1, v2; +drop procedure if exists p_verify_reprepare_count; +drop procedure if exists p1; +drop function if exists f1; +drop view if exists v1, v2; diff --git a/mysql-test/r/ps_ddl1.result b/mysql-test/r/ps_ddl1.result new file mode 100644 index 00000000000..87abcd90590 --- /dev/null +++ b/mysql-test/r/ps_ddl1.result @@ -0,0 +1,482 @@ +drop temporary table if exists t1; +drop table if exists t1, t2; +drop procedure if exists p_verify_reprepare_count; +drop procedure if exists p1; +drop function if exists f1; +drop view if exists t1; +drop schema if exists mysqltest; +create procedure p_verify_reprepare_count(expected int) +begin +declare old_reprepare_count int default @reprepare_count; +select variable_value from +information_schema.session_status where +variable_name='com_stmt_reprepare' + into @reprepare_count; +if old_reprepare_count + expected <> @reprepare_count then +select concat("Expected: ", expected, +", actual: ", @reprepare_count - old_reprepare_count) +as "ERROR"; +else +select '' as "SUCCESS"; +end if; +end| +set @reprepare_count= 0; +flush status; +drop table if exists t1; +# Column added or dropped is not within the list of selected columns +# or table comment has changed. +# A reprepare is probably not needed. +create table t1 (a int, b int); +prepare stmt from "select a from t1"; +execute stmt; +a +call p_verify_reprepare_count(0); +SUCCESS + +alter table t1 add column c int; +execute stmt; +a +call p_verify_reprepare_count(1); +SUCCESS + +execute stmt; +a +call p_verify_reprepare_count(0); +SUCCESS + +alter table t1 drop column b; +execute stmt; +a +call p_verify_reprepare_count(1); +SUCCESS + +execute stmt; +a +call p_verify_reprepare_count(0); +SUCCESS + +alter table t1 comment "My best table"; +execute stmt; +a +call p_verify_reprepare_count(1); +SUCCESS + +execute stmt; +a +call p_verify_reprepare_count(0); +SUCCESS + +drop table t1; +deallocate prepare stmt; +# Selects using the table at various positions, inser,update ... +# + the table disappears +create table t1 (a int); +prepare stmt1 from "truncate t1"; +prepare stmt2 from "select 1 as my_column from t1"; +prepare stmt3 from "select 1 as my_column from (select * from t1) as t2"; +prepare stmt4 from +"select 1 as my_column from (select 1) as t2 where exists (select 1 from t1)"; +prepare stmt5 from "select * from (select 1 as b) as t2, t1"; +prepare stmt6 from "select * from t1 union all select 1.5"; +prepare stmt7 from "select 1 as my_column union all select 1 from t1"; +prepare stmt8 from "insert into t1 values(1),(2)"; +prepare stmt9 from "update t1 set a = 3 where a = 2"; +prepare stmt10 from "delete from t1 where a = 1"; +# Attention: Result logging is disabled. +execute stmt10; +execute stmt9; +execute stmt8; +execute stmt7; +execute stmt6; +execute stmt5; +execute stmt4; +execute stmt3; +execute stmt2; +execute stmt1; +call p_verify_reprepare_count(0); +SUCCESS + +drop table t1; +execute stmt10; +ERROR 42S02: Table 'test.t1' doesn't exist +execute stmt9; +ERROR 42S02: Table 'test.t1' doesn't exist +execute stmt8; +ERROR 42S02: Table 'test.t1' doesn't exist +execute stmt7; +ERROR 42S02: Table 'test.t1' doesn't exist +execute stmt6; +ERROR 42S02: Table 'test.t1' doesn't exist +execute stmt5; +ERROR 42S02: Table 'test.t1' doesn't exist +execute stmt4; +ERROR 42S02: Table 'test.t1' doesn't exist +execute stmt3; +ERROR 42S02: Table 'test.t1' doesn't exist +execute stmt2; +ERROR 42S02: Table 'test.t1' doesn't exist +execute stmt1; +ERROR 42S02: Table 'test.t1' doesn't exist +call p_verify_reprepare_count(0); +SUCCESS + +deallocate prepare stmt10; +deallocate prepare stmt9; +deallocate prepare stmt8; +deallocate prepare stmt7; +deallocate prepare stmt6; +deallocate prepare stmt5; +deallocate prepare stmt4; +deallocate prepare stmt3; +deallocate prepare stmt2; +deallocate prepare stmt1; +# Selects using the table at various positions, inser,update ... +# + layout change (drop column) which must cause a reprepare +create table t1 (a int, b int); +insert into t1 values(1,1),(2,2),(3,3); +create table t2 like t1; +insert into t1 values(2,2); +prepare stmt1 from "select a,b from t1"; +prepare stmt2 from "select a,b from (select * from t1) as t1"; +prepare stmt3 from "select * from t1 where a = 2 and b = 2"; +prepare stmt4 from "select * from t2 where (a,b) in (select * from t1)"; +prepare stmt5 from "select * from t1 union select * from t2"; +prepare stmt6 from "select * from t1 union all select * from t2"; +prepare stmt7 from "insert into t1 set a = 4, b = 4"; +prepare stmt8 from "insert into t1 select * from t2"; +# Attention: Result logging is disabled. +execute stmt8; +execute stmt7; +execute stmt6; +execute stmt5; +execute stmt4; +execute stmt3; +execute stmt2; +execute stmt1; +call p_verify_reprepare_count(0); +SUCCESS + +alter table t1 drop column b; +execute stmt8; +ERROR 21S01: Column count doesn't match value count at row 1 +call p_verify_reprepare_count(1); +SUCCESS + +execute stmt7; +ERROR 42S22: Unknown column 'b' in 'field list' +call p_verify_reprepare_count(1); +SUCCESS + +execute stmt6; +ERROR 21000: The used SELECT statements have a different number of columns +call p_verify_reprepare_count(1); +SUCCESS + +execute stmt5; +ERROR 21000: The used SELECT statements have a different number of columns +call p_verify_reprepare_count(1); +SUCCESS + +execute stmt4; +ERROR 21000: Operand should contain 2 column(s) +call p_verify_reprepare_count(1); +SUCCESS + +execute stmt3; +ERROR 42S22: Unknown column 'b' in 'where clause' +call p_verify_reprepare_count(1); +SUCCESS + +execute stmt2; +ERROR 42S22: Unknown column 'b' in 'field list' +call p_verify_reprepare_count(1); +SUCCESS + +execute stmt1; +ERROR 42S22: Unknown column 'b' in 'field list' +call p_verify_reprepare_count(1); +SUCCESS + +execute stmt8; +ERROR 21S01: Column count doesn't match value count at row 1 +call p_verify_reprepare_count(1); +ERROR +Expected: 1, actual: 0 +execute stmt7; +ERROR 42S22: Unknown column 'b' in 'field list' +call p_verify_reprepare_count(1); +SUCCESS + +execute stmt6; +ERROR 21000: The used SELECT statements have a different number of columns +call p_verify_reprepare_count(1); +SUCCESS + +execute stmt5; +ERROR 21000: The used SELECT statements have a different number of columns +call p_verify_reprepare_count(1); +SUCCESS + +execute stmt4; +ERROR 21000: Operand should contain 2 column(s) +call p_verify_reprepare_count(1); +SUCCESS + +execute stmt3; +ERROR 42S22: Unknown column 'b' in 'where clause' +call p_verify_reprepare_count(1); +SUCCESS + +execute stmt2; +ERROR 42S22: Unknown column 'b' in 'field list' +call p_verify_reprepare_count(1); +SUCCESS + +execute stmt1; +ERROR 42S22: Unknown column 'b' in 'field list' +call p_verify_reprepare_count(1); +SUCCESS + +# Why does the INSERT ... SELECT does not get a reprepare or is +# only the counter not incremented? +execute stmt8; +ERROR 21S01: Column count doesn't match value count at row 1 +call p_verify_reprepare_count(1); +ERROR +Expected: 1, actual: 0 +alter table t2 add column c int; +execute stmt8; +ERROR 21S01: Column count doesn't match value count at row 1 +call p_verify_reprepare_count(1); +SUCCESS + +deallocate prepare stmt8; +deallocate prepare stmt7; +deallocate prepare stmt6; +deallocate prepare stmt5; +deallocate prepare stmt4; +deallocate prepare stmt3; +deallocate prepare stmt2; +deallocate prepare stmt1; +drop table t1; +drop table t2; +# select AVG() + optimizer uses index meets loss of the index +create table t1 (a int, b int, primary key(b),unique index t1_unq_idx(a)); +insert into t1 set a = 0, b = 0; +insert into t1 select a + 1, b + 1 from t1; +insert into t1 select a + 2, b + 2 from t1; +insert into t1 select a + 4, b + 4 from t1; +insert into t1 select a + 8, b + 8 from t1; +# Optimizer strategy: Possible keys = NULL , Extra = Using index +prepare stmt from "select avg(a) from t1"; +execute stmt; +avg(a) +7.5000 +call p_verify_reprepare_count(0); +SUCCESS + +execute stmt; +avg(a) +7.5000 +call p_verify_reprepare_count(0); +SUCCESS + +alter table t1 drop index t1_unq_idx; +# Optimizer strategy: Possible keys = NULL , Extra = +execute stmt; +avg(a) +7.5000 +call p_verify_reprepare_count(1); +SUCCESS + +execute stmt; +avg(a) +7.5000 +call p_verify_reprepare_count(0); +SUCCESS + +# select AVG() + optimizer uses table scan meets a new index +alter table t1 add unique index t1_unq_idx(a); +# Optimizer strategy: Possible keys = NULL , Extra = Using index +execute stmt; +avg(a) +7.5000 +call p_verify_reprepare_count(1); +SUCCESS + +execute stmt; +avg(a) +7.5000 +call p_verify_reprepare_count(0); +SUCCESS + +deallocate prepare stmt; +drop table t1; +# table replaced by not updatable view - Insert +create table t1 (a int); +prepare stmt from "insert into t1 values(1)"; +execute stmt; +call p_verify_reprepare_count(0); +SUCCESS + +drop table t1; +create view t1 as select 1; +execute stmt; +ERROR HY000: The target table t1 of the INSERT is not insertable-into +call p_verify_reprepare_count(1); +SUCCESS + +drop view t1; +create table t2 (a int); +create view t1 as select * from t2 with check option; +execute stmt; +call p_verify_reprepare_count(1); +SUCCESS + +execute stmt; +call p_verify_reprepare_count(0); +SUCCESS + +select * from t1; +a +1 +1 +deallocate prepare stmt; +drop view t1; +drop table t2; +===================================================================== +Some freestyle tests +===================================================================== +create temporary table t1 as select 1 as a; +create procedure p1() +begin +drop temporary table t1; +end| +create function f1() returns int +begin +call p1(); +return 1; +end| +prepare stmt from "select f1() as my_column, a from t1"; +execute stmt; +ERROR HY000: Can't reopen table: 't1' +call p_verify_reprepare_count(0); +SUCCESS + +select * from t1; +a +1 +prepare stmt from "select a, f1() as my_column from t1"; +execute stmt; +ERROR HY000: Can't reopen table: 't1' +call p_verify_reprepare_count(0); +SUCCESS + +select * from t1; +a +1 +prepare stmt from "select f1() as my_column, count(*) from t1"; +execute stmt; +ERROR HY000: Can't reopen table: 't1' +call p_verify_reprepare_count(0); +SUCCESS + +select * from t1; +a +1 +prepare stmt from "select count(*), f1() as my_column from t1"; +execute stmt; +ERROR HY000: Can't reopen table: 't1' +call p_verify_reprepare_count(0); +SUCCESS + +select * from t1; +a +1 +# Execute fails, no drop of temporary table +prepare stmt from "select 1 as my_column from (select 1) as t2 + where exists (select f1() from t1)"; +execute stmt; +my_column +1 +call p_verify_reprepare_count(0); +SUCCESS + +execute stmt; +my_column +1 +call p_verify_reprepare_count(0); +SUCCESS + +select * from t1; +a +1 +# Execute drops temporary table +prepare stmt from "select f1()"; +execute stmt; +f1() +1 +call p_verify_reprepare_count(0); +SUCCESS + +execute stmt; +ERROR 42S02: Unknown table 't1' +call p_verify_reprepare_count(0); +SUCCESS + +drop function f1; +drop procedure p1; +deallocate prepare stmt; +# Execute fails, temporary table is not replaced by another +create temporary table t1 as select 1 as a; +create procedure p1() +begin +drop temporary table t1; +create temporary table t1 as select 'abc' as a; +end| +create function f1() returns int +begin +call p1(); +return 1; +end| +prepare stmt from "select count(*), f1() as my_column from t1"; +execute stmt; +ERROR HY000: Can't reopen table: 't1' +call p_verify_reprepare_count(0); +SUCCESS + +select * from t1; +a +1 +deallocate prepare stmt; +prepare stmt from "call p1"; +execute stmt; +drop procedure p1; +create schema mysqltest; +create procedure mysqltest.p1() +begin +drop schema mysqltest; +create schema mysqltest; +end| +execute stmt; +ERROR 42000: PROCEDURE test.p1 does not exist +call p_verify_reprepare_count(0); +SUCCESS + +execute stmt; +ERROR 42000: PROCEDURE test.p1 does not exist +call p_verify_reprepare_count(0); +SUCCESS + +deallocate prepare stmt; +drop schema mysqltest; +drop temporary table t1; +# Cleanup +# +drop temporary table if exists t1; +drop table if exists t1, t2; +drop procedure if exists p_verify_reprepare_count; +drop procedure if exists p1; +drop function if exists f1; +drop view if exists t1; +drop schema if exists mysqltest; diff --git a/mysql-test/r/query_alloc_block_size_basic_32.result b/mysql-test/r/query_alloc_block_size_basic_32.result new file mode 100644 index 00000000000..3b7f06c8f81 --- /dev/null +++ b/mysql-test/r/query_alloc_block_size_basic_32.result @@ -0,0 +1,203 @@ +SET @start_global_value = @@global.query_alloc_block_size; +SELECT @start_global_value; +@start_global_value +8192 +SET @start_session_value = @@session.query_alloc_block_size; +SELECT @start_session_value; +@start_session_value +8192 +'#--------------------FN_DYNVARS_130_01-------------------------#' +SET @@global.query_alloc_block_size = 10000; +SET @@global.query_alloc_block_size = DEFAULT; +SELECT @@global.query_alloc_block_size; +@@global.query_alloc_block_size +8192 +SET @@session.query_alloc_block_size = 20000; +SET @@session.query_alloc_block_size = DEFAULT; +SELECT @@session.query_alloc_block_size; +@@session.query_alloc_block_size +8192 +'#--------------------FN_DYNVARS_130_02-------------------------#' +SET @@global.query_alloc_block_size = DEFAULT; +SELECT @@global.query_alloc_block_size = 8192; +@@global.query_alloc_block_size = 8192 +1 +SET @@session.query_alloc_block_size = DEFAULT; +SELECT @@session.query_alloc_block_size = 8192; +@@session.query_alloc_block_size = 8192 +1 +'#--------------------FN_DYNVARS_130_03-------------------------#' +SET @@global.query_alloc_block_size = 1024; +SELECT @@global.query_alloc_block_size; +@@global.query_alloc_block_size +1024 +SET @@global.query_alloc_block_size = 1025; +SELECT @@global.query_alloc_block_size; +@@global.query_alloc_block_size +1024 +SET @@global.query_alloc_block_size = 4294967295; +SELECT @@global.query_alloc_block_size; +@@global.query_alloc_block_size +4294966272 +SET @@global.query_alloc_block_size = 4294967294; +SELECT @@global.query_alloc_block_size; +@@global.query_alloc_block_size +4294966272 +SET @@global.query_alloc_block_size = 65536; +SELECT @@global.query_alloc_block_size; +@@global.query_alloc_block_size +65536 +'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +'#--------------------FN_DYNVARS_130_04-------------------------#' +SET @@session.query_alloc_block_size = 1024; +SELECT @@session.query_alloc_block_size; +@@session.query_alloc_block_size +1024 +SET @@session.query_alloc_block_size = 1025; +SELECT @@session.query_alloc_block_size; +@@session.query_alloc_block_size +1024 +SET @@session.query_alloc_block_size = 4294967295; +SELECT @@session.query_alloc_block_size; +@@session.query_alloc_block_size +4294966272 +SET @@session.query_alloc_block_size = 4294967294; +SELECT @@session.query_alloc_block_size; +@@session.query_alloc_block_size +4294966272 +SET @@session.query_alloc_block_size = 655536; +SELECT @@session.query_alloc_block_size; +@@session.query_alloc_block_size +655360 +'#------------------FN_DYNVARS_130_05-----------------------#' +SET @@global.query_alloc_block_size = 64; +Warnings: +Warning 1292 Truncated incorrect query_alloc_block_size value: '64' +SELECT @@global.query_alloc_block_size; +@@global.query_alloc_block_size +1024 +SET @@global.query_alloc_block_size = -1; +Warnings: +Warning 1292 Truncated incorrect query_alloc_block_size value: '0' +SELECT @@global.query_alloc_block_size; +@@global.query_alloc_block_size +1024 +SET @@global.query_alloc_block_size = 1023; +Warnings: +Warning 1292 Truncated incorrect query_alloc_block_size value: '1023' +SELECT @@global.query_alloc_block_size; +@@global.query_alloc_block_size +1024 +SET @@global.query_alloc_block_size = 4294967296; +Warnings: +Warning 1292 Truncated incorrect query_alloc_block_size value: '4294967296' +SELECT @@global.query_alloc_block_size; +@@global.query_alloc_block_size +4294966272 +SET @@global.query_alloc_block_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.query_alloc_block_size; +@@global.query_alloc_block_size +4294966272 +SET @@global.query_alloc_block_size = test; +ERROR 42000: Incorrect argument type to variable 'query_alloc_block_size' +SELECT @@global.query_alloc_block_size; +@@global.query_alloc_block_size +4294966272 +SET @@session.query_alloc_block_size = 64; +Warnings: +Warning 1292 Truncated incorrect query_alloc_block_size value: '64' +SELECT @@session.query_alloc_block_size; +@@session.query_alloc_block_size +1024 +SET @@session.query_alloc_block_size = -2; +Warnings: +Warning 1292 Truncated incorrect query_alloc_block_size value: '0' +SELECT @@session.query_alloc_block_size; +@@session.query_alloc_block_size +1024 +SET @@session.query_alloc_block_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.query_alloc_block_size = 1023; +Warnings: +Warning 1292 Truncated incorrect query_alloc_block_size value: '1023' +SELECT @@session.query_alloc_block_size; +@@session.query_alloc_block_size +1024 +SET @@session.query_alloc_block_size = 4294967296; +Warnings: +Warning 1292 Truncated incorrect query_alloc_block_size value: '4294967296' +SELECT @@session.query_alloc_block_size; +@@session.query_alloc_block_size +4294966272 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@session.query_alloc_block_size = test; +ERROR 42000: Incorrect argument type to variable 'query_alloc_block_size' +SELECT @@session.query_alloc_block_size; +@@session.query_alloc_block_size +4294966272 +'#------------------FN_DYNVARS_130_06-----------------------#' +'Bug# 34877: OutOFMemeory errors are coming if we dont assign these values to variable before comparision statement'; +SET @@global.query_alloc_block_size = 1; +Warnings: +Warning 1292 Truncated incorrect query_alloc_block_size value: '1' +SET @@session.query_alloc_block_size = 12; +Warnings: +Warning 1292 Truncated incorrect query_alloc_block_size value: '12' +SELECT @@global.query_alloc_block_size = +VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='query_alloc_block_size'; +@@global.query_alloc_block_size = +VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_130_07-----------------------#' +SELECT @@session.query_alloc_block_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='query_alloc_block_size'; +@@session.query_alloc_block_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_130_08-----------------------#' +SET @@global.query_alloc_block_size = TRUE; +Warnings: +Warning 1292 Truncated incorrect query_alloc_block_size value: '1' +SELECT @@global.query_alloc_block_size; +@@global.query_alloc_block_size +1024 +SET @@global.query_alloc_block_size = FALSE; +Warnings: +Warning 1292 Truncated incorrect query_alloc_block_size value: '0' +SELECT @@global.query_alloc_block_size; +@@global.query_alloc_block_size +1024 +'#---------------------FN_DYNVARS_130_09----------------------#' +SET @@global.query_alloc_block_size = 2048; +SELECT @@query_alloc_block_size = @@global.query_alloc_block_size; +@@query_alloc_block_size = @@global.query_alloc_block_size +0 +'#---------------------FN_DYNVARS_130_10----------------------#' +SET @@query_alloc_block_size = 5000; +SELECT @@query_alloc_block_size = @@local.query_alloc_block_size; +@@query_alloc_block_size = @@local.query_alloc_block_size +1 +SELECT @@local.query_alloc_block_size = @@session.query_alloc_block_size; +@@local.query_alloc_block_size = @@session.query_alloc_block_size +1 +'#---------------------FN_DYNVARS_130_11----------------------#' +SET query_alloc_block_size = 1024; +SELECT @@query_alloc_block_size; +@@query_alloc_block_size +1024 +SELECT local.query_alloc_block_size; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.query_alloc_block_size; +ERROR 42S02: Unknown table 'session' in field list +SELECT query_alloc_block_size = @@session.query_alloc_block_size; +ERROR 42S22: Unknown column 'query_alloc_block_size' in 'field list' +SET @@global.query_alloc_block_size = @start_global_value; +SELECT @@global.query_alloc_block_size; +@@global.query_alloc_block_size +8192 +SET @@session.query_alloc_block_size = @start_session_value; +SELECT @@session.query_alloc_block_size; +@@session.query_alloc_block_size +8192 diff --git a/mysql-test/r/query_alloc_block_size_basic_64.result b/mysql-test/r/query_alloc_block_size_basic_64.result new file mode 100644 index 00000000000..57c96a8168a --- /dev/null +++ b/mysql-test/r/query_alloc_block_size_basic_64.result @@ -0,0 +1,199 @@ +SET @start_global_value = @@global.query_alloc_block_size; +SELECT @start_global_value; +@start_global_value +8192 +SET @start_session_value = @@session.query_alloc_block_size; +SELECT @start_session_value; +@start_session_value +8192 +'#--------------------FN_DYNVARS_130_01-------------------------#' +SET @@global.query_alloc_block_size = 10000; +SET @@global.query_alloc_block_size = DEFAULT; +SELECT @@global.query_alloc_block_size; +@@global.query_alloc_block_size +8192 +SET @@session.query_alloc_block_size = 20000; +SET @@session.query_alloc_block_size = DEFAULT; +SELECT @@session.query_alloc_block_size; +@@session.query_alloc_block_size +8192 +'#--------------------FN_DYNVARS_130_02-------------------------#' +SET @@global.query_alloc_block_size = DEFAULT; +SELECT @@global.query_alloc_block_size = 8192; +@@global.query_alloc_block_size = 8192 +1 +SET @@session.query_alloc_block_size = DEFAULT; +SELECT @@session.query_alloc_block_size = 8192; +@@session.query_alloc_block_size = 8192 +1 +'#--------------------FN_DYNVARS_130_03-------------------------#' +SET @@global.query_alloc_block_size = 1024; +SELECT @@global.query_alloc_block_size; +@@global.query_alloc_block_size +1024 +SET @@global.query_alloc_block_size = 1025; +SELECT @@global.query_alloc_block_size; +@@global.query_alloc_block_size +1024 +SET @@global.query_alloc_block_size = 4294967295; +SELECT @@global.query_alloc_block_size; +@@global.query_alloc_block_size +4294966272 +SET @@global.query_alloc_block_size = 4294967294; +SELECT @@global.query_alloc_block_size; +@@global.query_alloc_block_size +4294966272 +SET @@global.query_alloc_block_size = 65536; +SELECT @@global.query_alloc_block_size; +@@global.query_alloc_block_size +65536 +'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +'#--------------------FN_DYNVARS_130_04-------------------------#' +SET @@session.query_alloc_block_size = 1024; +SELECT @@session.query_alloc_block_size; +@@session.query_alloc_block_size +1024 +SET @@session.query_alloc_block_size = 1025; +SELECT @@session.query_alloc_block_size; +@@session.query_alloc_block_size +1024 +SET @@session.query_alloc_block_size = 4294967295; +SELECT @@session.query_alloc_block_size; +@@session.query_alloc_block_size +4294966272 +SET @@session.query_alloc_block_size = 4294967294; +SELECT @@session.query_alloc_block_size; +@@session.query_alloc_block_size +4294966272 +SET @@session.query_alloc_block_size = 655536; +SELECT @@session.query_alloc_block_size; +@@session.query_alloc_block_size +655360 +'#------------------FN_DYNVARS_130_05-----------------------#' +SET @@global.query_alloc_block_size = 64; +Warnings: +Warning 1292 Truncated incorrect query_alloc_block_size value: '64' +SELECT @@global.query_alloc_block_size; +@@global.query_alloc_block_size +1024 +SET @@global.query_alloc_block_size = -1; +Warnings: +Warning 1292 Truncated incorrect query_alloc_block_size value: '0' +SELECT @@global.query_alloc_block_size; +@@global.query_alloc_block_size +1024 +SET @@global.query_alloc_block_size = 1023; +Warnings: +Warning 1292 Truncated incorrect query_alloc_block_size value: '1023' +SELECT @@global.query_alloc_block_size; +@@global.query_alloc_block_size +1024 +SET @@global.query_alloc_block_size = 4294967296; +SELECT @@global.query_alloc_block_size; +@@global.query_alloc_block_size +4294967296 +SET @@global.query_alloc_block_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.query_alloc_block_size; +@@global.query_alloc_block_size +4294967296 +SET @@global.query_alloc_block_size = test; +ERROR 42000: Incorrect argument type to variable 'query_alloc_block_size' +SELECT @@global.query_alloc_block_size; +@@global.query_alloc_block_size +4294967296 +SET @@session.query_alloc_block_size = 64; +Warnings: +Warning 1292 Truncated incorrect query_alloc_block_size value: '64' +SELECT @@session.query_alloc_block_size; +@@session.query_alloc_block_size +1024 +SET @@session.query_alloc_block_size = -2; +Warnings: +Warning 1292 Truncated incorrect query_alloc_block_size value: '0' +SELECT @@session.query_alloc_block_size; +@@session.query_alloc_block_size +1024 +SET @@session.query_alloc_block_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.query_alloc_block_size = 1023; +Warnings: +Warning 1292 Truncated incorrect query_alloc_block_size value: '1023' +SELECT @@session.query_alloc_block_size; +@@session.query_alloc_block_size +1024 +SET @@session.query_alloc_block_size = 4294967296; +SELECT @@session.query_alloc_block_size; +@@session.query_alloc_block_size +4294967296 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@session.query_alloc_block_size = test; +ERROR 42000: Incorrect argument type to variable 'query_alloc_block_size' +SELECT @@session.query_alloc_block_size; +@@session.query_alloc_block_size +4294967296 +'#------------------FN_DYNVARS_130_06-----------------------#' +'Bug# 34877: OutOFMemeory errors are coming if we dont assign these values to variable before comparision statement'; +SET @@global.query_alloc_block_size = 1; +Warnings: +Warning 1292 Truncated incorrect query_alloc_block_size value: '1' +SET @@session.query_alloc_block_size = 12; +Warnings: +Warning 1292 Truncated incorrect query_alloc_block_size value: '12' +SELECT @@global.query_alloc_block_size = +VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='query_alloc_block_size'; +@@global.query_alloc_block_size = +VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_130_07-----------------------#' +SELECT @@session.query_alloc_block_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='query_alloc_block_size'; +@@session.query_alloc_block_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_130_08-----------------------#' +SET @@global.query_alloc_block_size = TRUE; +Warnings: +Warning 1292 Truncated incorrect query_alloc_block_size value: '1' +SELECT @@global.query_alloc_block_size; +@@global.query_alloc_block_size +1024 +SET @@global.query_alloc_block_size = FALSE; +Warnings: +Warning 1292 Truncated incorrect query_alloc_block_size value: '0' +SELECT @@global.query_alloc_block_size; +@@global.query_alloc_block_size +1024 +'#---------------------FN_DYNVARS_130_09----------------------#' +SET @@global.query_alloc_block_size = 2048; +SELECT @@query_alloc_block_size = @@global.query_alloc_block_size; +@@query_alloc_block_size = @@global.query_alloc_block_size +0 +'#---------------------FN_DYNVARS_130_10----------------------#' +SET @@query_alloc_block_size = 5000; +SELECT @@query_alloc_block_size = @@local.query_alloc_block_size; +@@query_alloc_block_size = @@local.query_alloc_block_size +1 +SELECT @@local.query_alloc_block_size = @@session.query_alloc_block_size; +@@local.query_alloc_block_size = @@session.query_alloc_block_size +1 +'#---------------------FN_DYNVARS_130_11----------------------#' +SET query_alloc_block_size = 1024; +SELECT @@query_alloc_block_size; +@@query_alloc_block_size +1024 +SELECT local.query_alloc_block_size; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.query_alloc_block_size; +ERROR 42S02: Unknown table 'session' in field list +SELECT query_alloc_block_size = @@session.query_alloc_block_size; +ERROR 42S22: Unknown column 'query_alloc_block_size' in 'field list' +SET @@global.query_alloc_block_size = @start_global_value; +SELECT @@global.query_alloc_block_size; +@@global.query_alloc_block_size +8192 +SET @@session.query_alloc_block_size = @start_session_value; +SELECT @@session.query_alloc_block_size; +@@session.query_alloc_block_size +8192 diff --git a/mysql-test/r/query_cache_debug.result b/mysql-test/r/query_cache_debug.result index f177bfac836..c90165368e3 100644 --- a/mysql-test/r/query_cache_debug.result +++ b/mysql-test/r/query_cache_debug.result @@ -1,6 +1,6 @@ flush status; set query_cache_type=DEMAND; -set global query_cache_size= 1024*1024*512; +set global query_cache_size= 1024*768; drop table if exists t1; create table t1 (a varchar(100)); insert into t1 values ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'),('bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'); diff --git a/mysql-test/r/query_cache_limit_basic_32.result b/mysql-test/r/query_cache_limit_basic_32.result new file mode 100644 index 00000000000..bb66233732d --- /dev/null +++ b/mysql-test/r/query_cache_limit_basic_32.result @@ -0,0 +1,126 @@ +SET @start_value = @@global.query_cache_limit; +SELECT @start_value; +@start_value +1048576 +'#--------------------FN_DYNVARS_131_01------------------------#' +SET @@global.query_cache_limit = 99; +SET @@global.query_cache_limit = DEFAULT; +SELECT @@global.query_cache_limit; +@@global.query_cache_limit +1048576 +'#---------------------FN_DYNVARS_131_02-------------------------#' +SET @@global.query_cache_limit = @start_value; +SELECT @@global.query_cache_limit = 1048576; +@@global.query_cache_limit = 1048576 +1 +'#--------------------FN_DYNVARS_131_03------------------------#' +SET @@global.query_cache_limit = 0; +SELECT @@global.query_cache_limit; +@@global.query_cache_limit +0 +SET @@global.query_cache_limit = 1; +SELECT @@global.query_cache_limit; +@@global.query_cache_limit +1 +SET @@global.query_cache_limit = 1048576; +SELECT @@global.query_cache_limit; +@@global.query_cache_limit +1048576 +SET @@global.query_cache_limit = 1048575; +SELECT @@global.query_cache_limit; +@@global.query_cache_limit +1048575 +'#--------------------FN_DYNVARS_131_04-------------------------#' +SET @@global.query_cache_limit = -1; +SELECT @@global.query_cache_limit; +@@global.query_cache_limit +0 +SET @@global.query_cache_limit = 4294967296; +Warnings: +Warning 1292 Truncated incorrect query_cache_limit value: '4294967296' +SELECT @@global.query_cache_limit; +@@global.query_cache_limit +4294967295 +SET @@global.query_cache_limit = 10240022115; +Warnings: +Warning 1292 Truncated incorrect query_cache_limit value: '10240022115' +SELECT @@global.query_cache_limit; +@@global.query_cache_limit +4294967295 +SET @@global.query_cache_limit = 10000.01; +ERROR 42000: Incorrect argument type to variable 'query_cache_limit' +SELECT @@global.query_cache_limit; +@@global.query_cache_limit +4294967295 +SET @@global.query_cache_limit = -1024; +SELECT @@global.query_cache_limit; +@@global.query_cache_limit +0 +SET @@global.query_cache_limit = 42949672950; +Warnings: +Warning 1292 Truncated incorrect query_cache_limit value: '42949672950' +SELECT @@global.query_cache_limit; +@@global.query_cache_limit +4294967295 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@global.query_cache_limit = ON; +ERROR 42000: Incorrect argument type to variable 'query_cache_limit' +SELECT @@global.query_cache_limit; +@@global.query_cache_limit +4294967295 +SET @@global.query_cache_limit = 'test'; +ERROR 42000: Incorrect argument type to variable 'query_cache_limit' +SELECT @@global.query_cache_limit; +@@global.query_cache_limit +4294967295 +'#-------------------FN_DYNVARS_131_05----------------------------#' +SET @@session.query_cache_limit = 0; +ERROR HY000: Variable 'query_cache_limit' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@query_cache_limit; +@@query_cache_limit +4294967295 +'#----------------------FN_DYNVARS_131_06------------------------#' +SELECT @@global.query_cache_limit = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='query_cache_limit'; +@@global.query_cache_limit = VARIABLE_VALUE +1 +SELECT @@query_cache_limit = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='query_cache_limit'; +@@query_cache_limit = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_131_07----------------------#' +SET @@global.query_cache_limit = TRUE; +SELECT @@global.query_cache_limit; +@@global.query_cache_limit +1 +SET @@global.query_cache_limit = FALSE; +SELECT @@global.query_cache_limit; +@@global.query_cache_limit +0 +'#---------------------FN_DYNVARS_131_08----------------------#' +SET @@global.query_cache_limit = 1; +SELECT @@query_cache_limit = @@global.query_cache_limit; +@@query_cache_limit = @@global.query_cache_limit +1 +'#---------------------FN_DYNVARS_131_09----------------------#' +SET query_cache_limit = 1; +ERROR HY000: Variable 'query_cache_limit' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@query_cache_limit; +@@query_cache_limit +1 +SET local.query_cache_limit = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'query_cache_limit = 1' at line 1 +SELECT local.query_cache_limit; +ERROR 42S02: Unknown table 'local' in field list +SET global.query_cache_limit = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'query_cache_limit = 1' at line 1 +SELECT global.query_cache_limit; +ERROR 42S02: Unknown table 'global' in field list +SELECT query_cache_limit = @@session.query_cache_limit; +ERROR 42S22: Unknown column 'query_cache_limit' in 'field list' +SET @@global.query_cache_limit = @start_value; +SELECT @@global.query_cache_limit; +@@global.query_cache_limit +1048576 diff --git a/mysql-test/r/query_cache_limit_basic_64.result b/mysql-test/r/query_cache_limit_basic_64.result new file mode 100644 index 00000000000..a592883ef91 --- /dev/null +++ b/mysql-test/r/query_cache_limit_basic_64.result @@ -0,0 +1,120 @@ +SET @start_value = @@global.query_cache_limit; +SELECT @start_value; +@start_value +1048576 +'#--------------------FN_DYNVARS_131_01------------------------#' +SET @@global.query_cache_limit = 99; +SET @@global.query_cache_limit = DEFAULT; +SELECT @@global.query_cache_limit; +@@global.query_cache_limit +1048576 +'#---------------------FN_DYNVARS_131_02-------------------------#' +SET @@global.query_cache_limit = @start_value; +SELECT @@global.query_cache_limit = 1048576; +@@global.query_cache_limit = 1048576 +1 +'#--------------------FN_DYNVARS_131_03------------------------#' +SET @@global.query_cache_limit = 0; +SELECT @@global.query_cache_limit; +@@global.query_cache_limit +0 +SET @@global.query_cache_limit = 1; +SELECT @@global.query_cache_limit; +@@global.query_cache_limit +1 +SET @@global.query_cache_limit = 1048576; +SELECT @@global.query_cache_limit; +@@global.query_cache_limit +1048576 +SET @@global.query_cache_limit = 1048575; +SELECT @@global.query_cache_limit; +@@global.query_cache_limit +1048575 +'#--------------------FN_DYNVARS_131_04-------------------------#' +SET @@global.query_cache_limit = -1; +SELECT @@global.query_cache_limit; +@@global.query_cache_limit +0 +SET @@global.query_cache_limit = 4294967296; +SELECT @@global.query_cache_limit; +@@global.query_cache_limit +4294967296 +SET @@global.query_cache_limit = 10240022115; +SELECT @@global.query_cache_limit; +@@global.query_cache_limit +10240022115 +SET @@global.query_cache_limit = 10000.01; +ERROR 42000: Incorrect argument type to variable 'query_cache_limit' +SELECT @@global.query_cache_limit; +@@global.query_cache_limit +10240022115 +SET @@global.query_cache_limit = -1024; +SELECT @@global.query_cache_limit; +@@global.query_cache_limit +0 +SET @@global.query_cache_limit = 42949672950; +SELECT @@global.query_cache_limit; +@@global.query_cache_limit +42949672950 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@global.query_cache_limit = ON; +ERROR 42000: Incorrect argument type to variable 'query_cache_limit' +SELECT @@global.query_cache_limit; +@@global.query_cache_limit +42949672950 +SET @@global.query_cache_limit = 'test'; +ERROR 42000: Incorrect argument type to variable 'query_cache_limit' +SELECT @@global.query_cache_limit; +@@global.query_cache_limit +42949672950 +'#-------------------FN_DYNVARS_131_05----------------------------#' +SET @@session.query_cache_limit = 0; +ERROR HY000: Variable 'query_cache_limit' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@query_cache_limit; +@@query_cache_limit +42949672950 +'#----------------------FN_DYNVARS_131_06------------------------#' +SELECT @@global.query_cache_limit = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='query_cache_limit'; +@@global.query_cache_limit = VARIABLE_VALUE +1 +SELECT @@query_cache_limit = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='query_cache_limit'; +@@query_cache_limit = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_131_07----------------------#' +SET @@global.query_cache_limit = TRUE; +SELECT @@global.query_cache_limit; +@@global.query_cache_limit +1 +SET @@global.query_cache_limit = FALSE; +SELECT @@global.query_cache_limit; +@@global.query_cache_limit +0 +'#---------------------FN_DYNVARS_131_08----------------------#' +SET @@global.query_cache_limit = 1; +SELECT @@query_cache_limit = @@global.query_cache_limit; +@@query_cache_limit = @@global.query_cache_limit +1 +'#---------------------FN_DYNVARS_131_09----------------------#' +SET query_cache_limit = 1; +ERROR HY000: Variable 'query_cache_limit' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@query_cache_limit; +@@query_cache_limit +1 +SET local.query_cache_limit = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'query_cache_limit = 1' at line 1 +SELECT local.query_cache_limit; +ERROR 42S02: Unknown table 'local' in field list +SET global.query_cache_limit = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'query_cache_limit = 1' at line 1 +SELECT global.query_cache_limit; +ERROR 42S02: Unknown table 'global' in field list +SELECT query_cache_limit = @@session.query_cache_limit; +ERROR 42S22: Unknown column 'query_cache_limit' in 'field list' +SET @@global.query_cache_limit = @start_value; +SELECT @@global.query_cache_limit; +@@global.query_cache_limit +1048576 diff --git a/mysql-test/r/query_cache_limit_func.result b/mysql-test/r/query_cache_limit_func.result new file mode 100644 index 00000000000..e54884cd5c3 --- /dev/null +++ b/mysql-test/r/query_cache_limit_func.result @@ -0,0 +1,115 @@ +** Setup ** + +SET @global_query_cache_limit = @@global.query_cache_limit; +** warnings ** +DROP TABLE IF EXISTS t; +** creating table ** +CREATE TABLE t +( +id INT AUTO_INCREMENT PRIMARY KEY, +c TEXT(30) +); +**inserting value ** +INSERT INTO t set c = repeat('x',29); +INSERT INTO t set c = concat(repeat('x',28),'r','x'); +INSERT INTO t set c = concat(repeat('x',28),'s','y'); +INSERT INTO t set c = concat(repeat('x',28),'g','w'); +** Reset cache values ** +FLUSH STATUS; +RESET QUERY CACHE; +** On query_cache_type ** +SET GLOBAL query_cache_type = ON; +** Allocating cache size ** +SET GLOBAL query_cache_size = 131072; +** Reset values +SET GLOBAL query_cache_size = 0; +SET GLOBAL query_cache_size = 131072; +SET GLOBAL query_cache_type = ON; +'#---------------------FN_DYNVARS_132_01----------------------#' +** Reset cache values ** +FLUSH STATUS; +RESET QUERY CACHE; +** fetching results ** +SELECT * FROM t; +id c +1 xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +2 xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +4 xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +** check status on not setting query_cache_limit value ** +SHOW STATUS LIKE 'Qcache_not_cached'; +Variable_name Value +Qcache_not_cached 0 +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +Variable_name Value +Qcache_queries_in_cache 1 +'#---------------------FN_DYNVARS_132_02----------------------#' +** Reset cache values ** +FLUSH STATUS; +RESET QUERY CACHE; +** set cache limit ** +SET @@GLOBAL.query_cache_limit=0; +** fetching results ** +SELECT * FROM t; +id c +1 xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +2 xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +4 xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +** Check status after setting value ** +SHOW STATUS LIKE 'Qcache_not_cached'; +Variable_name Value +Qcache_not_cached 1 +1 Expected +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +Variable_name Value +Qcache_queries_in_cache 0 +0 Expected +'#---------------------FN_DYNVARS_132_03----------------------#' +** set cache limit ** +SET @@GLOBAL.query_cache_limit=DEFAULT; +** Reset cache values ** +FLUSH STATUS; +RESET QUERY CACHE; +** fetching results ** +SELECT * FROM t; +id c +1 xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +2 xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +4 xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +SHOW STATUS LIKE 'Qcache_not_cached'; +Variable_name Value +Qcache_not_cached 0 +0 Expected +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +Variable_name Value +Qcache_queries_in_cache 1 +1 Expected +SET @@GLOBAL.query_cache_limit=0; +SHOW STATUS LIKE 'Qcache_not_cached'; +Variable_name Value +Qcache_not_cached 0 +0 Expected +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +Variable_name Value +Qcache_queries_in_cache 1 +1 Expected +** fetching results ** +SELECT * FROM t; +id c +1 xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +2 xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx +3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy +4 xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw +** Check status after setting value ** +SHOW STATUS LIKE 'Qcache_not_cached'; +Variable_name Value +Qcache_not_cached 0 +0 Expected +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +Variable_name Value +Qcache_queries_in_cache 1 +1 Expected +SET @@GLOBAL.query_cache_limit = @global_query_cache_limit; +DROP TABLE IF EXISTS t; diff --git a/mysql-test/r/query_cache_merge.result b/mysql-test/r/query_cache_merge.result index c6df4266de2..d2bbe217815 100644 --- a/mysql-test/r/query_cache_merge.result +++ b/mysql-test/r/query_cache_merge.result @@ -18,3 +18,4 @@ Variable_name Value Qcache_queries_in_cache 0 drop table t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15,t16,t17,t18,t19,t20,t21,t22,t23,t24,t25,t26,t27,t28,t29,t30,t31,t32,t33,t34,t35,t36,t37,t38,t39,t40,t41,t42,t43,t44,t45,t46,t47,t48,t49,t50,t51,t52,t53,t54,t55,t56,t57,t58,t59,t60,t61,t62,t63,t64,t65,t66,t67,t68,t69,t70,t71,t72,t73,t74,t75,t76,t77,t78,t79,t80,t81,t82,t83,t84,t85,t86,t87,t88,t89,t90,t91,t92,t93,t94,t95,t96,t97,t98,t99,t100,t101,t102,t103,t104,t105,t106,t107,t108,t109,t110,t111,t112,t113,t114,t115,t116,t117,t118,t119,t120,t121,t122,t123,t124,t125,t126,t127,t128,t129,t130,t131,t132,t133,t134,t135,t136,t137,t138,t139,t140,t141,t142,t143,t144,t145,t146,t147,t148,t149,t150,t151,t152,t153,t154,t155,t156,t157,t158,t159,t160,t161,t162,t163,t164,t165,t166,t167,t168,t169,t170,t171,t172,t173,t174,t175,t176,t177,t178,t179,t180,t181,t182,t183,t184,t185,t186,t187,t188,t189,t190,t191,t192,t193,t194,t195,t196,t197,t198,t199,t200,t201,t202,t203,t204,t205,t206,t207,t208,t209,t210,t211,t212,t213,t214,t215,t216,t217,t218,t219,t220,t221,t222,t223,t224,t225,t226,t227,t228,t229,t230,t231,t232,t233,t234,t235,t236,t237,t238,t239,t240,t241,t242,t243,t244,t245,t246,t247,t248,t249,t250,t251,t252,t253,t254,t255,t256,t257,t00; SET @@global.query_cache_size=0; +set @@global.table_definition_cache=@save_table_definition_cache; diff --git a/mysql-test/r/query_cache_min_res_unit_basic_32.result b/mysql-test/r/query_cache_min_res_unit_basic_32.result new file mode 100644 index 00000000000..e0d8a0d2a30 --- /dev/null +++ b/mysql-test/r/query_cache_min_res_unit_basic_32.result @@ -0,0 +1,134 @@ +SET @start_value = @@global.query_cache_min_res_unit; +SELECT @start_value; +@start_value +4096 +'#--------------------FN_DYNVARS_132_01------------------------#' +SET @@global.query_cache_min_res_unit = 99; +SET @@global.query_cache_min_res_unit = DEFAULT; +SELECT @@global.query_cache_min_res_unit; +@@global.query_cache_min_res_unit +4096 +'#---------------------FN_DYNVARS_132_02-------------------------#' +SET @@global.query_cache_min_res_unit = @start_value; +SELECT @@global.query_cache_min_res_unit = 4096; +@@global.query_cache_min_res_unit = 4096 +1 +'#--------------------FN_DYNVARS_132_03------------------------#' +SET @@global.query_cache_min_res_unit = 0; +SELECT @@global.query_cache_min_res_unit; +@@global.query_cache_min_res_unit +512 +SET @@global.query_cache_min_res_unit = 1; +SELECT @@global.query_cache_min_res_unit; +@@global.query_cache_min_res_unit +512 +'Bug#34842: FN_DYNVARS_132_03 - Minimum value according to documentation is 0, and here it is 512'; +SET @@global.query_cache_min_res_unit = 512; +SELECT @@global.query_cache_min_res_unit; +@@global.query_cache_min_res_unit +512 +SET @@global.query_cache_min_res_unit = 513; +SELECT @@global.query_cache_min_res_unit; +@@global.query_cache_min_res_unit +520 +'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +SET @@global.query_cache_min_res_unit = 1048576; +SELECT @@global.query_cache_min_res_unit; +@@global.query_cache_min_res_unit +1048576 +SET @@global.query_cache_min_res_unit = 1048575; +SELECT @@global.query_cache_min_res_unit; +@@global.query_cache_min_res_unit +1048576 +'#--------------------FN_DYNVARS_132_04-------------------------#' +SET @@global.query_cache_min_res_unit = -1; +SELECT @@global.query_cache_min_res_unit; +@@global.query_cache_min_res_unit +512 +SET @@global.query_cache_min_res_unit = 4294967296; +Warnings: +Warning 1292 Truncated incorrect query_cache_min_res_unit value: '4294967296' +SELECT @@global.query_cache_min_res_unit; +@@global.query_cache_min_res_unit +0 +SET @@global.query_cache_min_res_unit = 511; +SELECT @@global.query_cache_min_res_unit; +@@global.query_cache_min_res_unit +512 +SET @@global.query_cache_min_res_unit = 10000.01; +ERROR 42000: Incorrect argument type to variable 'query_cache_min_res_unit' +SELECT @@global.query_cache_min_res_unit; +@@global.query_cache_min_res_unit +512 +SET @@global.query_cache_min_res_unit = -1024; +SELECT @@global.query_cache_min_res_unit; +@@global.query_cache_min_res_unit +512 +SET @@global.query_cache_min_res_unit = 42949672950; +Warnings: +Warning 1292 Truncated incorrect query_cache_min_res_unit value: '42949672950' +SELECT @@global.query_cache_min_res_unit; +@@global.query_cache_min_res_unit +0 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@global.query_cache_min_res_unit = ON; +ERROR 42000: Incorrect argument type to variable 'query_cache_min_res_unit' +SELECT @@global.query_cache_min_res_unit; +@@global.query_cache_min_res_unit +0 +SET @@global.query_cache_min_res_unit = 'test'; +ERROR 42000: Incorrect argument type to variable 'query_cache_min_res_unit' +SELECT @@global.query_cache_min_res_unit; +@@global.query_cache_min_res_unit +0 +'#-------------------FN_DYNVARS_132_05----------------------------#' +SET @@session.query_cache_min_res_unit = 0; +ERROR HY000: Variable 'query_cache_min_res_unit' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@query_cache_min_res_unit; +@@query_cache_min_res_unit +0 +'#----------------------FN_DYNVARS_132_06------------------------#' +SELECT @@global.query_cache_min_res_unit = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='query_cache_min_res_unit'; +@@global.query_cache_min_res_unit = VARIABLE_VALUE +1 +SELECT @@query_cache_min_res_unit = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='query_cache_min_res_unit'; +@@query_cache_min_res_unit = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_132_07----------------------#' +SET @@global.query_cache_min_res_unit = TRUE; +SELECT @@global.query_cache_min_res_unit; +@@global.query_cache_min_res_unit +512 +SET @@global.query_cache_min_res_unit = FALSE; +SELECT @@global.query_cache_min_res_unit; +@@global.query_cache_min_res_unit +512 +'#---------------------FN_DYNVARS_132_08----------------------#' +SET @@global.query_cache_min_res_unit = 1; +SELECT @@query_cache_min_res_unit = @@global.query_cache_min_res_unit; +@@query_cache_min_res_unit = @@global.query_cache_min_res_unit +1 +'#---------------------FN_DYNVARS_132_09----------------------#' +SET query_cache_min_res_unit = 1; +ERROR HY000: Variable 'query_cache_min_res_unit' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@query_cache_min_res_unit; +@@query_cache_min_res_unit +512 +SET local.query_cache_min_res_unit = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'query_cache_min_res_unit = 1' at line 1 +SELECT local.query_cache_min_res_unit; +ERROR 42S02: Unknown table 'local' in field list +SET global.query_cache_min_res_unit = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'query_cache_min_res_unit = 1' at line 1 +SELECT global.query_cache_min_res_unit; +ERROR 42S02: Unknown table 'global' in field list +SELECT query_cache_min_res_unit = @@session.query_cache_min_res_unit; +ERROR 42S22: Unknown column 'query_cache_min_res_unit' in 'field list' +SET @@global.query_cache_min_res_unit = @start_value; +SELECT @@global.query_cache_min_res_unit; +@@global.query_cache_min_res_unit +4096 diff --git a/mysql-test/r/query_cache_min_res_unit_basic_64.result b/mysql-test/r/query_cache_min_res_unit_basic_64.result new file mode 100644 index 00000000000..e1c74d2bbc1 --- /dev/null +++ b/mysql-test/r/query_cache_min_res_unit_basic_64.result @@ -0,0 +1,130 @@ +SET @start_value = @@global.query_cache_min_res_unit; +SELECT @start_value; +@start_value +4096 +'#--------------------FN_DYNVARS_132_01------------------------#' +SET @@global.query_cache_min_res_unit = 99; +SET @@global.query_cache_min_res_unit = DEFAULT; +SELECT @@global.query_cache_min_res_unit; +@@global.query_cache_min_res_unit +4096 +'#---------------------FN_DYNVARS_132_02-------------------------#' +SET @@global.query_cache_min_res_unit = @start_value; +SELECT @@global.query_cache_min_res_unit = 4096; +@@global.query_cache_min_res_unit = 4096 +1 +'#--------------------FN_DYNVARS_132_03------------------------#' +SET @@global.query_cache_min_res_unit = 0; +SELECT @@global.query_cache_min_res_unit; +@@global.query_cache_min_res_unit +512 +SET @@global.query_cache_min_res_unit = 1; +SELECT @@global.query_cache_min_res_unit; +@@global.query_cache_min_res_unit +512 +'Bug#34842: FN_DYNVARS_132_03 - Minimum value according to documentation is 0, and here it is 512'; +SET @@global.query_cache_min_res_unit = 512; +SELECT @@global.query_cache_min_res_unit; +@@global.query_cache_min_res_unit +512 +SET @@global.query_cache_min_res_unit = 513; +SELECT @@global.query_cache_min_res_unit; +@@global.query_cache_min_res_unit +520 +'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +SET @@global.query_cache_min_res_unit = 1048576; +SELECT @@global.query_cache_min_res_unit; +@@global.query_cache_min_res_unit +1048576 +SET @@global.query_cache_min_res_unit = 1048575; +SELECT @@global.query_cache_min_res_unit; +@@global.query_cache_min_res_unit +1048576 +'#--------------------FN_DYNVARS_132_04-------------------------#' +SET @@global.query_cache_min_res_unit = -1; +SELECT @@global.query_cache_min_res_unit; +@@global.query_cache_min_res_unit +512 +SET @@global.query_cache_min_res_unit = 4294967296; +SELECT @@global.query_cache_min_res_unit; +@@global.query_cache_min_res_unit +4294967296 +SET @@global.query_cache_min_res_unit = 511; +SELECT @@global.query_cache_min_res_unit; +@@global.query_cache_min_res_unit +512 +SET @@global.query_cache_min_res_unit = 10000.01; +ERROR 42000: Incorrect argument type to variable 'query_cache_min_res_unit' +SELECT @@global.query_cache_min_res_unit; +@@global.query_cache_min_res_unit +512 +SET @@global.query_cache_min_res_unit = -1024; +SELECT @@global.query_cache_min_res_unit; +@@global.query_cache_min_res_unit +512 +SET @@global.query_cache_min_res_unit = 42949672950; +SELECT @@global.query_cache_min_res_unit; +@@global.query_cache_min_res_unit +42949672952 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@global.query_cache_min_res_unit = ON; +ERROR 42000: Incorrect argument type to variable 'query_cache_min_res_unit' +SELECT @@global.query_cache_min_res_unit; +@@global.query_cache_min_res_unit +42949672952 +SET @@global.query_cache_min_res_unit = 'test'; +ERROR 42000: Incorrect argument type to variable 'query_cache_min_res_unit' +SELECT @@global.query_cache_min_res_unit; +@@global.query_cache_min_res_unit +42949672952 +'#-------------------FN_DYNVARS_132_05----------------------------#' +SET @@session.query_cache_min_res_unit = 0; +ERROR HY000: Variable 'query_cache_min_res_unit' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@query_cache_min_res_unit; +@@query_cache_min_res_unit +42949672952 +'#----------------------FN_DYNVARS_132_06------------------------#' +SELECT @@global.query_cache_min_res_unit = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='query_cache_min_res_unit'; +@@global.query_cache_min_res_unit = VARIABLE_VALUE +1 +SELECT @@query_cache_min_res_unit = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='query_cache_min_res_unit'; +@@query_cache_min_res_unit = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_132_07----------------------#' +SET @@global.query_cache_min_res_unit = TRUE; +SELECT @@global.query_cache_min_res_unit; +@@global.query_cache_min_res_unit +512 +SET @@global.query_cache_min_res_unit = FALSE; +SELECT @@global.query_cache_min_res_unit; +@@global.query_cache_min_res_unit +512 +'#---------------------FN_DYNVARS_132_08----------------------#' +SET @@global.query_cache_min_res_unit = 1; +SELECT @@query_cache_min_res_unit = @@global.query_cache_min_res_unit; +@@query_cache_min_res_unit = @@global.query_cache_min_res_unit +1 +'#---------------------FN_DYNVARS_132_09----------------------#' +SET query_cache_min_res_unit = 1; +ERROR HY000: Variable 'query_cache_min_res_unit' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@query_cache_min_res_unit; +@@query_cache_min_res_unit +512 +SET local.query_cache_min_res_unit = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'query_cache_min_res_unit = 1' at line 1 +SELECT local.query_cache_min_res_unit; +ERROR 42S02: Unknown table 'local' in field list +SET global.query_cache_min_res_unit = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'query_cache_min_res_unit = 1' at line 1 +SELECT global.query_cache_min_res_unit; +ERROR 42S02: Unknown table 'global' in field list +SELECT query_cache_min_res_unit = @@session.query_cache_min_res_unit; +ERROR 42S22: Unknown column 'query_cache_min_res_unit' in 'field list' +SET @@global.query_cache_min_res_unit = @start_value; +SELECT @@global.query_cache_min_res_unit; +@@global.query_cache_min_res_unit +4096 diff --git a/mysql-test/r/query_cache_size_basic_32.result b/mysql-test/r/query_cache_size_basic_32.result new file mode 100644 index 00000000000..1af70b3af84 --- /dev/null +++ b/mysql-test/r/query_cache_size_basic_32.result @@ -0,0 +1,138 @@ +SET @start_value = @@global.query_cache_size; +SELECT @start_value; +@start_value +0 +'#--------------------FN_DYNVARS_133_01------------------------#' +SET @@global.query_cache_size = 99; +SET @@global.query_cache_size = DEFAULT; +SELECT @@global.query_cache_size; +@@global.query_cache_size +0 +'#---------------------FN_DYNVARS_133_02-------------------------#' +SET @@global.query_cache_size = @start_value; +SELECT @@global.query_cache_size = 0; +@@global.query_cache_size = 0 +1 +'#--------------------FN_DYNVARS_133_03------------------------#' +SET @@global.query_cache_size = 0; +SELECT @@global.query_cache_size; +@@global.query_cache_size +0 +SET @@global.query_cache_size = 1; +SELECT @@global.query_cache_size; +@@global.query_cache_size +0 +SET @@global.query_cache_size = 512; +SELECT @@global.query_cache_size; +@@global.query_cache_size +0 +SET @@global.query_cache_size = 1024; +Warnings: +Warning 1282 Query cache failed to set size 1024; new query cache size is 0 +SELECT @@global.query_cache_size; +@@global.query_cache_size +0 +: 'Bug#34880: Warnings are coming on assinging valid values to variable +'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +SET @@global.query_cache_size = 1048576; +SELECT @@global.query_cache_size; +@@global.query_cache_size +1048576 +SET @@global.query_cache_size = 1048575; +SELECT @@global.query_cache_size; +@@global.query_cache_size +1047552 +'#--------------------FN_DYNVARS_133_04-------------------------#' +SET @@global.query_cache_size = -1; +SELECT @@global.query_cache_size; +@@global.query_cache_size +0 +SET @@global.query_cache_size = 4294967296; +Warnings: +Warning 1292 Truncated incorrect query_cache_size value: '4294967296' +Warning 1282 Query cache failed to set size 4294966272; new query cache size is 0 +SELECT @@global.query_cache_size; +@@global.query_cache_size +0 +SET @@global.query_cache_size = 511; +SELECT @@global.query_cache_size; +@@global.query_cache_size +0 +SET @@global.query_cache_size = 10000.01; +ERROR 42000: Incorrect argument type to variable 'query_cache_size' +SELECT @@global.query_cache_size; +@@global.query_cache_size +0 +SET @@global.query_cache_size = -1024; +SELECT @@global.query_cache_size; +@@global.query_cache_size +0 +SET @@global.query_cache_size = 42949672950; +Warnings: +Warning 1292 Truncated incorrect query_cache_size value: '42949672950' +Warning 1282 Query cache failed to set size 4294966272; new query cache size is 0 +SELECT @@global.query_cache_size; +@@global.query_cache_size +0 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@global.query_cache_size = ON; +ERROR 42000: Incorrect argument type to variable 'query_cache_size' +SELECT @@global.query_cache_size; +@@global.query_cache_size +0 +SET @@global.query_cache_size = 'test'; +ERROR 42000: Incorrect argument type to variable 'query_cache_size' +SELECT @@global.query_cache_size; +@@global.query_cache_size +0 +'#-------------------FN_DYNVARS_133_05----------------------------#' +SET @@session.query_cache_size = 0; +ERROR HY000: Variable 'query_cache_size' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@query_cache_size; +@@query_cache_size +0 +'#----------------------FN_DYNVARS_133_06------------------------#' +SELECT @@global.query_cache_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='query_cache_size'; +@@global.query_cache_size = VARIABLE_VALUE +1 +SELECT @@query_cache_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='query_cache_size'; +@@query_cache_size = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_133_07----------------------#' +SET @@global.query_cache_size = TRUE; +SELECT @@global.query_cache_size; +@@global.query_cache_size +0 +SET @@global.query_cache_size = FALSE; +SELECT @@global.query_cache_size; +@@global.query_cache_size +0 +'#---------------------FN_DYNVARS_133_08----------------------#' +SET @@global.query_cache_size = 1; +SELECT @@query_cache_size = @@global.query_cache_size; +@@query_cache_size = @@global.query_cache_size +1 +'#---------------------FN_DYNVARS_133_09----------------------#' +SET query_cache_size = 1; +ERROR HY000: Variable 'query_cache_size' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@query_cache_size; +@@query_cache_size +0 +SET local.query_cache_size = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'query_cache_size = 1' at line 1 +SELECT local.query_cache_size; +ERROR 42S02: Unknown table 'local' in field list +SET global.query_cache_size = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'query_cache_size = 1' at line 1 +SELECT global.query_cache_size; +ERROR 42S02: Unknown table 'global' in field list +SELECT query_cache_size = @@session.query_cache_size; +ERROR 42S22: Unknown column 'query_cache_size' in 'field list' +SET @@global.query_cache_size = @start_value; +SELECT @@global.query_cache_size; +@@global.query_cache_size +0 diff --git a/mysql-test/r/query_cache_size_basic_64.result b/mysql-test/r/query_cache_size_basic_64.result new file mode 100644 index 00000000000..0d67eec1ccc --- /dev/null +++ b/mysql-test/r/query_cache_size_basic_64.result @@ -0,0 +1,134 @@ +SET @start_value = @@global.query_cache_size; +SELECT @start_value; +@start_value +0 +'#--------------------FN_DYNVARS_133_01------------------------#' +SET @@global.query_cache_size = 99; +SET @@global.query_cache_size = DEFAULT; +SELECT @@global.query_cache_size; +@@global.query_cache_size +0 +'#---------------------FN_DYNVARS_133_02-------------------------#' +SET @@global.query_cache_size = @start_value; +SELECT @@global.query_cache_size = 0; +@@global.query_cache_size = 0 +1 +'#--------------------FN_DYNVARS_133_03------------------------#' +SET @@global.query_cache_size = 0; +SELECT @@global.query_cache_size; +@@global.query_cache_size +0 +SET @@global.query_cache_size = 1; +SELECT @@global.query_cache_size; +@@global.query_cache_size +0 +SET @@global.query_cache_size = 512; +SELECT @@global.query_cache_size; +@@global.query_cache_size +0 +SET @@global.query_cache_size = 1024; +Warnings: +Warning 1282 Query cache failed to set size 1024; new query cache size is 0 +SELECT @@global.query_cache_size; +@@global.query_cache_size +0 +: 'Bug#34880: Warnings are coming on assinging valid values to variable +'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +SET @@global.query_cache_size = 1048576; +SELECT @@global.query_cache_size; +@@global.query_cache_size +1048576 +SET @@global.query_cache_size = 1048575; +SELECT @@global.query_cache_size; +@@global.query_cache_size +1047552 +'#--------------------FN_DYNVARS_133_04-------------------------#' +SET @@global.query_cache_size = -1; +SELECT @@global.query_cache_size; +@@global.query_cache_size +0 +SET @@global.query_cache_size = 4294967296; +SELECT @@global.query_cache_size; +@@global.query_cache_size +4294967296 +SET @@global.query_cache_size = 511; +SELECT @@global.query_cache_size; +@@global.query_cache_size +0 +SET @@global.query_cache_size = 10000.01; +ERROR 42000: Incorrect argument type to variable 'query_cache_size' +SELECT @@global.query_cache_size; +@@global.query_cache_size +0 +SET @@global.query_cache_size = -1024; +SELECT @@global.query_cache_size; +@@global.query_cache_size +0 +SET @@global.query_cache_size = 42949672950; +Warnings: +Warning 1282 Query cache failed to set size 42949671936; new query cache size is 0 +SELECT @@global.query_cache_size; +@@global.query_cache_size +0 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@global.query_cache_size = ON; +ERROR 42000: Incorrect argument type to variable 'query_cache_size' +SELECT @@global.query_cache_size; +@@global.query_cache_size +0 +SET @@global.query_cache_size = 'test'; +ERROR 42000: Incorrect argument type to variable 'query_cache_size' +SELECT @@global.query_cache_size; +@@global.query_cache_size +0 +'#-------------------FN_DYNVARS_133_05----------------------------#' +SET @@session.query_cache_size = 0; +ERROR HY000: Variable 'query_cache_size' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@query_cache_size; +@@query_cache_size +0 +'#----------------------FN_DYNVARS_133_06------------------------#' +SELECT @@global.query_cache_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='query_cache_size'; +@@global.query_cache_size = VARIABLE_VALUE +1 +SELECT @@query_cache_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='query_cache_size'; +@@query_cache_size = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_133_07----------------------#' +SET @@global.query_cache_size = TRUE; +SELECT @@global.query_cache_size; +@@global.query_cache_size +0 +SET @@global.query_cache_size = FALSE; +SELECT @@global.query_cache_size; +@@global.query_cache_size +0 +'#---------------------FN_DYNVARS_133_08----------------------#' +SET @@global.query_cache_size = 1; +SELECT @@query_cache_size = @@global.query_cache_size; +@@query_cache_size = @@global.query_cache_size +1 +'#---------------------FN_DYNVARS_133_09----------------------#' +SET query_cache_size = 1; +ERROR HY000: Variable 'query_cache_size' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@query_cache_size; +@@query_cache_size +0 +SET local.query_cache_size = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'query_cache_size = 1' at line 1 +SELECT local.query_cache_size; +ERROR 42S02: Unknown table 'local' in field list +SET global.query_cache_size = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'query_cache_size = 1' at line 1 +SELECT global.query_cache_size; +ERROR 42S02: Unknown table 'global' in field list +SELECT query_cache_size = @@session.query_cache_size; +ERROR 42S22: Unknown column 'query_cache_size' in 'field list' +SET @@global.query_cache_size = @start_value; +SELECT @@global.query_cache_size; +@@global.query_cache_size +0 diff --git a/mysql-test/r/query_cache_type_basic.result b/mysql-test/r/query_cache_type_basic.result new file mode 100644 index 00000000000..101853daa80 --- /dev/null +++ b/mysql-test/r/query_cache_type_basic.result @@ -0,0 +1,157 @@ +SET @global_start_value = @@global.query_cache_type; +SELECT @global_start_value; +@global_start_value +ON +SET @session_start_value = @@session.query_cache_type; +SELECT @session_start_value; +@session_start_value +ON +'#--------------------FN_DYNVARS_134_01------------------------#' +SET @@global.query_cache_type = 0; +SET @@global.query_cache_type = DEFAULT; +SELECT @@global.query_cache_type; +@@global.query_cache_type +ON +SET @@session.query_cache_type = 0; +SET @@session.query_cache_type = DEFAULT; +SELECT @@session.query_cache_type; +@@session.query_cache_type +ON +'#---------------------FN_DYNVARS_134_02-------------------------#' +SET @@global.query_cache_type = NULL; +ERROR 42000: Variable 'query_cache_type' can't be set to the value of 'NULL' +SET @@global.query_cache_type = ''; +ERROR 42000: Variable 'query_cache_type' can't be set to the value of '' +SET @@session.query_cache_type = NULL; +ERROR 42000: Variable 'query_cache_type' can't be set to the value of 'NULL' +SET @@session.query_cache_type = ''; +ERROR 42000: Variable 'query_cache_type' can't be set to the value of '' +'#--------------------FN_DYNVARS_134_03------------------------#' +SET @@global.query_cache_type = OFF; +SELECT @@global.query_cache_type; +@@global.query_cache_type +OFF +SET @@global.query_cache_type = ON; +SELECT @@global.query_cache_type; +@@global.query_cache_type +ON +SET @@global.query_cache_type = DEMAND; +SELECT @@global.query_cache_type; +@@global.query_cache_type +DEMAND +SET @@session.query_cache_type = OFF; +SELECT @@session.query_cache_type; +@@session.query_cache_type +OFF +SET @@session.query_cache_type = ON; +SELECT @@session.query_cache_type; +@@session.query_cache_type +ON +SET @@session.query_cache_type = DEMAND; +SELECT @@session.query_cache_type; +@@session.query_cache_type +DEMAND +'#--------------------FN_DYNVARS_134_04-------------------------#' +SET @@global.query_cache_type = -1; +ERROR 42000: Variable 'query_cache_type' can't be set to the value of '-1' +SET @@global.query_cache_type = ONDEMAND; +ERROR 42000: Variable 'query_cache_type' can't be set to the value of 'ONDEMAND' +SET @@global.query_cache_type = 'ON,OFF'; +ERROR 42000: Variable 'query_cache_type' can't be set to the value of 'ON,OFF' +SET @@global.query_cache_type = 'OF'; +SELECT @@global.query_cache_type; +@@global.query_cache_type +OFF +'Bug# 34828: OF is taken as OFF.' +SET @@global.query_cache_type = YES; +ERROR 42000: Variable 'query_cache_type' can't be set to the value of 'YES' +SET @@global.query_cache_type = ' '; +ERROR 42000: Variable 'query_cache_type' can't be set to the value of ' ' +'#-------------------FN_DYNVARS_134_05----------------------------#' +SELECT @@session.query_cache_type = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='query_cache_type'; +@@session.query_cache_type = VARIABLE_VALUE +1 +'#----------------------FN_DYNVARS_134_06------------------------#' +SELECT @@global.query_cache_type = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='query_cache_type'; +@@global.query_cache_type = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_134_07-------------------------#' +SET @@global.query_cache_type = 0; +SELECT @@global.query_cache_type; +@@global.query_cache_type +OFF +SET @@global.query_cache_type = 1; +SELECT @@global.query_cache_type; +@@global.query_cache_type +ON +SET @@global.query_cache_type = 2; +SELECT @@global.query_cache_type; +@@global.query_cache_type +DEMAND +SET @@global.query_cache_type = 0.4; +SELECT @@global.query_cache_type; +@@global.query_cache_type +OFF +SET @@global.query_cache_type = 1.0; +SELECT @@global.query_cache_type; +@@global.query_cache_type +ON +SET @@global.query_cache_type = 1.1; +SELECT @@global.query_cache_type; +@@global.query_cache_type +ON +SET @@global.query_cache_type = 1.5; +SELECT @@global.query_cache_type; +@@global.query_cache_type +DEMAND +SET @@global.query_cache_type = 2.49; +SELECT @@global.query_cache_type; +@@global.query_cache_type +DEMAND +SET @@session.query_cache_type = 0.5; +SELECT @@session.query_cache_type; +@@session.query_cache_type +ON +SET @@session.query_cache_type = 1.6; +SELECT @@session.query_cache_type; +@@session.query_cache_type +DEMAND +'Bug: Decimal values can be used within the range [0.0-2.5). Values'; +'are rounded to 0,1,2 as evident from outcome.'; +SET @@global.query_cache_type = 3; +ERROR 42000: Variable 'query_cache_type' can't be set to the value of '3' +'#---------------------FN_DYNVARS_134_08----------------------#' +SET @@global.query_cache_type = TRUE; +SELECT @@global.query_cache_type; +@@global.query_cache_type +ON +SET @@global.query_cache_type = FALSE; +SELECT @@global.query_cache_type; +@@global.query_cache_type +OFF +'#---------------------FN_DYNVARS_134_09----------------------#' +SET query_cache_type = 'ON'; +SET session.query_cache_type = 'OFF'; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'query_cache_type = 'OFF'' at line 1 +SET global.query_cache_type = 'DEMAND'; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'query_cache_type = 'DEMAND'' at line 1 +SET session query_cache_type = 1; +SELECT @@query_cache_type; +@@query_cache_type +ON +SET global query_cache_type = 0; +SELECT @@global.query_cache_type; +@@global.query_cache_type +OFF +SET @@global.query_cache_type = @global_start_value; +SELECT @@global.query_cache_type; +@@global.query_cache_type +ON +SET @@session.query_cache_type = @session_start_value; +SELECT @@session.query_cache_type; +@@session.query_cache_type +ON diff --git a/mysql-test/r/query_cache_type_func.result b/mysql-test/r/query_cache_type_func.result new file mode 100644 index 00000000000..94c31804248 --- /dev/null +++ b/mysql-test/r/query_cache_type_func.result @@ -0,0 +1,221 @@ +** Setup ** + +** Connecting to con0 using root ** +** Connection con0 ** +SET @start_global_value = @@GLOBAL.query_cache_type; +SET @start_session_value = @@SESSION.query_cache_type; +CREATE TABLE t1(id int, value varchar(10)); +INSERT INTO t1 VALUES(1, 'val1'); +INSERT INTO t1 VALUES(2, 'val2'); +INSERT INTO t1 VALUES(3, 'val3'); +SET @@GLOBAL.query_cache_size = 65536; +FLUSHING CACHE +SET @@GLOBAL.query_cache_size = 0; +SET @@GLOBAL.query_cache_size = 65536; +** TESTING SESSION SCOPE ** +'#--------------------FN_DYNVARS_135_01-------------------------#' +SET @@query_cache_type = DEFAULT; +SELECT @@query_cache_type; +@@query_cache_type +ON +ON Expected +'#--------------------FN_DYNVARS_135_02-------------------------#' +SET @@query_cache_type = NULL; +ERROR 42000: Variable 'query_cache_type' can't be set to the value of 'NULL' +Expected error: Wrong value for variable +SET @@query_cache_type = ON; +SELECT @@query_cache_type; +@@query_cache_type +ON +ON Expected +SET @@query_cache_type = OFF; +SELECT @@query_cache_type; +@@query_cache_type +OFF +OFF Expected +SET @@query_cache_type = DEMAND; +SELECT @@query_cache_type; +@@query_cache_type +DEMAND +DEMAND Expected +SET @@query_cache_type = XYZ; +ERROR 42000: Variable 'query_cache_type' can't be set to the value of 'XYZ' +Expected error: Wrong value for variable +** Turning cache to ON ** +SET @@query_cache_type = ON; +'#--------------------FN_DYNVARS_135_03-------------------------#' +** CACHE ADDITION ** + +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +Variable_name Value +Qcache_queries_in_cache 0 +0 Expected +SELECT * FROM t1; +id value +1 val1 +2 val2 +3 val3 +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +Variable_name Value +Qcache_queries_in_cache 1 +1 Expected +SELECT value FROM t1; +value +val1 +val2 +val3 +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +Variable_name Value +Qcache_queries_in_cache 2 +2 Expected +'#--------------------FN_DYNVARS_135_04-------------------------#' +** CACHE HIT ** +SELECT * FROM t1; +id value +1 val1 +2 val2 +3 val3 +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +Variable_name Value +Qcache_queries_in_cache 2 +2 Expected +SELECT SQL_CACHE value FROM t1; +value +val1 +val2 +val3 +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +Variable_name Value +Qcache_queries_in_cache 3 +3 Expected +SELECT SQL_NO_CACHE value FROM t1; +value +val1 +val2 +val3 +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +Variable_name Value +Qcache_queries_in_cache 3 +3 Expected +'#--------------------FN_DYNVARS_135_05-------------------------#' +Testing with store procedure +CREATE PROCEDURE testProcHit() +BEGIN +SELECT * FROM t1; +SELECT SQL_CACHE value FROM t1; +END| +CALL testProcHit(); +id value +1 val1 +2 val2 +3 val3 +value +val1 +val2 +val3 +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +Variable_name Value +Qcache_queries_in_cache 5 +Expected value : 3 +================== +Bug#35388: Stored procedure execution causes improper behavior of query cache. +'#--------------------FN_DYNVARS_135_06-------------------------#' +FLUSHING CACHE +SET @@GLOBAL.query_cache_size = 0; +SET @@GLOBAL.query_cache_size = 65536; +** Turning cache to OFF ** +SET @@query_cache_type = OFF; +SELECT @@query_cache_type; +@@query_cache_type +OFF +SELECT id FROM t1; +id +1 +2 +3 +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +Variable_name Value +Qcache_queries_in_cache 0 +0 Expected +'#--------------------FN_DYNVARS_135_07-------------------------#' +SELECT SQL_CACHE id FROM t1; +id +1 +2 +3 +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +Variable_name Value +Qcache_queries_in_cache 0 +0 Expected +SELECT SQL_CACHE * FROM t1; +id value +1 val1 +2 val2 +3 val3 +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +Variable_name Value +Qcache_queries_in_cache 0 +0 Expected +'#--------------------FN_DYNVARS_135_08-------------------------#' +FLUSHING CACHE +SET @@GLOBAL.query_cache_size = 0; +SET @@GLOBAL.query_cache_size = 65536; +** Turning cache to DEMAND ** +SET @@query_cache_type = DEMAND; +SELECT @@query_cache_type; +@@query_cache_type +DEMAND +'#--------------------FN_DYNVARS_135_09-------------------------#' +SELECT value,id FROM t1; +value id +val1 1 +val2 2 +val3 3 +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +Variable_name Value +Qcache_queries_in_cache 0 +0 Expected +SELECT SQL_CACHE * FROM t1; +id value +1 val1 +2 val2 +3 val3 +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +Variable_name Value +Qcache_queries_in_cache 1 +0 Expected +** TESTING GLOBAL SCOPE ** +'#--------------------FN_DYNVARS_135_10-------------------------#' +SET @@GLOBAL.query_cache_type = OFF; +** Connecting con1 using root ** +** Connection con1 ** +SELECT @@query_cache_type; +@@query_cache_type +OFF +OFF Expected +'#--------------------FN_DYNVARS_135_11-------------------------#' +SET @@GLOBAL.query_cache_type = DEMAND; +** Connecting con2 using root ** +** Connection con2 ** +SELECT @@query_cache_type; +@@query_cache_type +DEMAND +DEMAND Expected +'#--------------------FN_DYNVARS_135_12-------------------------#' +SET @@GLOBAL.query_cache_type = ON; +** Connecting con3 using root ** +** Connection con3 ** +SELECT @@query_cache_type; +@@query_cache_type +ON +ON Expected + +** Cleanup ** + +Disconnecting con1,con2,con3 +** Connection con0 ** +SET @@GLOBAL.query_cache_type = @start_global_value; +SET @@SESSION.query_cache_type = @start_session_value; +DROP TABLE t1; +DROP PROCEDURE testProcHit; +Disconnecting con0 diff --git a/mysql-test/r/query_cache_wlock_invalidate_basic.result b/mysql-test/r/query_cache_wlock_invalidate_basic.result new file mode 100644 index 00000000000..bff07741656 --- /dev/null +++ b/mysql-test/r/query_cache_wlock_invalidate_basic.result @@ -0,0 +1,174 @@ +SET @session_start_value = @@session.query_cache_wlock_invalidate; +SELECT @session_start_value; +@session_start_value +0 +SET @global_start_value = @@global.query_cache_wlock_invalidate; +SELECT @global_start_value; +@global_start_value +0 +'#--------------------FN_DYNVARS_135_01------------------------#' +SET @@session.query_cache_wlock_invalidate = 1; +SET @@session.query_cache_wlock_invalidate = DEFAULT; +SELECT @@session.query_cache_wlock_invalidate; +@@session.query_cache_wlock_invalidate +0 +SET @@global.query_cache_wlock_invalidate = 1; +SET @@global.query_cache_wlock_invalidate = DEFAULT; +SELECT @@global.query_cache_wlock_invalidate; +@@global.query_cache_wlock_invalidate +0 +'#---------------------FN_DYNVARS_135_02-------------------------#' +SET query_cache_wlock_invalidate = 1; +SELECT @@query_cache_wlock_invalidate; +@@query_cache_wlock_invalidate +1 +SELECT session.query_cache_wlock_invalidate; +ERROR 42S02: Unknown table 'session' in field list +SELECT local.query_cache_wlock_invalidate; +ERROR 42S02: Unknown table 'local' in field list +SELECT global.query_cache_wlock_invalidate; +ERROR 42S02: Unknown table 'global' in field list +SET session query_cache_wlock_invalidate = 0; +SELECT @@session.query_cache_wlock_invalidate; +@@session.query_cache_wlock_invalidate +0 +SET global query_cache_wlock_invalidate = 0; +SELECT @@global.query_cache_wlock_invalidate; +@@global.query_cache_wlock_invalidate +0 +'#--------------------FN_DYNVARS_135_03------------------------#' +SET @@session.query_cache_wlock_invalidate = 0; +SELECT @@session.query_cache_wlock_invalidate; +@@session.query_cache_wlock_invalidate +0 +SET @@session.query_cache_wlock_invalidate = 1; +SELECT @@session.query_cache_wlock_invalidate; +@@session.query_cache_wlock_invalidate +1 +SET @@global.query_cache_wlock_invalidate = 0; +SELECT @@global.query_cache_wlock_invalidate; +@@global.query_cache_wlock_invalidate +0 +SET @@global.query_cache_wlock_invalidate = 1; +SELECT @@global.query_cache_wlock_invalidate; +@@global.query_cache_wlock_invalidate +1 +'#--------------------FN_DYNVARS_135_04-------------------------#' +SET @@session.query_cache_wlock_invalidate = -1; +ERROR 42000: Variable 'query_cache_wlock_invalidate' can't be set to the value of '-1' +SET @@session.query_cache_wlock_invalidate = 1.6; +ERROR 42000: Variable 'query_cache_wlock_invalidate' can't be set to the value of '2' +SET @@session.query_cache_wlock_invalidate = "T"; +ERROR 42000: Variable 'query_cache_wlock_invalidate' can't be set to the value of 'T' +SET @@session.query_cache_wlock_invalidate = "Y"; +ERROR 42000: Variable 'query_cache_wlock_invalidate' can't be set to the value of 'Y' +SET @@session.query_cache_wlock_invalidate = TRÜE; +ERROR 42000: Variable 'query_cache_wlock_invalidate' can't be set to the value of 'TRÜE' +SET @@session.query_cache_wlock_invalidate = ÕN; +ERROR 42000: Variable 'query_cache_wlock_invalidate' can't be set to the value of 'ÕN' +SET @@session.query_cache_wlock_invalidate = OF; +SELECT @@session.query_cache_wlock_invalidate; +@@session.query_cache_wlock_invalidate +0 +'Bug# 34828: OF is taken as OFF and a value of 0 is set.' +SET @@session.query_cache_wlock_invalidate = ÓFF; +ERROR 42000: Variable 'query_cache_wlock_invalidate' can't be set to the value of 'ÓFF' +SET @@global.query_cache_wlock_invalidate = -1; +ERROR 42000: Variable 'query_cache_wlock_invalidate' can't be set to the value of '-1' +SET @@global.query_cache_wlock_invalidate = 2; +ERROR 42000: Variable 'query_cache_wlock_invalidate' can't be set to the value of '2' +SET @@global.query_cache_wlock_invalidate = "T"; +ERROR 42000: Variable 'query_cache_wlock_invalidate' can't be set to the value of 'T' +SET @@global.query_cache_wlock_invalidate = "Y"; +ERROR 42000: Variable 'query_cache_wlock_invalidate' can't be set to the value of 'Y' +SET @@global.query_cache_wlock_invalidate = TRÜE; +ERROR 42000: Variable 'query_cache_wlock_invalidate' can't be set to the value of 'TRÜE' +SET @@global.query_cache_wlock_invalidate = ÕN; +ERROR 42000: Variable 'query_cache_wlock_invalidate' can't be set to the value of 'ÕN' +SET @@global.query_cache_wlock_invalidate = OF; +SELECT @@global.query_cache_wlock_invalidate; +@@global.query_cache_wlock_invalidate +0 +'Bug 34828: OF is taken as OFF and a value of 0 is set.' +SET @@global.query_cache_wlock_invalidate = ÓFF; +ERROR 42000: Variable 'query_cache_wlock_invalidate' can't be set to the value of 'ÓFF' +'#-------------------FN_DYNVARS_135_05----------------------------#' +SET @@global.query_cache_wlock_invalidate = 0; +SET @@session.query_cache_wlock_invalidate = 1; +SELECT @@global.query_cache_wlock_invalidate AS res_is_0; +res_is_0 +0 +SET @@global.query_cache_wlock_invalidate = 0; +SELECT @@session.query_cache_wlock_invalidate AS res_is_1; +res_is_1 +1 +'#----------------------FN_DYNVARS_135_06------------------------#' +SELECT @@global.query_cache_wlock_invalidate = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='query_cache_wlock_invalidate'; +@@global.query_cache_wlock_invalidate = VARIABLE_VALUE +1 +SELECT @@global.query_cache_wlock_invalidate; +@@global.query_cache_wlock_invalidate +0 +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='query_cache_wlock_invalidate'; +VARIABLE_VALUE +OFF +'#----------------------FN_DYNVARS_135_07------------------------#' +SELECT @@session.query_cache_wlock_invalidate = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='query_cache_wlock_invalidate'; +@@session.query_cache_wlock_invalidate = VARIABLE_VALUE +0 +SELECT @@session.query_cache_wlock_invalidate; +@@session.query_cache_wlock_invalidate +1 +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='query_cache_wlock_invalidate'; +VARIABLE_VALUE +ON +'#---------------------FN_DYNVARS_135_08-------------------------#' +SET @@session.query_cache_wlock_invalidate = OFF; +SELECT @@session.query_cache_wlock_invalidate; +@@session.query_cache_wlock_invalidate +0 +SET @@session.query_cache_wlock_invalidate = ON; +SELECT @@session.query_cache_wlock_invalidate; +@@session.query_cache_wlock_invalidate +1 +SET @@global.query_cache_wlock_invalidate = OFF; +SELECT @@global.query_cache_wlock_invalidate; +@@global.query_cache_wlock_invalidate +0 +SET @@global.query_cache_wlock_invalidate = ON; +SELECT @@global.query_cache_wlock_invalidate; +@@global.query_cache_wlock_invalidate +1 +'#---------------------FN_DYNVARS_135_09----------------------#' +SET @@session.query_cache_wlock_invalidate = TRUE; +SELECT @@session.query_cache_wlock_invalidate; +@@session.query_cache_wlock_invalidate +1 +SET @@session.query_cache_wlock_invalidate = FALSE; +SELECT @@session.query_cache_wlock_invalidate; +@@session.query_cache_wlock_invalidate +0 +SET @@global.query_cache_wlock_invalidate = TRUE; +SELECT @@global.query_cache_wlock_invalidate; +@@global.query_cache_wlock_invalidate +1 +SET @@global.query_cache_wlock_invalidate = FALSE; +SELECT @@global.query_cache_wlock_invalidate; +@@global.query_cache_wlock_invalidate +0 +SET @@session.query_cache_wlock_invalidate = @session_start_value; +SELECT @@session.query_cache_wlock_invalidate; +@@session.query_cache_wlock_invalidate +0 +SET @@global.query_cache_wlock_invalidate = @global_start_value; +SELECT @@global.query_cache_wlock_invalidate; +@@global.query_cache_wlock_invalidate +0 diff --git a/mysql-test/r/query_cache_wlock_invalidate_func.result b/mysql-test/r/query_cache_wlock_invalidate_func.result new file mode 100644 index 00000000000..71ee11a5235 --- /dev/null +++ b/mysql-test/r/query_cache_wlock_invalidate_func.result @@ -0,0 +1,156 @@ +** Setup ** + +** Connecting con0 using root ** +** Connecting con1 using root ** +** Connection con0 ** +SET @start_global_value = @@GLOBAL.query_cache_wlock_invalidate; +SET @start_session_value = @@SESSION.query_cache_wlock_invalidate; +SET @old_cache_size = @@GLOBAL.query_cache_size; +SET @old_cache_type = @@GLOBAL.query_cache_type; +CREATE TABLE t1(id int, value varchar(10)); +INSERT INTO t1 VALUES(1, 'val1'); +INSERT INTO t1 VALUES(2, 'val2'); +INSERT INTO t1 VALUES(3, 'val3'); +SET GLOBAL query_cache_size = 131072; +FLUSHING CACHE +SET GLOBAL query_cache_size = 0; +SET GLOBAL query_cache_size = 131072; +SET GLOBAL query_cache_type = ON; +Testing for value ON +** Connection con0 ** +SET SESSION query_cache_wlock_invalidate = ON; +** Connection con1 ** +SET SESSION query_cache_wlock_invalidate = ON; +'#----------------------------FN_DYNVARS_136_01--------------#' +Testing for cache invalidation +SELECT * FROM t1; +id value +1 val1 +2 val2 +3 val3 +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +Variable_name Value +Qcache_queries_in_cache 1 +1 Expected +LOCK TABLE t1 WRITE; +UNLOCK TABLES; +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +Variable_name Value +Qcache_queries_in_cache 0 +0 Expected +'#----------------------------FN_DYNVARS_136_02-----------------------#' +SELECT * FROM t1; +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +** Connection con1 ** +SELECT * FROM t1; +id value +1 val1 +2 val2 +3 val3 +** Connection con0 ** +LOCK TABLE t1 WRITE; +** Connection con1 ** +** Asynchronous Execution ** +SELECT * FROM t1; +** Connection con0 ** +Sleeping 2 Seconds before unlock +UNLOCK TABLES; +** Connection con1 ** +** Asynchronous Result ** +id value +1 val1 +2 val2 +3 val3 +Testing for value OFF +** Connection con0 ** +SET SESSION query_cache_wlock_invalidate = OFF; +** Connection con1 ** +SET SESSION query_cache_wlock_invalidate = OFF; +'#----------------------------FN_DYNVARS_136_03------------------#' +Testing for cache invalidation +SELECT * FROM t1; +id value +1 val1 +2 val2 +3 val3 +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +Variable_name Value +Qcache_queries_in_cache 1 +1 Expected +LOCK TABLE t1 WRITE; +UNLOCK TABLES; +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +Variable_name Value +Qcache_queries_in_cache 1 +1 Expected +'#----------------------------FN_DYNVARS_136_04---------------------#' +SELECT * FROM t1; +id value +1 val1 +2 val2 +3 val3 +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +Variable_name Value +Qcache_queries_in_cache 1 +1 Expected +** Connection con1 ** +SELECT * FROM t1; +id value +1 val1 +2 val2 +3 val3 +** Connection con0 ** +LOCK TABLE t1 WRITE; +** Connection con1 ** +** Should not be blocked ** +SELECT * FROM t1; +id value +1 val1 +2 val2 +3 val3 +** Connection con0 ** +Sleeping 2 Seconds before unlock +UNLOCK TABLES; +** Connection con1 ** +'#----------------------------FN_DYNVARS_136_05------------------------#' +SET GLOBAL query_cache_wlock_invalidate = OFF; +** Connecting con_int1 using root ** +** Connection con_int1 ** +SELECT @@SESSION.query_cache_wlock_invalidate; +@@SESSION.query_cache_wlock_invalidate +0 +Expected Value : 0 / OFF; +SET SESSION query_cache_wlock_invalidate = ON; +** Connecting con_int2 using root ** +** Connection con_int2 ** +SELECT @@SESSION.query_cache_wlock_invalidate; +@@SESSION.query_cache_wlock_invalidate +0 +Expected Value : 0 / OFF; +SET SESSION query_cache_wlock_invalidate = OFF; +** Connection con_int1 ** +SELECT @@SESSION.query_cache_wlock_invalidate; +@@SESSION.query_cache_wlock_invalidate +1 +Expected Value : 1 / ON; +** Connection con_int2 ** +SELECT @@SESSION.query_cache_wlock_invalidate; +@@SESSION.query_cache_wlock_invalidate +0 +Expected Value : 0 / OFF; +SELECT @@GLOBAL.query_cache_wlock_invalidate; +@@GLOBAL.query_cache_wlock_invalidate +0 +Expected Value : 0 / OFF; +** Connection default ** +Disconnecting Connections con_int1, con_int2 + +CLEANUP +** Connection con0 ** +SET @@GLOBAL.query_cache_wlock_invalidate = @start_global_value; +SET @@SESSION.query_cache_wlock_invalidate = @start_session_value ; +SET @@GLOBAL.query_cache_size = @old_cache_size; +SET @@GLOBAL.query_cache_type = @old_cache_type; +** Connection default ** +Disconnecting Connections con0, con1 +DROP TABLE t1; diff --git a/mysql-test/r/query_prealloc_size_basic_32.result b/mysql-test/r/query_prealloc_size_basic_32.result new file mode 100644 index 00000000000..176e4fb810a --- /dev/null +++ b/mysql-test/r/query_prealloc_size_basic_32.result @@ -0,0 +1,192 @@ +SET @start_global_value = @@global.query_prealloc_size ; +SELECT @start_global_value; +@start_global_value +8192 +SET @start_session_value = @@session.query_prealloc_size ; +SELECT @start_session_value; +@start_session_value +8192 +'#--------------------FN_DYNVARS_005_01-------------------------#' +SET @@global.query_prealloc_size = 100; +Warnings: +Warning 1292 Truncated incorrect query_prealloc_size value: '100' +SET @@global.query_prealloc_size = DEFAULT; +SELECT @@global.query_prealloc_size ; +@@global.query_prealloc_size +8192 +SET @@session.query_prealloc_size = 200; +Warnings: +Warning 1292 Truncated incorrect query_prealloc_size value: '200' +SET @@session.query_prealloc_size = DEFAULT; +SELECT @@session.query_prealloc_size ; +@@session.query_prealloc_size +8192 +'#--------------------FN_DYNVARS_005_02-------------------------#' +SET @@global.query_prealloc_size = DEFAULT; +SELECT @@global.query_prealloc_size = 8192; +@@global.query_prealloc_size = 8192 +1 +SET @@session.query_prealloc_size = DEFAULT; +SELECT @@session.query_prealloc_size = 8192; +@@session.query_prealloc_size = 8192 +1 +'#--------------------FN_DYNVARS_005_03-------------------------#' +SET @@global.query_prealloc_size = 8192; +SELECT @@global.query_prealloc_size ; +@@global.query_prealloc_size +8192 +SET @@global.query_prealloc_size = 4294967295; +SELECT @@global.query_prealloc_size ; +@@global.query_prealloc_size +4294966272 +SET @@global.query_prealloc_size = 655354; +SELECT @@global.query_prealloc_size ; +@@global.query_prealloc_size +654336 +'#--------------------FN_DYNVARS_005_04-------------------------#' +SET @@session.query_prealloc_size = 8192; +SELECT @@session.query_prealloc_size ; +@@session.query_prealloc_size +8192 +SET @@session.query_prealloc_size = 4294967295; +SELECT @@session.query_prealloc_size ; +@@session.query_prealloc_size +4294966272 +SET @@session.query_prealloc_size = 655345; +SELECT @@session.query_prealloc_size ; +@@session.query_prealloc_size +654336 +'#------------------FN_DYNVARS_005_05-----------------------#' +SET @@global.query_prealloc_size = 0; +Warnings: +Warning 1292 Truncated incorrect query_prealloc_size value: '0' +SELECT @@global.query_prealloc_size ; +@@global.query_prealloc_size +8192 +SET @@global.query_prealloc_size = -1024; +Warnings: +Warning 1292 Truncated incorrect query_prealloc_size value: '0' +SELECT @@global.query_prealloc_size ; +@@global.query_prealloc_size +8192 +SET @@global.query_prealloc_size = 429496729533; +Warnings: +Warning 1292 Truncated incorrect query_prealloc_size value: '429496729533' +SELECT @@global.query_prealloc_size ; +@@global.query_prealloc_size +4294966272 +SET @@global.query_prealloc_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.query_prealloc_size ; +@@global.query_prealloc_size +4294966272 +SET @@global.query_prealloc_size = test; +ERROR 42000: Incorrect argument type to variable 'query_prealloc_size' +SELECT @@global.query_prealloc_size ; +@@global.query_prealloc_size +4294966272 +SET @@global.query_prealloc_size = "test"; +ERROR 42000: Incorrect argument type to variable 'query_prealloc_size' +SELECT @@global.query_prealloc_size ; +@@global.query_prealloc_size +4294966272 +SET @@global.query_prealloc_size = 'test'; +ERROR 42000: Incorrect argument type to variable 'query_prealloc_size' +SELECT @@global.query_prealloc_size ; +@@global.query_prealloc_size +4294966272 +SET @@global.query_prealloc_size = ON; +ERROR 42000: Incorrect argument type to variable 'query_prealloc_size' +SELECT @@global.query_prealloc_size ; +@@global.query_prealloc_size +4294966272 +SET @@session.query_prealloc_size = 0; +Warnings: +Warning 1292 Truncated incorrect query_prealloc_size value: '0' +SELECT @@session.query_prealloc_size ; +@@session.query_prealloc_size +8192 +SET @@session.query_prealloc_size = -2; +Warnings: +Warning 1292 Truncated incorrect query_prealloc_size value: '0' +SELECT @@session.query_prealloc_size ; +@@session.query_prealloc_size +8192 +SET @@session.query_prealloc_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@session.query_prealloc_size ; +@@session.query_prealloc_size +8192 +SET @@session.query_prealloc_size = test; +ERROR 42000: Incorrect argument type to variable 'query_prealloc_size' +SELECT @@session.query_prealloc_size ; +@@session.query_prealloc_size +8192 +SET @@session.query_prealloc_size = "test"; +ERROR 42000: Incorrect argument type to variable 'query_prealloc_size' +SELECT @@session.query_prealloc_size ; +@@session.query_prealloc_size +8192 +'#------------------FN_DYNVARS_005_06-----------------------#' +SELECT @@global.query_prealloc_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='query_prealloc_size '; +@@global.query_prealloc_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_005_07-----------------------#' +SELECT @@session.query_prealloc_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='query_prealloc_size '; +@@session.query_prealloc_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_005_08-----------------------#' +SET @@global.query_prealloc_size = TRUE; +Warnings: +Warning 1292 Truncated incorrect query_prealloc_size value: '1' +SELECT @@global.query_prealloc_size ; +@@global.query_prealloc_size +8192 +SET @@global.query_prealloc_size = FALSE; +Warnings: +Warning 1292 Truncated incorrect query_prealloc_size value: '0' +SELECT @@global.query_prealloc_size ; +@@global.query_prealloc_size +8192 +'#---------------------FN_DYNVARS_001_09----------------------#' +SET @@global.query_prealloc_size = 10; +Warnings: +Warning 1292 Truncated incorrect query_prealloc_size value: '10' +SELECT @@query_prealloc_size = @@global.query_prealloc_size ; +@@query_prealloc_size = @@global.query_prealloc_size +1 +'#---------------------FN_DYNVARS_001_10----------------------#' +SET @@query_prealloc_size = 100; +Warnings: +Warning 1292 Truncated incorrect query_prealloc_size value: '100' +SELECT @@query_prealloc_size = @@local.query_prealloc_size ; +@@query_prealloc_size = @@local.query_prealloc_size +1 +SELECT @@local.query_prealloc_size = @@session.query_prealloc_size ; +@@local.query_prealloc_size = @@session.query_prealloc_size +1 +'#---------------------FN_DYNVARS_001_11----------------------#' +SET query_prealloc_size = 1; +Warnings: +Warning 1292 Truncated incorrect query_prealloc_size value: '1' +SELECT @@query_prealloc_size ; +@@query_prealloc_size +8192 +SELECT local.query_prealloc_size ; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.query_prealloc_size ; +ERROR 42S02: Unknown table 'session' in field list +SELECT query_prealloc_size = @@session.query_prealloc_size ; +ERROR 42S22: Unknown column 'query_prealloc_size' in 'field list' +SET @@global.query_prealloc_size = @start_global_value; +SELECT @@global.query_prealloc_size ; +@@global.query_prealloc_size +8192 +SET @@session.query_prealloc_size = @start_session_value; +SELECT @@session.query_prealloc_size ; +@@session.query_prealloc_size +8192 diff --git a/mysql-test/r/query_prealloc_size_basic_64.result b/mysql-test/r/query_prealloc_size_basic_64.result new file mode 100644 index 00000000000..1c4f5885676 --- /dev/null +++ b/mysql-test/r/query_prealloc_size_basic_64.result @@ -0,0 +1,190 @@ +SET @start_global_value = @@global.query_prealloc_size ; +SELECT @start_global_value; +@start_global_value +8192 +SET @start_session_value = @@session.query_prealloc_size ; +SELECT @start_session_value; +@start_session_value +8192 +'#--------------------FN_DYNVARS_005_01-------------------------#' +SET @@global.query_prealloc_size = 100; +Warnings: +Warning 1292 Truncated incorrect query_prealloc_size value: '100' +SET @@global.query_prealloc_size = DEFAULT; +SELECT @@global.query_prealloc_size ; +@@global.query_prealloc_size +8192 +SET @@session.query_prealloc_size = 200; +Warnings: +Warning 1292 Truncated incorrect query_prealloc_size value: '200' +SET @@session.query_prealloc_size = DEFAULT; +SELECT @@session.query_prealloc_size ; +@@session.query_prealloc_size +8192 +'#--------------------FN_DYNVARS_005_02-------------------------#' +SET @@global.query_prealloc_size = DEFAULT; +SELECT @@global.query_prealloc_size = 8192; +@@global.query_prealloc_size = 8192 +1 +SET @@session.query_prealloc_size = DEFAULT; +SELECT @@session.query_prealloc_size = 8192; +@@session.query_prealloc_size = 8192 +1 +'#--------------------FN_DYNVARS_005_03-------------------------#' +SET @@global.query_prealloc_size = 8192; +SELECT @@global.query_prealloc_size ; +@@global.query_prealloc_size +8192 +SET @@global.query_prealloc_size = 4294967295; +SELECT @@global.query_prealloc_size ; +@@global.query_prealloc_size +4294966272 +SET @@global.query_prealloc_size = 655354; +SELECT @@global.query_prealloc_size ; +@@global.query_prealloc_size +654336 +'#--------------------FN_DYNVARS_005_04-------------------------#' +SET @@session.query_prealloc_size = 8192; +SELECT @@session.query_prealloc_size ; +@@session.query_prealloc_size +8192 +SET @@session.query_prealloc_size = 4294967295; +SELECT @@session.query_prealloc_size ; +@@session.query_prealloc_size +4294966272 +SET @@session.query_prealloc_size = 655345; +SELECT @@session.query_prealloc_size ; +@@session.query_prealloc_size +654336 +'#------------------FN_DYNVARS_005_05-----------------------#' +SET @@global.query_prealloc_size = 0; +Warnings: +Warning 1292 Truncated incorrect query_prealloc_size value: '0' +SELECT @@global.query_prealloc_size ; +@@global.query_prealloc_size +8192 +SET @@global.query_prealloc_size = -1024; +Warnings: +Warning 1292 Truncated incorrect query_prealloc_size value: '0' +SELECT @@global.query_prealloc_size ; +@@global.query_prealloc_size +8192 +SET @@global.query_prealloc_size = 429496729533; +SELECT @@global.query_prealloc_size ; +@@global.query_prealloc_size +429496728576 +SET @@global.query_prealloc_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.query_prealloc_size ; +@@global.query_prealloc_size +429496728576 +SET @@global.query_prealloc_size = test; +ERROR 42000: Incorrect argument type to variable 'query_prealloc_size' +SELECT @@global.query_prealloc_size ; +@@global.query_prealloc_size +429496728576 +SET @@global.query_prealloc_size = "test"; +ERROR 42000: Incorrect argument type to variable 'query_prealloc_size' +SELECT @@global.query_prealloc_size ; +@@global.query_prealloc_size +429496728576 +SET @@global.query_prealloc_size = 'test'; +ERROR 42000: Incorrect argument type to variable 'query_prealloc_size' +SELECT @@global.query_prealloc_size ; +@@global.query_prealloc_size +429496728576 +SET @@global.query_prealloc_size = ON; +ERROR 42000: Incorrect argument type to variable 'query_prealloc_size' +SELECT @@global.query_prealloc_size ; +@@global.query_prealloc_size +429496728576 +SET @@session.query_prealloc_size = 0; +Warnings: +Warning 1292 Truncated incorrect query_prealloc_size value: '0' +SELECT @@session.query_prealloc_size ; +@@session.query_prealloc_size +8192 +SET @@session.query_prealloc_size = -2; +Warnings: +Warning 1292 Truncated incorrect query_prealloc_size value: '0' +SELECT @@session.query_prealloc_size ; +@@session.query_prealloc_size +8192 +SET @@session.query_prealloc_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@session.query_prealloc_size ; +@@session.query_prealloc_size +8192 +SET @@session.query_prealloc_size = test; +ERROR 42000: Incorrect argument type to variable 'query_prealloc_size' +SELECT @@session.query_prealloc_size ; +@@session.query_prealloc_size +8192 +SET @@session.query_prealloc_size = "test"; +ERROR 42000: Incorrect argument type to variable 'query_prealloc_size' +SELECT @@session.query_prealloc_size ; +@@session.query_prealloc_size +8192 +'#------------------FN_DYNVARS_005_06-----------------------#' +SELECT @@global.query_prealloc_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='query_prealloc_size '; +@@global.query_prealloc_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_005_07-----------------------#' +SELECT @@session.query_prealloc_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='query_prealloc_size '; +@@session.query_prealloc_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_005_08-----------------------#' +SET @@global.query_prealloc_size = TRUE; +Warnings: +Warning 1292 Truncated incorrect query_prealloc_size value: '1' +SELECT @@global.query_prealloc_size ; +@@global.query_prealloc_size +8192 +SET @@global.query_prealloc_size = FALSE; +Warnings: +Warning 1292 Truncated incorrect query_prealloc_size value: '0' +SELECT @@global.query_prealloc_size ; +@@global.query_prealloc_size +8192 +'#---------------------FN_DYNVARS_001_09----------------------#' +SET @@global.query_prealloc_size = 10; +Warnings: +Warning 1292 Truncated incorrect query_prealloc_size value: '10' +SELECT @@query_prealloc_size = @@global.query_prealloc_size ; +@@query_prealloc_size = @@global.query_prealloc_size +1 +'#---------------------FN_DYNVARS_001_10----------------------#' +SET @@query_prealloc_size = 100; +Warnings: +Warning 1292 Truncated incorrect query_prealloc_size value: '100' +SELECT @@query_prealloc_size = @@local.query_prealloc_size ; +@@query_prealloc_size = @@local.query_prealloc_size +1 +SELECT @@local.query_prealloc_size = @@session.query_prealloc_size ; +@@local.query_prealloc_size = @@session.query_prealloc_size +1 +'#---------------------FN_DYNVARS_001_11----------------------#' +SET query_prealloc_size = 1; +Warnings: +Warning 1292 Truncated incorrect query_prealloc_size value: '1' +SELECT @@query_prealloc_size ; +@@query_prealloc_size +8192 +SELECT local.query_prealloc_size ; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.query_prealloc_size ; +ERROR 42S02: Unknown table 'session' in field list +SELECT query_prealloc_size = @@session.query_prealloc_size ; +ERROR 42S22: Unknown column 'query_prealloc_size' in 'field list' +SET @@global.query_prealloc_size = @start_global_value; +SELECT @@global.query_prealloc_size ; +@@global.query_prealloc_size +8192 +SET @@session.query_prealloc_size = @start_session_value; +SELECT @@session.query_prealloc_size ; +@@session.query_prealloc_size +8192 diff --git a/mysql-test/r/query_prealloc_size_func.result b/mysql-test/r/query_prealloc_size_func.result new file mode 100644 index 00000000000..c77586f2fc4 --- /dev/null +++ b/mysql-test/r/query_prealloc_size_func.result @@ -0,0 +1,38 @@ +** Setup ** + +CREATE TABLE t1 (id int auto_increment primary key, val text(200)); +INSERT INTO t1 values(NULL,'a'); +INSERT INTO t1 values(NULL,'b'); +INSERT INTO t1 values(NULL,'c'); +INSERT INTO t1 values(NULL,'d'); +SELECT * FROM t1 ORDER BY val; +id val +1 a +2 b +3 c +4 d +SET SESSION query_prealloc_size = 8192; +'#----------------------------FN_DYNVARS_137_05-----------------#' +SET GLOBAL query_prealloc_size = 8192; +SELECT @@SESSION.query_prealloc_size; +@@SESSION.query_prealloc_size +8192 +Expected Value : 8192; +SET SESSION query_prealloc_size = 16384; +SELECT @@SESSION.query_prealloc_size; +@@SESSION.query_prealloc_size +8192 +Expected Value : 8192; +SET SESSION query_prealloc_size = 8192; +SELECT @@SESSION.query_prealloc_size; +@@SESSION.query_prealloc_size +16384 +Expected Value : 16384; +SELECT @@SESSION.query_prealloc_size; +@@SESSION.query_prealloc_size +8192 +Expected Value : 8192; +SELECT @@GLOBAL.query_prealloc_size; +@@GLOBAL.query_prealloc_size +8192 +Expected Value : 8192; diff --git a/mysql-test/r/range_alloc_block_size_basic_32.result b/mysql-test/r/range_alloc_block_size_basic_32.result new file mode 100644 index 00000000000..93441448d90 --- /dev/null +++ b/mysql-test/r/range_alloc_block_size_basic_32.result @@ -0,0 +1,182 @@ +SET @start_global_value = @@global.range_alloc_block_size; +SELECT @start_global_value; +@start_global_value +4096 +SET @start_session_value = @@session.range_alloc_block_size; +SELECT @start_session_value; +@start_session_value +4096 +'#--------------------FN_DYNVARS_137_01-------------------------#' +SET @@global.range_alloc_block_size = 100; +Warnings: +Warning 1292 Truncated incorrect range_alloc_block_size value: '100' +SET @@global.range_alloc_block_size = DEFAULT; +SELECT @@global.range_alloc_block_size; +@@global.range_alloc_block_size +4096 +SET @@session.range_alloc_block_size = 200; +Warnings: +Warning 1292 Truncated incorrect range_alloc_block_size value: '200' +SET @@session.range_alloc_block_size = DEFAULT; +SELECT @@session.range_alloc_block_size; +@@session.range_alloc_block_size +4096 +'#--------------------FN_DYNVARS_137_02-------------------------#' +SET @@global.range_alloc_block_size = DEFAULT; +SELECT @@global.range_alloc_block_size = 2048; +@@global.range_alloc_block_size = 2048 +0 +SET @@session.range_alloc_block_size = DEFAULT; +SELECT @@session.range_alloc_block_size = 2048; +@@session.range_alloc_block_size = 2048 +0 +'#--------------------FN_DYNVARS_137_03-------------------------#' +SET @@global.range_alloc_block_size = 2048; +Warnings: +Warning 1292 Truncated incorrect range_alloc_block_size value: '2048' +SELECT @@global.range_alloc_block_size; +@@global.range_alloc_block_size +4096 +'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +SET @@global.range_alloc_block_size = 4294967295; +SELECT @@global.range_alloc_block_size; +@@global.range_alloc_block_size +4294966272 +SET @@global.range_alloc_block_size = 4294967294; +SELECT @@global.range_alloc_block_size; +@@global.range_alloc_block_size +4294966272 +'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +'#--------------------FN_DYNVARS_137_04-------------------------#' +SET @@session.range_alloc_block_size = 2048; +Warnings: +Warning 1292 Truncated incorrect range_alloc_block_size value: '2048' +SELECT @@session.range_alloc_block_size; +@@session.range_alloc_block_size +4096 +SET @@session.range_alloc_block_size = 4294967295; +SELECT @@session.range_alloc_block_size; +@@session.range_alloc_block_size +4294966272 +SET @@session.range_alloc_block_size = 4294967294; +SELECT @@session.range_alloc_block_size; +@@session.range_alloc_block_size +4294966272 +'#------------------FN_DYNVARS_137_05-----------------------#' +SET @@global.range_alloc_block_size = 0; +Warnings: +Warning 1292 Truncated incorrect range_alloc_block_size value: '0' +SELECT @@global.range_alloc_block_size; +@@global.range_alloc_block_size +4096 +SET @@global.range_alloc_block_size = -1024; +Warnings: +Warning 1292 Truncated incorrect range_alloc_block_size value: '0' +SELECT @@global.range_alloc_block_size; +@@global.range_alloc_block_size +4096 +SET @@global.range_alloc_block_size = 42949672951; +Warnings: +Warning 1292 Truncated incorrect range_alloc_block_size value: '42949672951' +SELECT @@global.range_alloc_block_size; +@@global.range_alloc_block_size +4294966272 +SET @@global.range_alloc_block_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.range_alloc_block_size; +@@global.range_alloc_block_size +4294966272 +SET @@global.range_alloc_block_size = test; +ERROR 42000: Incorrect argument type to variable 'range_alloc_block_size' +SELECT @@global.range_alloc_block_size; +@@global.range_alloc_block_size +4294966272 +SET @@session.range_alloc_block_size = 0; +Warnings: +Warning 1292 Truncated incorrect range_alloc_block_size value: '0' +SELECT @@session.range_alloc_block_size; +@@session.range_alloc_block_size +4096 +SET @@session.range_alloc_block_size = -2; +Warnings: +Warning 1292 Truncated incorrect range_alloc_block_size value: '0' +SELECT @@session.range_alloc_block_size; +@@session.range_alloc_block_size +4096 +SET @@session.range_alloc_block_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.range_alloc_block_size = 4294967296; +Warnings: +Warning 1292 Truncated incorrect range_alloc_block_size value: '4294967296' +SELECT @@session.range_alloc_block_size; +@@session.range_alloc_block_size +4294966272 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@session.range_alloc_block_size = test; +ERROR 42000: Incorrect argument type to variable 'range_alloc_block_size' +SELECT @@session.range_alloc_block_size; +@@session.range_alloc_block_size +4294966272 +'#------------------FN_DYNVARS_137_06-----------------------#' +SELECT @@global.range_alloc_block_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='range_alloc_block_size'; +@@global.range_alloc_block_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_137_07-----------------------#' +SELECT @@session.range_alloc_block_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='range_alloc_block_size'; +@@session.range_alloc_block_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_137_08-----------------------#' +SET @@global.range_alloc_block_size = TRUE; +Warnings: +Warning 1292 Truncated incorrect range_alloc_block_size value: '1' +SELECT @@global.range_alloc_block_size; +@@global.range_alloc_block_size +4096 +SET @@global.range_alloc_block_size = FALSE; +Warnings: +Warning 1292 Truncated incorrect range_alloc_block_size value: '0' +SELECT @@global.range_alloc_block_size; +@@global.range_alloc_block_size +4096 +'#---------------------FN_DYNVARS_137_09----------------------#' +SET @@global.range_alloc_block_size = 10; +Warnings: +Warning 1292 Truncated incorrect range_alloc_block_size value: '10' +SELECT @@range_alloc_block_size = @@global.range_alloc_block_size; +@@range_alloc_block_size = @@global.range_alloc_block_size +0 +'#---------------------FN_DYNVARS_137_10----------------------#' +SET @@range_alloc_block_size = 100; +Warnings: +Warning 1292 Truncated incorrect range_alloc_block_size value: '100' +SELECT @@range_alloc_block_size = @@local.range_alloc_block_size; +@@range_alloc_block_size = @@local.range_alloc_block_size +1 +SELECT @@local.range_alloc_block_size = @@session.range_alloc_block_size; +@@local.range_alloc_block_size = @@session.range_alloc_block_size +1 +'#---------------------FN_DYNVARS_137_11----------------------#' +SET range_alloc_block_size = 1; +Warnings: +Warning 1292 Truncated incorrect range_alloc_block_size value: '1' +SELECT @@range_alloc_block_size; +@@range_alloc_block_size +4096 +SELECT local.range_alloc_block_size; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.range_alloc_block_size; +ERROR 42S02: Unknown table 'session' in field list +SELECT range_alloc_block_size = @@session.range_alloc_block_size; +ERROR 42S22: Unknown column 'range_alloc_block_size' in 'field list' +SET @@global.range_alloc_block_size = @start_global_value; +SELECT @@global.range_alloc_block_size; +@@global.range_alloc_block_size +4096 +SET @@session.range_alloc_block_size = @start_session_value; +SELECT @@session.range_alloc_block_size; +@@session.range_alloc_block_size +4096 diff --git a/mysql-test/r/range_alloc_block_size_basic_64.result b/mysql-test/r/range_alloc_block_size_basic_64.result new file mode 100644 index 00000000000..26ddfdd2bae --- /dev/null +++ b/mysql-test/r/range_alloc_block_size_basic_64.result @@ -0,0 +1,178 @@ +SET @start_global_value = @@global.range_alloc_block_size; +SELECT @start_global_value; +@start_global_value +4096 +SET @start_session_value = @@session.range_alloc_block_size; +SELECT @start_session_value; +@start_session_value +4096 +'#--------------------FN_DYNVARS_137_01-------------------------#' +SET @@global.range_alloc_block_size = 100; +Warnings: +Warning 1292 Truncated incorrect range_alloc_block_size value: '100' +SET @@global.range_alloc_block_size = DEFAULT; +SELECT @@global.range_alloc_block_size; +@@global.range_alloc_block_size +4096 +SET @@session.range_alloc_block_size = 200; +Warnings: +Warning 1292 Truncated incorrect range_alloc_block_size value: '200' +SET @@session.range_alloc_block_size = DEFAULT; +SELECT @@session.range_alloc_block_size; +@@session.range_alloc_block_size +4096 +'#--------------------FN_DYNVARS_137_02-------------------------#' +SET @@global.range_alloc_block_size = DEFAULT; +SELECT @@global.range_alloc_block_size = 2048; +@@global.range_alloc_block_size = 2048 +0 +SET @@session.range_alloc_block_size = DEFAULT; +SELECT @@session.range_alloc_block_size = 2048; +@@session.range_alloc_block_size = 2048 +0 +'#--------------------FN_DYNVARS_137_03-------------------------#' +SET @@global.range_alloc_block_size = 2048; +Warnings: +Warning 1292 Truncated incorrect range_alloc_block_size value: '2048' +SELECT @@global.range_alloc_block_size; +@@global.range_alloc_block_size +4096 +'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +SET @@global.range_alloc_block_size = 4294967295; +SELECT @@global.range_alloc_block_size; +@@global.range_alloc_block_size +4294966272 +SET @@global.range_alloc_block_size = 4294967294; +SELECT @@global.range_alloc_block_size; +@@global.range_alloc_block_size +4294966272 +'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +'#--------------------FN_DYNVARS_137_04-------------------------#' +SET @@session.range_alloc_block_size = 2048; +Warnings: +Warning 1292 Truncated incorrect range_alloc_block_size value: '2048' +SELECT @@session.range_alloc_block_size; +@@session.range_alloc_block_size +4096 +SET @@session.range_alloc_block_size = 4294967295; +SELECT @@session.range_alloc_block_size; +@@session.range_alloc_block_size +4294966272 +SET @@session.range_alloc_block_size = 4294967294; +SELECT @@session.range_alloc_block_size; +@@session.range_alloc_block_size +4294966272 +'#------------------FN_DYNVARS_137_05-----------------------#' +SET @@global.range_alloc_block_size = 0; +Warnings: +Warning 1292 Truncated incorrect range_alloc_block_size value: '0' +SELECT @@global.range_alloc_block_size; +@@global.range_alloc_block_size +4096 +SET @@global.range_alloc_block_size = -1024; +Warnings: +Warning 1292 Truncated incorrect range_alloc_block_size value: '0' +SELECT @@global.range_alloc_block_size; +@@global.range_alloc_block_size +4096 +SET @@global.range_alloc_block_size = 42949672951; +SELECT @@global.range_alloc_block_size; +@@global.range_alloc_block_size +42949671936 +SET @@global.range_alloc_block_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.range_alloc_block_size; +@@global.range_alloc_block_size +42949671936 +SET @@global.range_alloc_block_size = test; +ERROR 42000: Incorrect argument type to variable 'range_alloc_block_size' +SELECT @@global.range_alloc_block_size; +@@global.range_alloc_block_size +42949671936 +SET @@session.range_alloc_block_size = 0; +Warnings: +Warning 1292 Truncated incorrect range_alloc_block_size value: '0' +SELECT @@session.range_alloc_block_size; +@@session.range_alloc_block_size +4096 +SET @@session.range_alloc_block_size = -2; +Warnings: +Warning 1292 Truncated incorrect range_alloc_block_size value: '0' +SELECT @@session.range_alloc_block_size; +@@session.range_alloc_block_size +4096 +SET @@session.range_alloc_block_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.range_alloc_block_size = 4294967296; +SELECT @@session.range_alloc_block_size; +@@session.range_alloc_block_size +4294967296 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@session.range_alloc_block_size = test; +ERROR 42000: Incorrect argument type to variable 'range_alloc_block_size' +SELECT @@session.range_alloc_block_size; +@@session.range_alloc_block_size +4294967296 +'#------------------FN_DYNVARS_137_06-----------------------#' +SELECT @@global.range_alloc_block_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='range_alloc_block_size'; +@@global.range_alloc_block_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_137_07-----------------------#' +SELECT @@session.range_alloc_block_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='range_alloc_block_size'; +@@session.range_alloc_block_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_137_08-----------------------#' +SET @@global.range_alloc_block_size = TRUE; +Warnings: +Warning 1292 Truncated incorrect range_alloc_block_size value: '1' +SELECT @@global.range_alloc_block_size; +@@global.range_alloc_block_size +4096 +SET @@global.range_alloc_block_size = FALSE; +Warnings: +Warning 1292 Truncated incorrect range_alloc_block_size value: '0' +SELECT @@global.range_alloc_block_size; +@@global.range_alloc_block_size +4096 +'#---------------------FN_DYNVARS_137_09----------------------#' +SET @@global.range_alloc_block_size = 10; +Warnings: +Warning 1292 Truncated incorrect range_alloc_block_size value: '10' +SELECT @@range_alloc_block_size = @@global.range_alloc_block_size; +@@range_alloc_block_size = @@global.range_alloc_block_size +0 +'#---------------------FN_DYNVARS_137_10----------------------#' +SET @@range_alloc_block_size = 100; +Warnings: +Warning 1292 Truncated incorrect range_alloc_block_size value: '100' +SELECT @@range_alloc_block_size = @@local.range_alloc_block_size; +@@range_alloc_block_size = @@local.range_alloc_block_size +1 +SELECT @@local.range_alloc_block_size = @@session.range_alloc_block_size; +@@local.range_alloc_block_size = @@session.range_alloc_block_size +1 +'#---------------------FN_DYNVARS_137_11----------------------#' +SET range_alloc_block_size = 1; +Warnings: +Warning 1292 Truncated incorrect range_alloc_block_size value: '1' +SELECT @@range_alloc_block_size; +@@range_alloc_block_size +4096 +SELECT local.range_alloc_block_size; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.range_alloc_block_size; +ERROR 42S02: Unknown table 'session' in field list +SELECT range_alloc_block_size = @@session.range_alloc_block_size; +ERROR 42S22: Unknown column 'range_alloc_block_size' in 'field list' +SET @@global.range_alloc_block_size = @start_global_value; +SELECT @@global.range_alloc_block_size; +@@global.range_alloc_block_size +4096 +SET @@session.range_alloc_block_size = @start_session_value; +SELECT @@session.range_alloc_block_size; +@@session.range_alloc_block_size +4096 diff --git a/mysql-test/r/read_buffer_size_basic.result b/mysql-test/r/read_buffer_size_basic.result new file mode 100644 index 00000000000..799f7b56235 --- /dev/null +++ b/mysql-test/r/read_buffer_size_basic.result @@ -0,0 +1,189 @@ +SET @start_global_value = @@global.read_buffer_size; +SELECT @start_global_value; +@start_global_value +131072 +SET @start_session_value = @@session.read_buffer_size; +SELECT @start_session_value; +@start_session_value +131072 +'#--------------------FN_DYNVARS_138_01-------------------------#' +SET @@global.read_buffer_size = 1000; +Warnings: +Warning 1292 Truncated incorrect read_buffer_size value: '1000' +SET @@global.read_buffer_size = DEFAULT; +SELECT @@global.read_buffer_size; +@@global.read_buffer_size +131072 +SET @@session.read_buffer_size = 2000; +Warnings: +Warning 1292 Truncated incorrect read_buffer_size value: '2000' +SET @@session.read_buffer_size = DEFAULT; +SELECT @@session.read_buffer_size; +@@session.read_buffer_size +131072 +'#--------------------FN_DYNVARS_138_02-------------------------#' +SET @@global.read_buffer_size = DEFAULT; +SELECT @@global.read_buffer_size = 131072; +@@global.read_buffer_size = 131072 +1 +SET @@session.read_buffer_size = DEFAULT; +SELECT @@session.read_buffer_size = 131072; +@@session.read_buffer_size = 131072 +1 +'#--------------------FN_DYNVARS_138_03-------------------------#' +SET @@global.read_buffer_size = 8201; +Warnings: +Warning 1292 Truncated incorrect read_buffer_size value: '8201' +SELECT @@global.read_buffer_size= 8200 OR @@global.read_buffer_size= 8228 ; +@@global.read_buffer_size= 8200 OR @@global.read_buffer_size= 8228 +1 +SET @@global.read_buffer_size = 8200; +Warnings: +Warning 1292 Truncated incorrect read_buffer_size value: '8200' +SELECT @@global.read_buffer_size= 8200 OR @@global.read_buffer_size= 8228 ; +@@global.read_buffer_size= 8200 OR @@global.read_buffer_size= 8228 +1 +SET @@global.read_buffer_size = 2147479552; +SELECT @@global.read_buffer_size; +@@global.read_buffer_size +2147479552 +SET @@global.read_buffer_size = 2147479551; +SELECT @@global.read_buffer_size; +@@global.read_buffer_size +2147475456 +'#--------------------FN_DYNVARS_138_04-------------------------#' +SET @@session.read_buffer_size = 8200; +Warnings: +Warning 1292 Truncated incorrect read_buffer_size value: '8200' +SELECT @@session.read_buffer_size= 8200 OR @@session.read_buffer_size= 8228 ; +@@session.read_buffer_size= 8200 OR @@session.read_buffer_size= 8228 +1 +SET @@session.read_buffer_size = 8201; +Warnings: +Warning 1292 Truncated incorrect read_buffer_size value: '8201' +SELECT @@session.read_buffer_size= 8200 OR @@session.read_buffer_size= 8228 ; +@@session.read_buffer_size= 8200 OR @@session.read_buffer_size= 8228 +1 +SET @@session.read_buffer_size = 2147479552; +SELECT @@session.read_buffer_size; +@@session.read_buffer_size +2147479552 +SET @@session.read_buffer_size = 2147479551; +SELECT @@session.read_buffer_size; +@@session.read_buffer_size +2147475456 +'#------------------FN_DYNVARS_138_05-----------------------#' +SET @@global.read_buffer_size = 8199; +Warnings: +Warning 1292 Truncated incorrect read_buffer_size value: '8199' +SELECT @@global.read_buffer_size= 8200 OR @@global.read_buffer_size= 8228 ; +@@global.read_buffer_size= 8200 OR @@global.read_buffer_size= 8228 +1 +SET @@global.read_buffer_size = -1024; +Warnings: +Warning 1292 Truncated incorrect read_buffer_size value: '0' +SELECT @@global.read_buffer_size= 8200 OR @@global.read_buffer_size= 8228 ; +@@global.read_buffer_size= 8200 OR @@global.read_buffer_size= 8228 +1 +SET @@global.read_buffer_size = 2147479553; +SELECT @@global.read_buffer_size; +@@global.read_buffer_size +2147479552 +SET @@global.read_buffer_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.read_buffer_size; +@@global.read_buffer_size +2147479552 +SET @@global.read_buffer_size = test; +ERROR 42000: Incorrect argument type to variable 'read_buffer_size' +SELECT @@global.read_buffer_size; +@@global.read_buffer_size +2147479552 +SET @@session.read_buffer_size = 8199; +Warnings: +Warning 1292 Truncated incorrect read_buffer_size value: '8199' +SELECT @@session.read_buffer_size= 8200 OR @@session.read_buffer_size= 8228 ; +@@session.read_buffer_size= 8200 OR @@session.read_buffer_size= 8228 +1 +SET @@session.read_buffer_size = -2; +Warnings: +Warning 1292 Truncated incorrect read_buffer_size value: '0' +SELECT @@session.read_buffer_size= 8200 OR @@session.read_buffer_size= 8228 ; +@@session.read_buffer_size= 8200 OR @@session.read_buffer_size= 8228 +1 +SET @@session.read_buffer_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.read_buffer_size = 2147479553; +SELECT @@session.read_buffer_size; +@@session.read_buffer_size +2147479552 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@session.read_buffer_size = test; +ERROR 42000: Incorrect argument type to variable 'read_buffer_size' +SELECT @@session.read_buffer_size; +@@session.read_buffer_size +2147479552 +'#------------------FN_DYNVARS_138_06-----------------------#' +SELECT @@global.read_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='read_buffer_size'; +@@global.read_buffer_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_138_07-----------------------#' +SELECT @@session.read_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='read_buffer_size'; +@@session.read_buffer_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_138_08-----------------------#' +SET @@global.read_buffer_size = TRUE; +Warnings: +Warning 1292 Truncated incorrect read_buffer_size value: '1' +SELECT @@global.read_buffer_size= 8200 OR @@global.read_buffer_size= 8228 ; +@@global.read_buffer_size= 8200 OR @@global.read_buffer_size= 8228 +1 +SET @@global.read_buffer_size = FALSE; +Warnings: +Warning 1292 Truncated incorrect read_buffer_size value: '0' +SELECT @@global.read_buffer_size= 8200 OR @@global.read_buffer_size= 8228 ; +@@global.read_buffer_size= 8200 OR @@global.read_buffer_size= 8228 +1 +'Bug: FN_DYNVARS_138_08- Errors are not coming on assigning TRUE/FALSE to variable' +'#---------------------FN_DYNVARS_138_09----------------------#' +SET @@global.read_buffer_size = 9000; +Warnings: +Warning 1292 Truncated incorrect read_buffer_size value: '9000' +SELECT @@read_buffer_size = @@global.read_buffer_size; +@@read_buffer_size = @@global.read_buffer_size +0 +'#---------------------FN_DYNVARS_138_10----------------------#' +SET @@read_buffer_size = 9000; +Warnings: +Warning 1292 Truncated incorrect read_buffer_size value: '9000' +SELECT @@read_buffer_size = @@local.read_buffer_size; +@@read_buffer_size = @@local.read_buffer_size +1 +SELECT @@local.read_buffer_size = @@session.read_buffer_size; +@@local.read_buffer_size = @@session.read_buffer_size +1 +'#---------------------FN_DYNVARS_138_11----------------------#' +SET read_buffer_size = 9100; +Warnings: +Warning 1292 Truncated incorrect read_buffer_size value: '9100' +SELECT @@read_buffer_size= 8200 OR @@read_buffer_size= 8228 ; +@@read_buffer_size= 8200 OR @@read_buffer_size= 8228 +1 +SELECT local.read_buffer_size; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.read_buffer_size; +ERROR 42S02: Unknown table 'session' in field list +SELECT read_buffer_size = @@session.read_buffer_size; +ERROR 42S22: Unknown column 'read_buffer_size' in 'field list' +SET @@global.read_buffer_size = @start_global_value; +SELECT @@global.read_buffer_size; +@@global.read_buffer_size +131072 +SET @@session.read_buffer_size = @start_session_value; +SELECT @@session.read_buffer_size; +@@session.read_buffer_size +131072 diff --git a/mysql-test/r/read_only_basic.result b/mysql-test/r/read_only_basic.result new file mode 100644 index 00000000000..ac153fa337c --- /dev/null +++ b/mysql-test/r/read_only_basic.result @@ -0,0 +1,119 @@ +SET @start_value = @@global.read_only; +SELECT @start_value; +@start_value +0 +'#--------------------FN_DYNVARS_139_01------------------------#' +SET @@global.read_only = 1; +SET @@global.read_only = DEFAULT; +SELECT @@global.read_only; +@@global.read_only +0 +'#---------------------FN_DYNVARS_139_02-------------------------#' +SET @@global.read_only = @start_value; +SELECT @@global.read_only = 0; +@@global.read_only = 0 +1 +'#--------------------FN_DYNVARS_139_03------------------------#' +SET @@global.read_only = 0; +SELECT @@global.read_only; +@@global.read_only +0 +SET @@global.read_only = 1; +SELECT @@global.read_only; +@@global.read_only +1 +SET @@global.read_only = TRUE; +SELECT @@global.read_only; +@@global.read_only +1 +SET @@global.read_only = FALSE; +SELECT @@global.read_only; +@@global.read_only +0 +SET @@global.read_only = ON; +SELECT @@global.read_only; +@@global.read_only +1 +SET @@global.read_only = OFF; +SELECT @@global.read_only; +@@global.read_only +0 +'#--------------------FN_DYNVARS_139_04-------------------------#' +SET @@global.read_only = -1; +ERROR 42000: Variable 'read_only' can't be set to the value of '-1' +SELECT @@global.read_only; +@@global.read_only +0 +SET @@global.read_only = 4294967296; +ERROR 42000: Variable 'read_only' can't be set to the value of '4294967296' +SELECT @@global.read_only; +@@global.read_only +0 +SET @@global.read_only = 10240022115; +ERROR 42000: Variable 'read_only' can't be set to the value of '10240022115' +SELECT @@global.read_only; +@@global.read_only +0 +SET @@global.read_only = 10000.01; +ERROR 42000: Variable 'read_only' can't be set to the value of '10000' +SELECT @@global.read_only; +@@global.read_only +0 +SET @@global.read_only = -1024; +ERROR 42000: Variable 'read_only' can't be set to the value of '-1024' +SELECT @@global.read_only; +@@global.read_only +0 +SET @@global.read_only = 42949672950; +ERROR 42000: Variable 'read_only' can't be set to the value of '42949672950' +SELECT @@global.read_only; +@@global.read_only +0 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@global.read_only = 'test'; +ERROR 42000: Variable 'read_only' can't be set to the value of 'test' +SELECT @@global.read_only; +@@global.read_only +0 +'#-------------------FN_DYNVARS_139_05----------------------------#' +SET @@session.read_only = 0; +ERROR HY000: Variable 'read_only' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@read_only; +@@read_only +0 +'#----------------------FN_DYNVARS_139_06------------------------#' +SELECT @@global.read_only = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='read_only'; +@@global.read_only = VARIABLE_VALUE +1 +SELECT @@read_only = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='read_only'; +@@read_only = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_139_07----------------------#' +SET @@global.read_only = 1; +SELECT @@read_only = @@global.read_only; +@@read_only = @@global.read_only +1 +'#---------------------FN_DYNVARS_139_08----------------------#' +SET read_only = 1; +ERROR HY000: Variable 'read_only' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@read_only; +@@read_only +1 +SET local.read_only = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'read_only = 1' at line 1 +SELECT local.read_only; +ERROR 42S02: Unknown table 'local' in field list +SET global.read_only = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'read_only = 1' at line 1 +SELECT global.read_only; +ERROR 42S02: Unknown table 'global' in field list +SELECT read_only = @@session.read_only; +ERROR 42S22: Unknown column 'read_only' in 'field list' +SET @@global.read_only = @start_value; +SELECT @@global.read_only; +@@global.read_only +0 diff --git a/mysql-test/r/read_only_func.result b/mysql-test/r/read_only_func.result new file mode 100644 index 00000000000..35b42d468d6 --- /dev/null +++ b/mysql-test/r/read_only_func.result @@ -0,0 +1,56 @@ +** Setup ** + +SET @default_read_only = @@read_only; +'#--------------------FN_DYNVARS_140_01-------------------------#' +SET Global read_only=ON; +DROP TABLE IF EXISTS t1; +CREATE TABLE t1 +( +id INT NOT NULL auto_increment, +PRIMARY KEY (id), +name BLOB +); +INSERT into t1(name) values("aaassssssssddddddddffffff"); +update t1 set name="jfjdf" where id=1; +select * from t1 where id=1; +id name +1 jfjdf +'#--------------------FN_DYNVARS_140_02-------------------------#' +** Creating new user with out super privilege** +CREATE user sameea; +** Connecting connn using username 'sameea' ** +SET Global read_ONLY=ON; +ERROR 42000: Access denied; you need the SUPER privilege for this operation +CREATE TABLE t2 +( +id INT NOT NULL auto_increment, +PRIMARY KEY (id), +name BLOB +); +ERROR HY000: The MySQL server is running with the --read-only option so it cannot execute this statement +not updating values +INSERT into t2(name) values("aaassssssssddddddddffffff"); +Got one of the listed errors +UPDATE t2 SET name="samia" where id=1; +Got one of the listed errors +'#--------------------FN_DYNVARS_140_03-------------------------#' +CREATE TEMPORARY TABLE t3(a int); +'#--------------------FN_DYNVARS_140_04-------------------------#' +** Connection default ** +SET Global read_only=OFF; +** Connection connn ** +CREATE TABLE t2 +( +id INT NOT NULL auto_increment, +PRIMARY KEY (id), +name BLOB +); +updating values +INSERT into t2(name) values("aaassssssssdddddddd"); +UPDATE t2 SET name="samia" where id=1; +** Connection default ** +** Disconnecting connn ** +DROP USER sameea; +DROP TABLE t1; +DROP TABLE t2; +SET global read_only = @default_read_only; diff --git a/mysql-test/r/read_only_innodb.result b/mysql-test/r/read_only_innodb.result index d028e3cc207..690de085bf9 100644 --- a/mysql-test/r/read_only_innodb.result +++ b/mysql-test/r/read_only_innodb.result @@ -16,3 +16,33 @@ ERROR HY000: The MySQL server is running with the --read-only option so it canno set global read_only=0; drop table table_11733 ; drop user test@localhost; +GRANT CREATE, SELECT, DROP ON *.* TO test@localhost; +CREATE TABLE t1(a INT) ENGINE=INNODB; +INSERT INTO t1 VALUES (0), (1); +SET GLOBAL read_only=1; +SELECT * FROM t1; +a +0 +1 +BEGIN; +SELECT * FROM t1; +a +0 +1 +COMMIT; +SET GLOBAL read_only=0; +FLUSH TABLES WITH READ LOCK; +SELECT * FROM t1; +a +0 +1 +BEGIN; +SELECT * FROM t1; +a +0 +1 +COMMIT; +UNLOCK TABLES; +DROP TABLE t1; +DROP USER test@localhost; +echo End of 5.1 tests diff --git a/mysql-test/r/read_rnd_buffer_size_basic.result b/mysql-test/r/read_rnd_buffer_size_basic.result new file mode 100644 index 00000000000..c51b0591054 --- /dev/null +++ b/mysql-test/r/read_rnd_buffer_size_basic.result @@ -0,0 +1,188 @@ +SET @start_global_value = @@global.read_rnd_buffer_size; +SELECT @start_global_value; +@start_global_value +262144 +SET @start_session_value = @@session.read_rnd_buffer_size; +SELECT @start_session_value; +@start_session_value +262144 +'#--------------------FN_DYNVARS_140_01-------------------------#' +SET @@global.read_rnd_buffer_size = 1000; +Warnings: +Warning 1292 Truncated incorrect read_rnd_buffer_size value: '1000' +SET @@global.read_rnd_buffer_size = DEFAULT; +SELECT @@global.read_rnd_buffer_size; +@@global.read_rnd_buffer_size +262144 +SET @@session.read_rnd_buffer_size = 2000; +Warnings: +Warning 1292 Truncated incorrect read_rnd_buffer_size value: '2000' +SET @@session.read_rnd_buffer_size = DEFAULT; +SELECT @@session.read_rnd_buffer_size; +@@session.read_rnd_buffer_size +262144 +'#--------------------FN_DYNVARS_140_02-------------------------#' +SET @@global.read_rnd_buffer_size = DEFAULT; +SELECT @@global.read_rnd_buffer_size = 262144; +@@global.read_rnd_buffer_size = 262144 +1 +SET @@session.read_rnd_buffer_size = DEFAULT; +SELECT @@session.read_rnd_buffer_size = 262144; +@@session.read_rnd_buffer_size = 262144 +1 +'Bug# 34876: This variable has invalid default value as compared to documentation'; +'#--------------------FN_DYNVARS_140_03-------------------------#' +SET @@global.read_rnd_buffer_size = 8201; +Warnings: +Warning 1292 Truncated incorrect read_rnd_buffer_size value: '8201' +SELECT @@global.read_rnd_buffer_size= 8200 OR @@global.read_rnd_buffer_size= 8228; +@@global.read_rnd_buffer_size= 8200 OR @@global.read_rnd_buffer_size= 8228 +1 +SET @@global.read_rnd_buffer_size = 8200; +Warnings: +Warning 1292 Truncated incorrect read_rnd_buffer_size value: '8200' +SELECT @@global.read_rnd_buffer_size= 8200 OR @@global.read_rnd_buffer_size= 8228; +@@global.read_rnd_buffer_size= 8200 OR @@global.read_rnd_buffer_size= 8228 +1 +SET @@global.read_rnd_buffer_size = 2147479552; +SELECT @@global.read_rnd_buffer_size; +@@global.read_rnd_buffer_size +2147479552 +SET @@global.read_rnd_buffer_size = 2147479551; +SELECT @@global.read_rnd_buffer_size; +@@global.read_rnd_buffer_size +2147475456 +'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +'#--------------------FN_DYNVARS_140_04-------------------------#' +SET @@session.read_rnd_buffer_size = 8200; +Warnings: +Warning 1292 Truncated incorrect read_rnd_buffer_size value: '8200' +SELECT @@session.read_rnd_buffer_size= 8200 OR @@session.read_rnd_buffer_size= 8228; +@@session.read_rnd_buffer_size= 8200 OR @@session.read_rnd_buffer_size= 8228 +1 +SET @@session.read_rnd_buffer_size = 8201; +Warnings: +Warning 1292 Truncated incorrect read_rnd_buffer_size value: '8201' +SELECT @@session.read_rnd_buffer_size= 8200 OR @@session.read_rnd_buffer_size= 8228; +@@session.read_rnd_buffer_size= 8200 OR @@session.read_rnd_buffer_size= 8228 +1 +SET @@session.read_rnd_buffer_size = 2147479552; +SELECT @@session.read_rnd_buffer_size; +@@session.read_rnd_buffer_size +2147479552 +SET @@session.read_rnd_buffer_size = 2147479551; +SELECT @@session.read_rnd_buffer_size; +@@session.read_rnd_buffer_size +2147475456 +'#------------------FN_DYNVARS_140_05-----------------------#' +SET @@global.read_rnd_buffer_size = 8199; +Warnings: +Warning 1292 Truncated incorrect read_rnd_buffer_size value: '8199' +SELECT @@global.read_rnd_buffer_size= 8200 OR @@global.read_rnd_buffer_size= 8228; +@@global.read_rnd_buffer_size= 8200 OR @@global.read_rnd_buffer_size= 8228 +1 +SET @@global.read_rnd_buffer_size = -1024; +Warnings: +Warning 1292 Truncated incorrect read_rnd_buffer_size value: '0' +SELECT @@global.read_rnd_buffer_size= 8200 OR @@global.read_rnd_buffer_size= 8228; +@@global.read_rnd_buffer_size= 8200 OR @@global.read_rnd_buffer_size= 8228 +1 +SET @@global.read_rnd_buffer_size = 2147479553; +SELECT @@global.read_rnd_buffer_size; +@@global.read_rnd_buffer_size +2147479552 +SET @@global.read_rnd_buffer_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.read_rnd_buffer_size; +@@global.read_rnd_buffer_size +2147479552 +SET @@global.read_rnd_buffer_size = test; +ERROR 42000: Incorrect argument type to variable 'read_rnd_buffer_size' +SELECT @@global.read_rnd_buffer_size; +@@global.read_rnd_buffer_size +2147479552 +SET @@session.read_rnd_buffer_size = 8199; +Warnings: +Warning 1292 Truncated incorrect read_rnd_buffer_size value: '8199' +SELECT @@session.read_rnd_buffer_size= 8200 OR @@session.read_rnd_buffer_size= 8228; +@@session.read_rnd_buffer_size= 8200 OR @@session.read_rnd_buffer_size= 8228 +1 +SET @@session.read_rnd_buffer_size = -2; +Warnings: +Warning 1292 Truncated incorrect read_rnd_buffer_size value: '0' +SELECT @@session.read_rnd_buffer_size= 8200 OR @@session.read_rnd_buffer_size= 8228; +@@session.read_rnd_buffer_size= 8200 OR @@session.read_rnd_buffer_size= 8228 +1 +SET @@session.read_rnd_buffer_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.read_rnd_buffer_size = 2147479553; +SELECT @@session.read_rnd_buffer_size; +@@session.read_rnd_buffer_size +2147479552 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@session.read_rnd_buffer_size = test; +ERROR 42000: Incorrect argument type to variable 'read_rnd_buffer_size' +SELECT @@session.read_rnd_buffer_size; +@@session.read_rnd_buffer_size +2147479552 +'#------------------FN_DYNVARS_140_06-----------------------#' +SELECT @@global.read_rnd_buffer_size = VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='read_rnd_buffer_size'; +@@global.read_rnd_buffer_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_140_07-----------------------#' +SELECT @@session.read_rnd_buffer_size = +VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='read_rnd_buffer_size'; +@@session.read_rnd_buffer_size = +VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_140_08-----------------------#' +SET @@global.read_rnd_buffer_size = TRUE; +Warnings: +Warning 1292 Truncated incorrect read_rnd_buffer_size value: '1' +SELECT @@global.read_rnd_buffer_size= 8200 OR @@global.read_rnd_buffer_size= 8228; +@@global.read_rnd_buffer_size= 8200 OR @@global.read_rnd_buffer_size= 8228 +1 +SET @@global.read_rnd_buffer_size = FALSE; +Warnings: +Warning 1292 Truncated incorrect read_rnd_buffer_size value: '0' +SELECT @@global.read_rnd_buffer_size= 8200 OR @@global.read_rnd_buffer_size= 8228; +@@global.read_rnd_buffer_size= 8200 OR @@global.read_rnd_buffer_size= 8228 +1 +'#---------------------FN_DYNVARS_140_09----------------------#' +SET @@global.read_rnd_buffer_size = 9000; +Warnings: +Warning 1292 Truncated incorrect read_rnd_buffer_size value: '9000' +SELECT @@read_rnd_buffer_size = @@global.read_rnd_buffer_size; +@@read_rnd_buffer_size = @@global.read_rnd_buffer_size +0 +'#---------------------FN_DYNVARS_140_10----------------------#' +SET @@read_rnd_buffer_size = 9000; +Warnings: +Warning 1292 Truncated incorrect read_rnd_buffer_size value: '9000' +SELECT @@read_rnd_buffer_size = @@local.read_rnd_buffer_size; +@@read_rnd_buffer_size = @@local.read_rnd_buffer_size +1 +SELECT @@local.read_rnd_buffer_size = @@session.read_rnd_buffer_size; +@@local.read_rnd_buffer_size = @@session.read_rnd_buffer_size +1 +'#---------------------FN_DYNVARS_140_11----------------------#' +SET read_rnd_buffer_size = 9100; +Warnings: +Warning 1292 Truncated incorrect read_rnd_buffer_size value: '9100' +SELECT @@read_rnd_buffer_size= 8200 OR @@read_rnd_buffer_size= 8228; +@@read_rnd_buffer_size= 8200 OR @@read_rnd_buffer_size= 8228 +1 +SELECT local.read_rnd_buffer_size; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.read_rnd_buffer_size; +ERROR 42S02: Unknown table 'session' in field list +SELECT read_rnd_buffer_size = @@session.read_rnd_buffer_size; +ERROR 42S22: Unknown column 'read_rnd_buffer_size' in 'field list' +SET @@global.read_rnd_buffer_size = @start_global_value; +SELECT @@global.read_rnd_buffer_size; +@@global.read_rnd_buffer_size +262144 +SET @@session.read_rnd_buffer_size = @start_session_value; +SELECT @@session.read_rnd_buffer_size; +@@session.read_rnd_buffer_size +262144 diff --git a/mysql-test/r/relay_log_purge_basic.result b/mysql-test/r/relay_log_purge_basic.result new file mode 100644 index 00000000000..6f938c5265f --- /dev/null +++ b/mysql-test/r/relay_log_purge_basic.result @@ -0,0 +1,94 @@ +SET @start_value = @@global.relay_log_purge; +SELECT @start_value; +@start_value +1 +'#--------------------FN_DYNVARS_141_01------------------------#' +SET @@global.relay_log_purge = FALSE; +SET @@global.relay_log_purge = DEFAULT; +SELECT @@global.relay_log_purge; +@@global.relay_log_purge +1 +'#---------------------FN_DYNVARS_141_02-------------------------#' +SET @@global.relay_log_purge = @start_value; +SELECT @@global.relay_log_purge = TRUE; +@@global.relay_log_purge = TRUE +1 +'#--------------------FN_DYNVARS_141_03------------------------#' +SET @@global.relay_log_purge = ON; +SELECT @@global.relay_log_purge; +@@global.relay_log_purge +1 +SET @@global.relay_log_purge = OFF; +SELECT @@global.relay_log_purge; +@@global.relay_log_purge +0 +SET @@global.relay_log_purge = 0; +SELECT @@global.relay_log_purge; +@@global.relay_log_purge +0 +SET @@global.relay_log_purge = 1; +SELECT @@global.relay_log_purge; +@@global.relay_log_purge +1 +SET @@global.relay_log_purge = TRUE; +SELECT @@global.relay_log_purge; +@@global.relay_log_purge +1 +SET @@global.relay_log_purge = FALSE; +SELECT @@global.relay_log_purge; +@@global.relay_log_purge +0 +'#--------------------FN_DYNVARS_141_04-------------------------#' +SET @@global.relay_log_purge = 2; +ERROR 42000: Variable 'relay_log_purge' can't be set to the value of '2' +SET @@global.relay_log_purge = -1; +ERROR 42000: Variable 'relay_log_purge' can't be set to the value of '-1' +SET @@global.relay_log_purge = TRUEF; +ERROR 42000: Variable 'relay_log_purge' can't be set to the value of 'TRUEF' +SET @@global.relay_log_purge = TRUE_F; +ERROR 42000: Variable 'relay_log_purge' can't be set to the value of 'TRUE_F' +SET @@global.relay_log_purge = FALSE0; +ERROR 42000: Variable 'relay_log_purge' can't be set to the value of 'FALSE0' +SET @@global.relay_log_purge = OON; +ERROR 42000: Variable 'relay_log_purge' can't be set to the value of 'OON' +SET @@global.relay_log_purge = ONN; +ERROR 42000: Variable 'relay_log_purge' can't be set to the value of 'ONN' +SET @@global.relay_log_purge = OOFF; +ERROR 42000: Variable 'relay_log_purge' can't be set to the value of 'OOFF' +SET @@global.relay_log_purge = 0FF; +ERROR 42000: Variable 'relay_log_purge' can't be set to the value of '0FF' +SET @@global.relay_log_purge = ' '; +ERROR 42000: Variable 'relay_log_purge' can't be set to the value of ' ' +SET @@global.relay_log_purge = " "; +ERROR 42000: Variable 'relay_log_purge' can't be set to the value of ' ' +SET @@global.relay_log_purge = ''; +ERROR 42000: Variable 'relay_log_purge' can't be set to the value of '' +'#-------------------FN_DYNVARS_141_05----------------------------#' +SET @@session.relay_log_purge = 1; +ERROR HY000: Variable 'relay_log_purge' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@session.relay_log_purge; +ERROR HY000: Variable 'relay_log_purge' is a GLOBAL variable +'#----------------------FN_DYNVARS_141_06------------------------#' +SELECT @@global.relay_log_purge = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='relay_log_purge'; +@@global.relay_log_purge = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_141_07----------------------#' +SET @@global.relay_log_purge = 1; +SELECT @@relay_log_purge = @@global.relay_log_purge; +@@relay_log_purge = @@global.relay_log_purge +1 +'#---------------------FN_DYNVARS_141_08----------------------#' +SET relay_log_purge = 1; +ERROR HY000: Variable 'relay_log_purge' is a GLOBAL variable and should be set with SET GLOBAL +SET global.relay_log_purge = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'relay_log_purge = 1' at line 1 +SELECT global.relay_log_purge; +ERROR 42S02: Unknown table 'global' in field list +SELECT relay_log_purge = @@session.relay_log_purge; +ERROR 42S22: Unknown column 'relay_log_purge' in 'field list' +SET @@global.relay_log_purge = @start_value; +SELECT @@global.relay_log_purge; +@@global.relay_log_purge +1 diff --git a/mysql-test/r/repair.result b/mysql-test/r/repair.result index 8c0671ad740..dce37230d42 100644 --- a/mysql-test/r/repair.result +++ b/mysql-test/r/repair.result @@ -115,6 +115,42 @@ SET myisam_repair_threads=@@global.myisam_repair_threads; SET myisam_sort_buffer_size=@@global.myisam_sort_buffer_size; DROP TABLE t1; End of 4.1 tests +# Test with a saved table from 4.1 +SHOW TABLE STATUS LIKE 't1'; +Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment +t1 MyISAM 9 Fixed 2 5 10 21474836479 1024 0 NULL # # NULL latin1_swedish_ci NULL +SELECT * FROM t1; +id +1 +2 +# Run CHECK TABLE, it should indicate table need a REPAIR TABLE +CHECK TABLE t1 FOR UPGRADE; +Table Op Msg_type Msg_text +test.t1 check error Table upgrade required. Please do "REPAIR TABLE `t1`" to fix it! +# REPAIR old table USE_FRM should fail +REPAIR TABLE t1 USE_FRM; +Table Op Msg_type Msg_text +t1 repair error Failed reparing incompatible .FRM file +# Run REPAIR TABLE to upgrade .frm file +REPAIR TABLE t1; +Table Op Msg_type Msg_text +test.t1 repair status OK +SHOW TABLE STATUS LIKE 't1'; +Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment +t1 MyISAM 10 Fixed 2 7 14 1970324836974591 1024 0 NULL # # NULL latin1_swedish_ci NULL +SELECT * FROM t1; +id +1 +2 +REPAIR TABLE t1 USE_FRM; +Table Op Msg_type Msg_text +test.t1 repair warning Number of rows changed from 0 to 2 +test.t1 repair status OK +SELECT * FROM t1; +id +1 +2 +DROP TABLE t1; DROP TABLE IF EXISTS tt1; CREATE TEMPORARY TABLE tt1 (c1 INT); REPAIR TABLE tt1 USE_FRM; diff --git a/mysql-test/r/rpl_init_slave_func.result b/mysql-test/r/rpl_init_slave_func.result new file mode 100644 index 00000000000..3861f40e7d9 --- /dev/null +++ b/mysql-test/r/rpl_init_slave_func.result @@ -0,0 +1,47 @@ +stop slave; +drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; +reset master; +reset slave; +drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; +start slave; +'#--------------------FN_DYNVARS_037_01-------------------------#' +SET @@global.init_slave = "SET @a = 10"; +'connect (con1,localhost,root,,)' +'connection con1' +SELECT @@global.init_slave; +@@global.init_slave +SET @a = 10 +'connection master' +'#--------------------FN_DYNVARS_037_02-------------------------#' +'check if value in slave opt file is executed' +'connection slave' +show variables like 'init_slave'; +Variable_name Value +init_slave set global max_connections=500 +show variables like 'max_connections'; +Variable_name Value +max_connections 500 +reset master; +'check if value in slave opt file doesnt apply to master' +'connection master' +show variables like 'init_slave'; +Variable_name Value +init_slave SET @a = 10 +show variables like 'max_connections'; +Variable_name Value +max_connections 151 +'connection slave' +'try creating a temporary variable in init_slave' +SET @@global.init_slave = "SET @a=5"; +stop slave; +reset slave; +drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; +start slave; +SHOW VARIABLES LIKE 'init_slave'; +Variable_name Value +init_slave SET @a=5 +SELECT @a; +@a +NULL +'Bug#35365 SET statement in init_slave not execute if slave is restarted' +set global max_connections= default; diff --git a/mysql-test/r/rpl_max_binlog_size_func.result b/mysql-test/r/rpl_max_binlog_size_func.result new file mode 100644 index 00000000000..0d0a1ae03c4 --- /dev/null +++ b/mysql-test/r/rpl_max_binlog_size_func.result @@ -0,0 +1,8 @@ +DROP TABLE IF EXISTS t1; +'--- check if log file is rotated after 4096 bytes ----' +SET @saved_max_binlog_size= @@global.max_binlog_size; +SET @@global.max_binlog_size = 4096; +CREATE TABLE t1(a CHAR(5)); +'mylog.000002 exists' +SET @@global.max_binlog_size= @saved_max_binlog_size; +DROP TABLE t1; diff --git a/mysql-test/r/rpl_recovery_rank_basic_32.result b/mysql-test/r/rpl_recovery_rank_basic_32.result new file mode 100644 index 00000000000..d4dd46eba71 --- /dev/null +++ b/mysql-test/r/rpl_recovery_rank_basic_32.result @@ -0,0 +1,110 @@ +SET @start_global_value = @@global.rpl_recovery_rank; +SELECT @start_global_value; +@start_global_value +0 +'#--------------------FN_DYNVARS_142_01-------------------------#' +SET @@global.rpl_recovery_rank = 500000; +SET @@global.rpl_recovery_rank = DEFAULT; +SELECT @@global.rpl_recovery_rank; +@@global.rpl_recovery_rank +0 +'#--------------------FN_DYNVARS_142_02-------------------------#' +SET @@global.rpl_recovery_rank = 0; +SELECT @@global.rpl_recovery_rank; +@@global.rpl_recovery_rank +0 +SET @@global.rpl_recovery_rank = 1024; +SELECT @@global.rpl_recovery_rank; +@@global.rpl_recovery_rank +1024 +SET @@global.rpl_recovery_rank = 123456789; +SELECT @@global.rpl_recovery_rank; +@@global.rpl_recovery_rank +123456789 +SET @@global.rpl_recovery_rank = 2147483648*2; +Warnings: +Warning 1292 Truncated incorrect rpl-recovery-rank value: '4294967296' +SELECT @@global.rpl_recovery_rank; +@@global.rpl_recovery_rank +4294967295 +SET @@global.rpl_recovery_rank = 2147483648*1024; +Warnings: +Warning 1292 Truncated incorrect rpl-recovery-rank value: '2199023255552' +SELECT @@global.rpl_recovery_rank; +@@global.rpl_recovery_rank +4294967295 +SELECT @@global.rpl_recovery_rank; +@@global.rpl_recovery_rank +4294967295 +SET @@global.rpl_recovery_rank = 2147483648*2147483648; +Warnings: +Warning 1292 Truncated incorrect rpl-recovery-rank value: '4611686018427387904' +SELECT @@global.rpl_recovery_rank; +@@global.rpl_recovery_rank +4294967295 +'#--------------------FN_DYNVARS_142_03-------------------------#' +SET @@rpl_recovery_rank = 2; +ERROR HY000: Variable 'rpl_recovery_rank' is a GLOBAL variable and should be set with SET GLOBAL +SET @@session.rpl_recovery_rank = 3; +ERROR HY000: Variable 'rpl_recovery_rank' is a GLOBAL variable and should be set with SET GLOBAL +SET @@local.rpl_recovery_rank = 4; +ERROR HY000: Variable 'rpl_recovery_rank' is a GLOBAL variable and should be set with SET GLOBAL +'#------------------FN_DYNVARS_142_04-----------------------#' +SET @@global.rpl_recovery_rank = -1; +SELECT @@global.rpl_recovery_rank; +@@global.rpl_recovery_rank +0 +SET @@global.rpl_recovery_rank = -2147483648; +SELECT @@global.rpl_recovery_rank; +@@global.rpl_recovery_rank +0 +SET @@global.rpl_recovery_rank = -2147483649; +SELECT @@global.rpl_recovery_rank; +@@global.rpl_recovery_rank +0 +SET @@global.rpl_recovery_rank = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@global.rpl_recovery_rank = 2147483649.56; +ERROR 42000: Incorrect argument type to variable 'rpl_recovery_rank' +SET @@global.rpl_recovery_rank = 1G; +ERROR 42000: Incorrect argument type to variable 'rpl_recovery_rank' +'#------------------FN_DYNVARS_142_05-----------------------#' +SET @@global.rpl_recovery_rank = 3000; +SELECT @@global.rpl_recovery_rank = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='rpl_recovery_rank'; +@@global.rpl_recovery_rank = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_142_06-----------------------#' +SELECT count(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='rpl_recovery_rank'; +count(VARIABLE_VALUE) +1 +'#------------------FN_DYNVARS_142_07-----------------------#' +SET @@global.rpl_recovery_rank = TRUE; +SELECT @@global.rpl_recovery_rank; +@@global.rpl_recovery_rank +1 +SET @@global.rpl_recovery_rank = FALSE; +SELECT @@global.rpl_recovery_rank; +@@global.rpl_recovery_rank +0 +'#---------------------FN_DYNVARS_001_08----------------------#' +SET @@global.rpl_recovery_rank = 512; +SELECT @@rpl_recovery_rank = @@global.rpl_recovery_rank; +@@rpl_recovery_rank = @@global.rpl_recovery_rank +1 +'#---------------------FN_DYNVARS_001_09----------------------#' +SET rpl_recovery_rank = 2048; +ERROR HY000: Variable 'rpl_recovery_rank' is a GLOBAL variable and should be set with SET GLOBAL +SELECT rpl_recovery_rank; +ERROR 42S22: Unknown column 'rpl_recovery_rank' in 'field list' +SELECT @@rpl_recovery_rank; +@@rpl_recovery_rank +512 +SET global rpl_recovery_rank = 64; +SET @@global.rpl_recovery_rank = @start_global_value; +SELECT @@global.rpl_recovery_rank; +@@global.rpl_recovery_rank +0 diff --git a/mysql-test/r/rpl_recovery_rank_basic_64.result b/mysql-test/r/rpl_recovery_rank_basic_64.result new file mode 100644 index 00000000000..d4dd46eba71 --- /dev/null +++ b/mysql-test/r/rpl_recovery_rank_basic_64.result @@ -0,0 +1,110 @@ +SET @start_global_value = @@global.rpl_recovery_rank; +SELECT @start_global_value; +@start_global_value +0 +'#--------------------FN_DYNVARS_142_01-------------------------#' +SET @@global.rpl_recovery_rank = 500000; +SET @@global.rpl_recovery_rank = DEFAULT; +SELECT @@global.rpl_recovery_rank; +@@global.rpl_recovery_rank +0 +'#--------------------FN_DYNVARS_142_02-------------------------#' +SET @@global.rpl_recovery_rank = 0; +SELECT @@global.rpl_recovery_rank; +@@global.rpl_recovery_rank +0 +SET @@global.rpl_recovery_rank = 1024; +SELECT @@global.rpl_recovery_rank; +@@global.rpl_recovery_rank +1024 +SET @@global.rpl_recovery_rank = 123456789; +SELECT @@global.rpl_recovery_rank; +@@global.rpl_recovery_rank +123456789 +SET @@global.rpl_recovery_rank = 2147483648*2; +Warnings: +Warning 1292 Truncated incorrect rpl-recovery-rank value: '4294967296' +SELECT @@global.rpl_recovery_rank; +@@global.rpl_recovery_rank +4294967295 +SET @@global.rpl_recovery_rank = 2147483648*1024; +Warnings: +Warning 1292 Truncated incorrect rpl-recovery-rank value: '2199023255552' +SELECT @@global.rpl_recovery_rank; +@@global.rpl_recovery_rank +4294967295 +SELECT @@global.rpl_recovery_rank; +@@global.rpl_recovery_rank +4294967295 +SET @@global.rpl_recovery_rank = 2147483648*2147483648; +Warnings: +Warning 1292 Truncated incorrect rpl-recovery-rank value: '4611686018427387904' +SELECT @@global.rpl_recovery_rank; +@@global.rpl_recovery_rank +4294967295 +'#--------------------FN_DYNVARS_142_03-------------------------#' +SET @@rpl_recovery_rank = 2; +ERROR HY000: Variable 'rpl_recovery_rank' is a GLOBAL variable and should be set with SET GLOBAL +SET @@session.rpl_recovery_rank = 3; +ERROR HY000: Variable 'rpl_recovery_rank' is a GLOBAL variable and should be set with SET GLOBAL +SET @@local.rpl_recovery_rank = 4; +ERROR HY000: Variable 'rpl_recovery_rank' is a GLOBAL variable and should be set with SET GLOBAL +'#------------------FN_DYNVARS_142_04-----------------------#' +SET @@global.rpl_recovery_rank = -1; +SELECT @@global.rpl_recovery_rank; +@@global.rpl_recovery_rank +0 +SET @@global.rpl_recovery_rank = -2147483648; +SELECT @@global.rpl_recovery_rank; +@@global.rpl_recovery_rank +0 +SET @@global.rpl_recovery_rank = -2147483649; +SELECT @@global.rpl_recovery_rank; +@@global.rpl_recovery_rank +0 +SET @@global.rpl_recovery_rank = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@global.rpl_recovery_rank = 2147483649.56; +ERROR 42000: Incorrect argument type to variable 'rpl_recovery_rank' +SET @@global.rpl_recovery_rank = 1G; +ERROR 42000: Incorrect argument type to variable 'rpl_recovery_rank' +'#------------------FN_DYNVARS_142_05-----------------------#' +SET @@global.rpl_recovery_rank = 3000; +SELECT @@global.rpl_recovery_rank = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='rpl_recovery_rank'; +@@global.rpl_recovery_rank = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_142_06-----------------------#' +SELECT count(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='rpl_recovery_rank'; +count(VARIABLE_VALUE) +1 +'#------------------FN_DYNVARS_142_07-----------------------#' +SET @@global.rpl_recovery_rank = TRUE; +SELECT @@global.rpl_recovery_rank; +@@global.rpl_recovery_rank +1 +SET @@global.rpl_recovery_rank = FALSE; +SELECT @@global.rpl_recovery_rank; +@@global.rpl_recovery_rank +0 +'#---------------------FN_DYNVARS_001_08----------------------#' +SET @@global.rpl_recovery_rank = 512; +SELECT @@rpl_recovery_rank = @@global.rpl_recovery_rank; +@@rpl_recovery_rank = @@global.rpl_recovery_rank +1 +'#---------------------FN_DYNVARS_001_09----------------------#' +SET rpl_recovery_rank = 2048; +ERROR HY000: Variable 'rpl_recovery_rank' is a GLOBAL variable and should be set with SET GLOBAL +SELECT rpl_recovery_rank; +ERROR 42S22: Unknown column 'rpl_recovery_rank' in 'field list' +SELECT @@rpl_recovery_rank; +@@rpl_recovery_rank +512 +SET global rpl_recovery_rank = 64; +SET @@global.rpl_recovery_rank = @start_global_value; +SELECT @@global.rpl_recovery_rank; +@@global.rpl_recovery_rank +0 diff --git a/mysql-test/r/secure_auth_basic.result b/mysql-test/r/secure_auth_basic.result new file mode 100644 index 00000000000..b8a903ba420 --- /dev/null +++ b/mysql-test/r/secure_auth_basic.result @@ -0,0 +1,105 @@ +SET @global_start_value = @@global.secure_auth; +SELECT @global_start_value; +@global_start_value +0 +'#--------------------FN_DYNVARS_143_01------------------------#' +SET @@global.secure_auth = 1; +SET @@global.secure_auth = DEFAULT; +SELECT @@global.secure_auth; +@@global.secure_auth +0 +'#---------------------FN_DYNVARS_143_02-------------------------#' +SET secure_auth = 1; +ERROR HY000: Variable 'secure_auth' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@secure_auth; +@@secure_auth +0 +SELECT global.secure_auth; +ERROR 42S02: Unknown table 'global' in field list +SET global secure_auth = 1; +SELECT @@global.secure_auth; +@@global.secure_auth +1 +'#--------------------FN_DYNVARS_143_03------------------------#' +SET @@global.secure_auth = 0; +SELECT @@global.secure_auth; +@@global.secure_auth +0 +SET @@global.secure_auth = 1; +SELECT @@global.secure_auth; +@@global.secure_auth +1 +'#--------------------FN_DYNVARS_143_04-------------------------#' +SET @@global.secure_auth = -1; +ERROR 42000: Variable 'secure_auth' can't be set to the value of '-1' +SET @@global.secure_auth = 2; +ERROR 42000: Variable 'secure_auth' can't be set to the value of '2' +SET @@global.secure_auth = "T"; +ERROR 42000: Variable 'secure_auth' can't be set to the value of 'T' +SET @@global.secure_auth = "Y"; +ERROR 42000: Variable 'secure_auth' can't be set to the value of 'Y' +SET @@global.secure_auth = YES; +ERROR 42000: Variable 'secure_auth' can't be set to the value of 'YES' +SET @@global.secure_auth = ONN; +ERROR 42000: Variable 'secure_auth' can't be set to the value of 'ONN' +SET @@global.secure_auth = OOF; +ERROR 42000: Variable 'secure_auth' can't be set to the value of 'OOF' +SET @@global.secure_auth = 0FF; +ERROR 42000: Variable 'secure_auth' can't be set to the value of '0FF' +SET @@global.secure_auth = ' 1'; +ERROR 42000: Variable 'secure_auth' can't be set to the value of ' 1' +SET @@global.secure_auth = NO; +ERROR 42000: Variable 'secure_auth' can't be set to the value of 'NO' +'#-------------------FN_DYNVARS_143_05----------------------------#' +SET @@session.secure_auth = 0; +ERROR HY000: Variable 'secure_auth' is a GLOBAL variable and should be set with SET GLOBAL +SET @@secure_auth = 0; +ERROR HY000: Variable 'secure_auth' is a GLOBAL variable and should be set with SET GLOBAL +SET @@local.secure_auth = 0; +ERROR HY000: Variable 'secure_auth' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@session.secure_auth; +ERROR HY000: Variable 'secure_auth' is a GLOBAL variable +SELECT @@local.secure_auth; +ERROR HY000: Variable 'secure_auth' is a GLOBAL variable +'#----------------------FN_DYNVARS_143_06------------------------#' +SELECT count(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='secure_auth'; +count(VARIABLE_VALUE) +1 +'#----------------------FN_DYNVARS_143_07------------------------#' +SELECT @@global.secure_auth = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='secure_auth'; +@@global.secure_auth = VARIABLE_VALUE +0 +SELECT @@global.secure_auth; +@@global.secure_auth +1 +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='secure_auth'; +VARIABLE_VALUE +ON +'#---------------------FN_DYNVARS_143_08-------------------------#' +SET @@global.secure_auth = OFF; +SELECT @@global.secure_auth; +@@global.secure_auth +0 +SET @@global.secure_auth = ON; +SELECT @@global.secure_auth; +@@global.secure_auth +1 +'#---------------------FN_DYNVARS_143_09----------------------#' +SET @@global.secure_auth = TRUE; +SELECT @@global.secure_auth; +@@global.secure_auth +1 +SET @@global.secure_auth = FALSE; +SELECT @@global.secure_auth; +@@global.secure_auth +0 +SET @@global.secure_auth = @global_start_value; +SELECT @@global.secure_auth; +@@global.secure_auth +0 diff --git a/mysql-test/r/secure_auth_func.result b/mysql-test/r/secure_auth_func.result new file mode 100644 index 00000000000..f7e24e3f043 --- /dev/null +++ b/mysql-test/r/secure_auth_func.result @@ -0,0 +1,33 @@ +** Setup ** + +SET @old_secure_auth = @@GLOBAL.secure_auth; +'#--------------------FN_DYNVARS_144_01-------------------------#' +SELECT @@GLOBAL.secure_auth; +@@GLOBAL.secure_auth +1 +1 / ON Expected +'#--------------------FN_DYNVARS_144_02-------------------------#' +SET GLOBAL secure_auth = OFF; +CREATE USER 'testUser'@'localhost' IDENTIFIED BY 'newpass'; +** Connecting con_user1 using testUser ** +** Connection default** +SET PASSWORD FOR 'testUser'@'localhost' = OLD_PASSWORD('newpass'); +** Connecting con_user2 using testUser ** +** Connection default** +'#--------------------FN_DYNVARS_144_03-------------------------#' +SET GLOBAL secure_auth = ON; +SET PASSWORD FOR 'testUser'@'localhost' = PASSWORD('newpass'); +** Connecting con_user3 using testUser ** +** Connection default ** +SET PASSWORD FOR 'testUser'@'localhost' = OLD_PASSWORD('newpass'); +** Connecting con_user4 using testUser ** +ERROR HY000: Server is running in --secure-auth mode, but 'testUser'@'localhost' has a password in the old format; please change the password to the new format +Expected error "Server is in secure auth mode" +** Connection default** +SET PASSWORD FOR 'testUser'@'localhost' = PASSWORD('newpass'); +** Connecting con_user4 using testUser ** +** Connection default ** +SET GLOBAL secure_auth = @old_secure_auth; +Disconnecting Connections con_user1, con_user2, con_user3, con_user4 +REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'testUser'@'localhost'; +DROP USER 'testUser'@'localhost'; diff --git a/mysql-test/r/server_id_basic_32.result b/mysql-test/r/server_id_basic_32.result new file mode 100644 index 00000000000..6f801fc627b --- /dev/null +++ b/mysql-test/r/server_id_basic_32.result @@ -0,0 +1,117 @@ +SET @@global.general_log= 0; +SET @start_global_value = @@global.server_id; +SELECT @start_global_value; +@start_global_value +1 +'#--------------------FN_DYNVARS_144_01-------------------------#' +SET @@global.server_id = 500000; +SET @@global.server_id = DEFAULT; +SELECT @@global.server_id; +@@global.server_id +0 +'#--------------------FN_DYNVARS_144_02-------------------------#' +SET @@global.server_id = DEFAULT; +SELECT @@global.server_id = 0; +@@global.server_id = 0 +1 +'#--------------------FN_DYNVARS_144_03-------------------------#' +SET @@global.server_id = 0; +SELECT @@global.server_id; +@@global.server_id +0 +SET @@global.server_id = 1; +SELECT @@global.server_id; +@@global.server_id +1 +SET @@global.server_id = 15; +SELECT @@global.server_id; +@@global.server_id +15 +SET @@global.server_id = 1024; +SELECT @@global.server_id; +@@global.server_id +1024 +SET @@global.server_id = 123456789; +SELECT @@global.server_id; +@@global.server_id +123456789 +SET @@global.server_id = 2147483648; +SELECT @@global.server_id; +@@global.server_id +2147483648 +SET @@global.server_id = 2147483648*2-1; +SELECT @@global.server_id; +@@global.server_id +4294967295 +'#--------------------FN_DYNVARS_144_04-------------------------#' +SET @@server_id = 2; +ERROR HY000: Variable 'server_id' is a GLOBAL variable and should be set with SET GLOBAL +SET @@session.server_id = 3; +ERROR HY000: Variable 'server_id' is a GLOBAL variable and should be set with SET GLOBAL +SET @@local.server_id = 4; +ERROR HY000: Variable 'server_id' is a GLOBAL variable and should be set with SET GLOBAL +'#------------------FN_DYNVARS_144_05-----------------------#' +SET @@global.server_id = -1; +SELECT @@global.server_id; +@@global.server_id +0 +SET @@global.server_id = -2147483648; +SELECT @@global.server_id; +@@global.server_id +0 +SET @@global.server_id = 2147483649*2; +Warnings: +Warning 1292 Truncated incorrect server-id value: '4294967298' +SELECT @@global.server_id; +@@global.server_id +4294967295 +SET @@global.server_id = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@global.server_id = '125'; +ERROR 42000: Incorrect argument type to variable 'server_id' +SET @@global.server_id = 7483649.56; +ERROR 42000: Incorrect argument type to variable 'server_id' +SET @@global.server_id = 1G; +ERROR 42000: Incorrect argument type to variable 'server_id' +'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +'#------------------FN_DYNVARS_144_06-----------------------#' +SET @@global.server_id = 3000; +SELECT @@global.server_id = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='server_id'; +@@global.server_id = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_144_07-----------------------#' +SELECT count(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='server_id'; +count(VARIABLE_VALUE) +1 +'#------------------FN_DYNVARS_144_08-----------------------#' +SET @@global.server_id = TRUE; +SELECT @@global.server_id; +@@global.server_id +1 +SET @@global.server_id = FALSE; +SELECT @@global.server_id; +@@global.server_id +0 +'#---------------------FN_DYNVARS_001_09----------------------#' +SET @@global.server_id = 512; +SELECT @@server_id = @@global.server_id; +@@server_id = @@global.server_id +1 +'#---------------------FN_DYNVARS_001_10----------------------#' +SET server_id = 2048; +ERROR HY000: Variable 'server_id' is a GLOBAL variable and should be set with SET GLOBAL +SELECT server_id; +ERROR 42S22: Unknown column 'server_id' in 'field list' +SELECT @@server_id; +@@server_id +512 +SET global server_id = 99; +SET @@global.server_id = @start_global_value; +SELECT @@global.server_id; +@@global.server_id +1 +SET @@global.general_log= 1; diff --git a/mysql-test/r/server_id_basic_64.result b/mysql-test/r/server_id_basic_64.result new file mode 100644 index 00000000000..b6f3095ccfe --- /dev/null +++ b/mysql-test/r/server_id_basic_64.result @@ -0,0 +1,115 @@ +SET @@global.general_log= 0; +SET @start_global_value = @@global.server_id; +SELECT @start_global_value; +@start_global_value +1 +'#--------------------FN_DYNVARS_144_01-------------------------#' +SET @@global.server_id = 500000; +SET @@global.server_id = DEFAULT; +SELECT @@global.server_id; +@@global.server_id +0 +'#--------------------FN_DYNVARS_144_02-------------------------#' +SET @@global.server_id = DEFAULT; +SELECT @@global.server_id = 0; +@@global.server_id = 0 +1 +'#--------------------FN_DYNVARS_144_03-------------------------#' +SET @@global.server_id = 0; +SELECT @@global.server_id; +@@global.server_id +0 +SET @@global.server_id = 1; +SELECT @@global.server_id; +@@global.server_id +1 +SET @@global.server_id = 15; +SELECT @@global.server_id; +@@global.server_id +15 +SET @@global.server_id = 1024; +SELECT @@global.server_id; +@@global.server_id +1024 +SET @@global.server_id = 123456789; +SELECT @@global.server_id; +@@global.server_id +123456789 +SET @@global.server_id = 2147483648; +SELECT @@global.server_id; +@@global.server_id +2147483648 +SET @@global.server_id = 2147483648*2-1; +SELECT @@global.server_id; +@@global.server_id +4294967295 +'#--------------------FN_DYNVARS_144_04-------------------------#' +SET @@server_id = 2; +ERROR HY000: Variable 'server_id' is a GLOBAL variable and should be set with SET GLOBAL +SET @@session.server_id = 3; +ERROR HY000: Variable 'server_id' is a GLOBAL variable and should be set with SET GLOBAL +SET @@local.server_id = 4; +ERROR HY000: Variable 'server_id' is a GLOBAL variable and should be set with SET GLOBAL +'#------------------FN_DYNVARS_144_05-----------------------#' +SET @@global.server_id = -1; +SELECT @@global.server_id; +@@global.server_id +0 +SET @@global.server_id = -2147483648; +SELECT @@global.server_id; +@@global.server_id +0 +SET @@global.server_id = 2147483649*2; +SELECT @@global.server_id; +@@global.server_id +4294967298 +SET @@global.server_id = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@global.server_id = '125'; +ERROR 42000: Incorrect argument type to variable 'server_id' +SET @@global.server_id = 7483649.56; +ERROR 42000: Incorrect argument type to variable 'server_id' +SET @@global.server_id = 1G; +ERROR 42000: Incorrect argument type to variable 'server_id' +'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +'#------------------FN_DYNVARS_144_06-----------------------#' +SET @@global.server_id = 3000; +SELECT @@global.server_id = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='server_id'; +@@global.server_id = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_144_07-----------------------#' +SELECT count(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='server_id'; +count(VARIABLE_VALUE) +1 +'#------------------FN_DYNVARS_144_08-----------------------#' +SET @@global.server_id = TRUE; +SELECT @@global.server_id; +@@global.server_id +1 +SET @@global.server_id = FALSE; +SELECT @@global.server_id; +@@global.server_id +0 +'#---------------------FN_DYNVARS_001_09----------------------#' +SET @@global.server_id = 512; +SELECT @@server_id = @@global.server_id; +@@server_id = @@global.server_id +1 +'#---------------------FN_DYNVARS_001_10----------------------#' +SET server_id = 2048; +ERROR HY000: Variable 'server_id' is a GLOBAL variable and should be set with SET GLOBAL +SELECT server_id; +ERROR 42S22: Unknown column 'server_id' in 'field list' +SELECT @@server_id; +@@server_id +512 +SET global server_id = 99; +SET @@global.server_id = @start_global_value; +SELECT @@global.server_id; +@@global.server_id +1 +SET @@global.general_log= 1; diff --git a/mysql-test/r/slave_allow_batching_basic.result b/mysql-test/r/slave_allow_batching_basic.result new file mode 100644 index 00000000000..186cfbc8f0f --- /dev/null +++ b/mysql-test/r/slave_allow_batching_basic.result @@ -0,0 +1,12 @@ +SET @global_start_value = @@global.slave_allow_batching; +ERROR HY000: Unknown system variable 'slave_allow_batching' +'Bug: This variable is not supported in mysql version 5.1.22' +'#--------------------FN_DYNVARS_145_01------------------------#' +'#---------------------FN_DYNVARS_145_02-------------------------#' +'#--------------------FN_DYNVARS_145_03------------------------#' +'#--------------------FN_DYNVARS_145_04-------------------------#' +'#-------------------FN_DYNVARS_145_05----------------------------#' +'#----------------------FN_DYNVARS_145_06------------------------#' +'#----------------------FN_DYNVARS_145_07------------------------#' +'#---------------------FN_DYNVARS_145_08-------------------------#' +'#---------------------FN_DYNVARS_145_09----------------------#' diff --git a/mysql-test/r/slave_compressed_protocol_basic.result b/mysql-test/r/slave_compressed_protocol_basic.result new file mode 100644 index 00000000000..3f2d9d2fb3f --- /dev/null +++ b/mysql-test/r/slave_compressed_protocol_basic.result @@ -0,0 +1,103 @@ +SET @global_start_value = @@global.slave_compressed_protocol; +SELECT @global_start_value; +@global_start_value +0 +'#--------------------FN_DYNVARS_147_01------------------------#' +SET @@global.slave_compressed_protocol = 1; +SET @@global.slave_compressed_protocol = DEFAULT; +SELECT @@global.slave_compressed_protocol; +@@global.slave_compressed_protocol +0 +'#---------------------FN_DYNVARS_147_02-------------------------#' +SET slave_compressed_protocol = 1; +ERROR HY000: Variable 'slave_compressed_protocol' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@slave_compressed_protocol; +@@slave_compressed_protocol +0 +SELECT global.slave_compressed_protocol; +ERROR 42S02: Unknown table 'global' in field list +SET global slave_compressed_protocol = 1; +SELECT @@global.slave_compressed_protocol; +@@global.slave_compressed_protocol +1 +'#--------------------FN_DYNVARS_147_03------------------------#' +SET @@global.slave_compressed_protocol = 0; +SELECT @@global.slave_compressed_protocol; +@@global.slave_compressed_protocol +0 +SET @@global.slave_compressed_protocol = 1; +SELECT @@global.slave_compressed_protocol; +@@global.slave_compressed_protocol +1 +'#--------------------FN_DYNVARS_147_04-------------------------#' +SET @@global.slave_compressed_protocol = -1; +ERROR 42000: Variable 'slave_compressed_protocol' can't be set to the value of '-1' +SET @@global.slave_compressed_protocol = 2; +ERROR 42000: Variable 'slave_compressed_protocol' can't be set to the value of '2' +SET @@global.slave_compressed_protocol = "1.00"; +ERROR 42000: Variable 'slave_compressed_protocol' can't be set to the value of '1.00' +SET @@global.slave_compressed_protocol = "Y"; +ERROR 42000: Variable 'slave_compressed_protocol' can't be set to the value of 'Y' +SET @@global.slave_compressed_protocol = YES; +ERROR 42000: Variable 'slave_compressed_protocol' can't be set to the value of 'YES' +SET @@global.slave_compressed_protocol = ONN; +ERROR 42000: Variable 'slave_compressed_protocol' can't be set to the value of 'ONN' +SET @@global.slave_compressed_protocol = 0FF; +ERROR 42000: Variable 'slave_compressed_protocol' can't be set to the value of '0FF' +SET @@global.slave_compressed_protocol = ' 1'; +ERROR 42000: Variable 'slave_compressed_protocol' can't be set to the value of ' 1' +SET @@global.slave_compressed_protocol = NO; +ERROR 42000: Variable 'slave_compressed_protocol' can't be set to the value of 'NO' +'#-------------------FN_DYNVARS_147_05----------------------------#' +SET @@session.slave_compressed_protocol = 0; +ERROR HY000: Variable 'slave_compressed_protocol' is a GLOBAL variable and should be set with SET GLOBAL +SET @@slave_compressed_protocol = 0; +ERROR HY000: Variable 'slave_compressed_protocol' is a GLOBAL variable and should be set with SET GLOBAL +SET @@local.slave_compressed_protocol = 0; +ERROR HY000: Variable 'slave_compressed_protocol' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@session.slave_compressed_protocol; +ERROR HY000: Variable 'slave_compressed_protocol' is a GLOBAL variable +SELECT @@local.slave_compressed_protocol; +ERROR HY000: Variable 'slave_compressed_protocol' is a GLOBAL variable +'#----------------------FN_DYNVARS_147_06------------------------#' +SELECT count(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='slave_compressed_protocol'; +count(VARIABLE_VALUE) +1 +'#----------------------FN_DYNVARS_147_07------------------------#' +SELECT @@global.slave_compressed_protocol = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='slave_compressed_protocol'; +@@global.slave_compressed_protocol = VARIABLE_VALUE +0 +SELECT @@global.slave_compressed_protocol; +@@global.slave_compressed_protocol +1 +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='slave_compressed_protocol'; +VARIABLE_VALUE +ON +'#---------------------FN_DYNVARS_147_08-------------------------#' +SET @@global.slave_compressed_protocol = OFF; +SELECT @@global.slave_compressed_protocol; +@@global.slave_compressed_protocol +0 +SET @@global.slave_compressed_protocol = ON; +SELECT @@global.slave_compressed_protocol; +@@global.slave_compressed_protocol +1 +'#---------------------FN_DYNVARS_147_09----------------------#' +SET @@global.slave_compressed_protocol = TRUE; +SELECT @@global.slave_compressed_protocol; +@@global.slave_compressed_protocol +1 +SET @@global.slave_compressed_protocol = FALSE; +SELECT @@global.slave_compressed_protocol; +@@global.slave_compressed_protocol +0 +SET @@global.slave_compressed_protocol = @global_start_value; +SELECT @@global.slave_compressed_protocol; +@@global.slave_compressed_protocol +0 diff --git a/mysql-test/r/slave_exec_mode_basic.result b/mysql-test/r/slave_exec_mode_basic.result new file mode 100644 index 00000000000..aeb73196733 --- /dev/null +++ b/mysql-test/r/slave_exec_mode_basic.result @@ -0,0 +1,2 @@ +SET @start_value = @@global.slave_exec_mode; +'This variable is not supported in version 5.1.22. It is introduced in 5.1.24' diff --git a/mysql-test/r/slave_net_timeout_basic.result b/mysql-test/r/slave_net_timeout_basic.result new file mode 100644 index 00000000000..7903d7f8215 --- /dev/null +++ b/mysql-test/r/slave_net_timeout_basic.result @@ -0,0 +1,127 @@ +SET @start_global_value = @@global.slave_net_timeout; +SELECT @start_global_value; +@start_global_value +120 +'#--------------------FN_DYNVARS_146_01-------------------------#' +SET @@global.slave_net_timeout = 500000; +SET @@global.slave_net_timeout = DEFAULT; +SELECT @@global.slave_net_timeout; +@@global.slave_net_timeout +3600 +'#--------------------FN_DYNVARS_146_02-------------------------#' +SET @@global.slave_net_timeout = DEFAULT; +SELECT @@global.slave_net_timeout = 3600; +@@global.slave_net_timeout = 3600 +1 +'#--------------------FN_DYNVARS_146_03-------------------------#' +SET @@global.slave_net_timeout = 0; +Warnings: +Warning 1292 Truncated incorrect slave_net_timeout value: '0' +SELECT @@global.slave_net_timeout; +@@global.slave_net_timeout +1 +SET @@global.slave_net_timeout = 1; +SELECT @@global.slave_net_timeout; +@@global.slave_net_timeout +1 +SET @@global.slave_net_timeout = 15; +SELECT @@global.slave_net_timeout; +@@global.slave_net_timeout +15 +SET @@global.slave_net_timeout = 1024; +SELECT @@global.slave_net_timeout; +@@global.slave_net_timeout +1024 +SET @@global.slave_net_timeout = 3600+1; +SELECT @@global.slave_net_timeout; +@@global.slave_net_timeout +3601 +SET @@global.slave_net_timeout = 2147483648; +Warnings: +Warning 1292 Truncated incorrect slave_net_timeout value: '2147483648' +SELECT @@global.slave_net_timeout; +@@global.slave_net_timeout +31536000 +SET @@global.slave_net_timeout = 2147483648*2-1; +Warnings: +Warning 1292 Truncated incorrect slave_net_timeout value: '4294967295' +SELECT @@global.slave_net_timeout; +@@global.slave_net_timeout +31536000 +'#--------------------FN_DYNVARS_146_04-------------------------#' +SET @@slave_net_timeout = 2; +ERROR HY000: Variable 'slave_net_timeout' is a GLOBAL variable and should be set with SET GLOBAL +SET @@session.slave_net_timeout = 3; +ERROR HY000: Variable 'slave_net_timeout' is a GLOBAL variable and should be set with SET GLOBAL +SET @@local.slave_net_timeout = 4; +ERROR HY000: Variable 'slave_net_timeout' is a GLOBAL variable and should be set with SET GLOBAL +'#------------------FN_DYNVARS_146_05-----------------------#' +SET @@global.slave_net_timeout = -1; +Warnings: +Warning 1292 Truncated incorrect slave_net_timeout value: '0' +SELECT @@global.slave_net_timeout; +@@global.slave_net_timeout +1 +SET @@global.slave_net_timeout = -2147483648; +Warnings: +Warning 1292 Truncated incorrect slave_net_timeout value: '0' +SELECT @@global.slave_net_timeout; +@@global.slave_net_timeout +1 +SET @@global.slave_net_timeout = 2147483649*2; +Warnings: +Warning 1292 Truncated incorrect slave_net_timeout value: '4294967298' +SELECT @@global.slave_net_timeout; +@@global.slave_net_timeout +31536000 +SET @@global.slave_net_timeout = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@global.slave_net_timeout = 100s; +ERROR 42000: Incorrect argument type to variable 'slave_net_timeout' +SET @@global.slave_net_timeout = 7483649.56; +ERROR 42000: Incorrect argument type to variable 'slave_net_timeout' +SET @@global.slave_net_timeout = 0.6; +ERROR 42000: Incorrect argument type to variable 'slave_net_timeout' +'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +'#------------------FN_DYNVARS_146_06-----------------------#' +SET @@global.slave_net_timeout = 3000; +SELECT @@global.slave_net_timeout = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='slave_net_timeout'; +@@global.slave_net_timeout = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_146_07-----------------------#' +SELECT count(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='slave_net_timeout'; +count(VARIABLE_VALUE) +1 +'#------------------FN_DYNVARS_146_08-----------------------#' +SET @@global.slave_net_timeout = TRUE; +SELECT @@global.slave_net_timeout; +@@global.slave_net_timeout +1 +SET @@global.slave_net_timeout = FALSE; +Warnings: +Warning 1292 Truncated incorrect slave_net_timeout value: '0' +SELECT @@global.slave_net_timeout; +@@global.slave_net_timeout +1 +'#---------------------FN_DYNVARS_001_09----------------------#' +SET @@global.slave_net_timeout = 60*60; +SELECT @@slave_net_timeout = @@global.slave_net_timeout; +@@slave_net_timeout = @@global.slave_net_timeout +1 +'#---------------------FN_DYNVARS_001_10----------------------#' +SET slave_net_timeout = 2048; +ERROR HY000: Variable 'slave_net_timeout' is a GLOBAL variable and should be set with SET GLOBAL +SELECT slave_net_timeout; +ERROR 42S22: Unknown column 'slave_net_timeout' in 'field list' +SELECT @@slave_net_timeout; +@@slave_net_timeout +3600 +SET global slave_net_timeout = 99; +SET @@global.slave_net_timeout = @start_global_value; +SELECT @@global.slave_net_timeout; +@@global.slave_net_timeout +120 diff --git a/mysql-test/r/slave_transaction_retries_basic_32.result b/mysql-test/r/slave_transaction_retries_basic_32.result new file mode 100644 index 00000000000..5b77c500aa0 --- /dev/null +++ b/mysql-test/r/slave_transaction_retries_basic_32.result @@ -0,0 +1,119 @@ +SET @start_global_value = @@global.slave_transaction_retries; +SELECT @start_global_value; +@start_global_value +10 +'#--------------------FN_DYNVARS_149_01-------------------------#' +SET @@global.slave_transaction_retries = 50; +SET @@global.slave_transaction_retries = DEFAULT; +SELECT @@global.slave_transaction_retries; +@@global.slave_transaction_retries +10 +'#--------------------FN_DYNVARS_149_02-------------------------#' +SET @@global.slave_transaction_retries = DEFAULT; +SELECT @@global.slave_transaction_retries = 10; +@@global.slave_transaction_retries = 10 +1 +'#--------------------FN_DYNVARS_149_03-------------------------#' +SET @@global.slave_transaction_retries = 0; +SELECT @@global.slave_transaction_retries; +@@global.slave_transaction_retries +0 +SET @@global.slave_transaction_retries = 1; +SELECT @@global.slave_transaction_retries; +@@global.slave_transaction_retries +1 +SET @@global.slave_transaction_retries = 15; +SELECT @@global.slave_transaction_retries; +@@global.slave_transaction_retries +15 +SET @@global.slave_transaction_retries = 1024; +SELECT @@global.slave_transaction_retries; +@@global.slave_transaction_retries +1024 +SET @@global.slave_transaction_retries = 2147483648; +SELECT @@global.slave_transaction_retries; +@@global.slave_transaction_retries +2147483648 +SET @@global.slave_transaction_retries = 2147483648*2-1; +SELECT @@global.slave_transaction_retries; +@@global.slave_transaction_retries +4294967295 +SET @@global.slave_transaction_retries = 2147483649*2; +Warnings: +Warning 1292 Truncated incorrect slave_transaction_retries value: '4294967298' +SELECT @@global.slave_transaction_retries; +@@global.slave_transaction_retries +4294967295 +SET @@global.slave_transaction_retries = 4294967295; +SELECT @@global.slave_transaction_retries; +@@global.slave_transaction_retries +4294967295 +'#--------------------FN_DYNVARS_149_04-------------------------#' +SET @@slave_transaction_retries = 2; +ERROR HY000: Variable 'slave_transaction_retries' is a GLOBAL variable and should be set with SET GLOBAL +SET @@session.slave_transaction_retries = 3; +ERROR HY000: Variable 'slave_transaction_retries' is a GLOBAL variable and should be set with SET GLOBAL +SET @@local.slave_transaction_retries = 4; +ERROR HY000: Variable 'slave_transaction_retries' is a GLOBAL variable and should be set with SET GLOBAL +'#------------------FN_DYNVARS_149_05-----------------------#' +SET @@global.slave_transaction_retries = -1; +SELECT @@global.slave_transaction_retries; +@@global.slave_transaction_retries +0 +SET @@global.slave_transaction_retries = 2147483649*2147483649; +Warnings: +Warning 1292 Truncated incorrect slave_transaction_retries value: '4611686022722355201' +SELECT @@global.slave_transaction_retries; +@@global.slave_transaction_retries +4294967295 +'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +SET @@global.slave_transaction_retries = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@global.slave_transaction_retries = '100'; +ERROR 42000: Incorrect argument type to variable 'slave_transaction_retries' +SET @@global.slave_transaction_retries = 7483649.56; +ERROR 42000: Incorrect argument type to variable 'slave_transaction_retries' +SET @@global.slave_transaction_retries = ON; +ERROR 42000: Incorrect argument type to variable 'slave_transaction_retries' +SET @@global.slave_transaction_retries = OFF; +ERROR 42000: Incorrect argument type to variable 'slave_transaction_retries' +'#------------------FN_DYNVARS_149_06-----------------------#' +SET @@global.slave_transaction_retries = 3000; +SELECT @@global.slave_transaction_retries = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='slave_transaction_retries'; +@@global.slave_transaction_retries = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_149_07-----------------------#' +SELECT count(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='slave_transaction_retries'; +count(VARIABLE_VALUE) +1 +'#------------------FN_DYNVARS_149_08-----------------------#' +SET @@global.slave_transaction_retries = TRUE; +SELECT @@global.slave_transaction_retries; +@@global.slave_transaction_retries +1 +SET @@global.slave_transaction_retries = FALSE; +SELECT @@global.slave_transaction_retries; +@@global.slave_transaction_retries +0 +'#---------------------FN_DYNVARS_149_09----------------------#' +SET @@global.slave_transaction_retries = 60*60; +SELECT @@slave_transaction_retries = @@global.slave_transaction_retries; +@@slave_transaction_retries = @@global.slave_transaction_retries +1 +'#---------------------FN_DYNVARS_149_10----------------------#' +SET slave_transaction_retries = 2048; +ERROR HY000: Variable 'slave_transaction_retries' is a GLOBAL variable and should be set with SET GLOBAL +SELECT slave_transaction_retries; +ERROR 42S22: Unknown column 'slave_transaction_retries' in 'field list' +SELECT @@slave_transaction_retries; +@@slave_transaction_retries +3600 +SET global slave_transaction_retries = 99; +SET @@global.slave_transaction_retries = @start_global_value; +SELECT @@global.slave_transaction_retries; +@@global.slave_transaction_retries +10 diff --git a/mysql-test/r/slave_transaction_retries_basic_64.result b/mysql-test/r/slave_transaction_retries_basic_64.result new file mode 100644 index 00000000000..9434b14b238 --- /dev/null +++ b/mysql-test/r/slave_transaction_retries_basic_64.result @@ -0,0 +1,115 @@ +SET @start_global_value = @@global.slave_transaction_retries; +SELECT @start_global_value; +@start_global_value +10 +'#--------------------FN_DYNVARS_149_01-------------------------#' +SET @@global.slave_transaction_retries = 50; +SET @@global.slave_transaction_retries = DEFAULT; +SELECT @@global.slave_transaction_retries; +@@global.slave_transaction_retries +10 +'#--------------------FN_DYNVARS_149_02-------------------------#' +SET @@global.slave_transaction_retries = DEFAULT; +SELECT @@global.slave_transaction_retries = 10; +@@global.slave_transaction_retries = 10 +1 +'#--------------------FN_DYNVARS_149_03-------------------------#' +SET @@global.slave_transaction_retries = 0; +SELECT @@global.slave_transaction_retries; +@@global.slave_transaction_retries +0 +SET @@global.slave_transaction_retries = 1; +SELECT @@global.slave_transaction_retries; +@@global.slave_transaction_retries +1 +SET @@global.slave_transaction_retries = 15; +SELECT @@global.slave_transaction_retries; +@@global.slave_transaction_retries +15 +SET @@global.slave_transaction_retries = 1024; +SELECT @@global.slave_transaction_retries; +@@global.slave_transaction_retries +1024 +SET @@global.slave_transaction_retries = 2147483648; +SELECT @@global.slave_transaction_retries; +@@global.slave_transaction_retries +2147483648 +SET @@global.slave_transaction_retries = 2147483648*2-1; +SELECT @@global.slave_transaction_retries; +@@global.slave_transaction_retries +4294967295 +SET @@global.slave_transaction_retries = 2147483649*2; +SELECT @@global.slave_transaction_retries; +@@global.slave_transaction_retries +4294967298 +SET @@global.slave_transaction_retries = 4294967295; +SELECT @@global.slave_transaction_retries; +@@global.slave_transaction_retries +4294967295 +'#--------------------FN_DYNVARS_149_04-------------------------#' +SET @@slave_transaction_retries = 2; +ERROR HY000: Variable 'slave_transaction_retries' is a GLOBAL variable and should be set with SET GLOBAL +SET @@session.slave_transaction_retries = 3; +ERROR HY000: Variable 'slave_transaction_retries' is a GLOBAL variable and should be set with SET GLOBAL +SET @@local.slave_transaction_retries = 4; +ERROR HY000: Variable 'slave_transaction_retries' is a GLOBAL variable and should be set with SET GLOBAL +'#------------------FN_DYNVARS_149_05-----------------------#' +SET @@global.slave_transaction_retries = -1; +SELECT @@global.slave_transaction_retries; +@@global.slave_transaction_retries +0 +SET @@global.slave_transaction_retries = 2147483649*2147483649; +SELECT @@global.slave_transaction_retries; +@@global.slave_transaction_retries +4611686022722355201 +'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +SET @@global.slave_transaction_retries = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@global.slave_transaction_retries = '100'; +ERROR 42000: Incorrect argument type to variable 'slave_transaction_retries' +SET @@global.slave_transaction_retries = 7483649.56; +ERROR 42000: Incorrect argument type to variable 'slave_transaction_retries' +SET @@global.slave_transaction_retries = ON; +ERROR 42000: Incorrect argument type to variable 'slave_transaction_retries' +SET @@global.slave_transaction_retries = OFF; +ERROR 42000: Incorrect argument type to variable 'slave_transaction_retries' +'#------------------FN_DYNVARS_149_06-----------------------#' +SET @@global.slave_transaction_retries = 3000; +SELECT @@global.slave_transaction_retries = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='slave_transaction_retries'; +@@global.slave_transaction_retries = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_149_07-----------------------#' +SELECT count(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='slave_transaction_retries'; +count(VARIABLE_VALUE) +1 +'#------------------FN_DYNVARS_149_08-----------------------#' +SET @@global.slave_transaction_retries = TRUE; +SELECT @@global.slave_transaction_retries; +@@global.slave_transaction_retries +1 +SET @@global.slave_transaction_retries = FALSE; +SELECT @@global.slave_transaction_retries; +@@global.slave_transaction_retries +0 +'#---------------------FN_DYNVARS_149_09----------------------#' +SET @@global.slave_transaction_retries = 60*60; +SELECT @@slave_transaction_retries = @@global.slave_transaction_retries; +@@slave_transaction_retries = @@global.slave_transaction_retries +1 +'#---------------------FN_DYNVARS_149_10----------------------#' +SET slave_transaction_retries = 2048; +ERROR HY000: Variable 'slave_transaction_retries' is a GLOBAL variable and should be set with SET GLOBAL +SELECT slave_transaction_retries; +ERROR 42S22: Unknown column 'slave_transaction_retries' in 'field list' +SELECT @@slave_transaction_retries; +@@slave_transaction_retries +3600 +SET global slave_transaction_retries = 99; +SET @@global.slave_transaction_retries = @start_global_value; +SELECT @@global.slave_transaction_retries; +@@global.slave_transaction_retries +10 diff --git a/mysql-test/r/slow_launch_time_basic.result b/mysql-test/r/slow_launch_time_basic.result new file mode 100644 index 00000000000..c42942fba1a --- /dev/null +++ b/mysql-test/r/slow_launch_time_basic.result @@ -0,0 +1,130 @@ +SET @start_value = @@global.slow_launch_time; +SELECT @start_value; +@start_value +2 +'#--------------------FN_DYNVARS_150_01------------------------#' +SET @@global.slow_launch_time = 99; +SET @@global.slow_launch_time = DEFAULT; +SELECT @@global.slow_launch_time; +@@global.slow_launch_time +2 +'#---------------------FN_DYNVARS_150_02-------------------------#' +SET @@global.slow_launch_time = @start_value; +SELECT @@global.slow_launch_time = 2; +@@global.slow_launch_time = 2 +1 +'#--------------------FN_DYNVARS_150_03------------------------#' +SET @@global.slow_launch_time = 0; +SELECT @@global.slow_launch_time; +@@global.slow_launch_time +0 +SET @@global.slow_launch_time = 1; +SELECT @@global.slow_launch_time; +@@global.slow_launch_time +1 +SET @@global.slow_launch_time = 31536000; +SELECT @@global.slow_launch_time; +@@global.slow_launch_time +31536000 +SET @@global.slow_launch_time = 31535999; +SELECT @@global.slow_launch_time; +@@global.slow_launch_time +31535999 +SET @@global.slow_launch_time = 65536; +SELECT @@global.slow_launch_time; +@@global.slow_launch_time +65536 +'#--------------------FN_DYNVARS_150_04-------------------------#' +SET @@global.slow_launch_time = -1; +SELECT @@global.slow_launch_time; +@@global.slow_launch_time +0 +SET @@global.slow_launch_time = 31536001; +Warnings: +Warning 1292 Truncated incorrect slow_launch_time value: '31536001' +SELECT @@global.slow_launch_time; +@@global.slow_launch_time +31536000 +SET @@global.slow_launch_time = 10240022115; +Warnings: +Warning 1292 Truncated incorrect slow_launch_time value: '10240022115' +SELECT @@global.slow_launch_time; +@@global.slow_launch_time +31536000 +SET @@global.slow_launch_time = 10000.01; +ERROR 42000: Incorrect argument type to variable 'slow_launch_time' +SELECT @@global.slow_launch_time; +@@global.slow_launch_time +31536000 +SET @@global.slow_launch_time = -1024; +SELECT @@global.slow_launch_time; +@@global.slow_launch_time +0 +SET @@global.slow_launch_time = 42949672950; +Warnings: +Warning 1292 Truncated incorrect slow_launch_time value: '42949672950' +SELECT @@global.slow_launch_time; +@@global.slow_launch_time +31536000 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@global.slow_launch_time = ON; +ERROR 42000: Incorrect argument type to variable 'slow_launch_time' +SELECT @@global.slow_launch_time; +@@global.slow_launch_time +31536000 +SET @@global.slow_launch_time = 'test'; +ERROR 42000: Incorrect argument type to variable 'slow_launch_time' +SELECT @@global.slow_launch_time; +@@global.slow_launch_time +31536000 +'#-------------------FN_DYNVARS_150_05----------------------------#' +SET @@session.slow_launch_time = 0; +ERROR HY000: Variable 'slow_launch_time' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@slow_launch_time; +@@slow_launch_time +31536000 +'#----------------------FN_DYNVARS_150_06------------------------#' +SELECT @@global.slow_launch_time = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='slow_launch_time'; +@@global.slow_launch_time = VARIABLE_VALUE +1 +SELECT @@slow_launch_time = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='slow_launch_time'; +@@slow_launch_time = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_150_07----------------------#' +SET @@global.slow_launch_time = TRUE; +SELECT @@global.slow_launch_time; +@@global.slow_launch_time +1 +SET @@global.slow_launch_time = FALSE; +SELECT @@global.slow_launch_time; +@@global.slow_launch_time +0 +'#---------------------FN_DYNVARS_150_08----------------------#' +SET @@global.slow_launch_time = 1; +SELECT @@slow_launch_time = @@global.slow_launch_time; +@@slow_launch_time = @@global.slow_launch_time +1 +'#---------------------FN_DYNVARS_150_09----------------------#' +SET slow_launch_time = 1; +ERROR HY000: Variable 'slow_launch_time' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@slow_launch_time; +@@slow_launch_time +1 +SET local.slow_launch_time = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'slow_launch_time = 1' at line 1 +SELECT local.slow_launch_time; +ERROR 42S02: Unknown table 'local' in field list +SET global.slow_launch_time = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'slow_launch_time = 1' at line 1 +SELECT global.slow_launch_time; +ERROR 42S02: Unknown table 'global' in field list +SELECT slow_launch_time = @@session.slow_launch_time; +ERROR 42S22: Unknown column 'slow_launch_time' in 'field list' +SET @@global.slow_launch_time = @start_value; +SELECT @@global.slow_launch_time; +@@global.slow_launch_time +2 diff --git a/mysql-test/r/slow_launch_time_func.result b/mysql-test/r/slow_launch_time_func.result new file mode 100644 index 00000000000..766d7fb4dd9 --- /dev/null +++ b/mysql-test/r/slow_launch_time_func.result @@ -0,0 +1,37 @@ +SET @global_slow_launch_time = @@GLOBAL.slow_launch_time; +'#--------------------FN_DYNVARS_124_01-------------------------#' +** Connection default ** +SET @@GLOBAL.slow_launch_time=0; +SELECT @@GLOBAL.slow_launch_time; +@@GLOBAL.slow_launch_time +0 +** Connecting conn5 using username 'root' ** +** Connecting conn6 using username 'root' ** +** Connecting conn7 using username 'root' ** +** Connecting conn8 using username 'root' ** +** Connecting conn9 using username 'root' ** +** Connecting conn10 using username 'root' ** +** Connecting conn11 using username 'root' ** +** Connecting conn12 using username 'root' ** +** Connecting conn13 using username 'root' ** +** Connecting conn14 using username 'root' ** +** Connecting conn15 using username 'root' ** +** Connecting conn16 using username 'root' ** +show status like 'slow_launch_threads'; +Variable_name Value +Slow_launch_threads 12 +12 Expected +** Connection default ** +** Disconnecting conn5 ** +** Disconnecting conn6 ** +** Disconnecting conn7 ** +** Disconnecting conn8 ** +** Disconnecting conn9 ** +** Disconnecting conn10 ** +** Disconnecting conn11 ** +** Disconnecting conn12 ** +** Disconnecting conn13 ** +** Disconnecting conn14 ** +** Disconnecting conn15 ** +** Disconnecting conn16 ** +SET @@GLOBAL.slow_launch_time = @global_slow_launch_time; diff --git a/mysql-test/r/slow_query_log_basic.result b/mysql-test/r/slow_query_log_basic.result new file mode 100644 index 00000000000..716309aeaff --- /dev/null +++ b/mysql-test/r/slow_query_log_basic.result @@ -0,0 +1,94 @@ +SET @start_value = @@global.slow_query_log; +SELECT @start_value; +@start_value +1 +'#---------------------FN_DYNVARS_004_01-------------------------#' +SET @@global.slow_query_log = DEFAULT; +SELECT @@global.slow_query_log = 0; +@@global.slow_query_log = 0 +1 +'#--------------------FN_DYNVARS_004_02------------------------#' +SET @@global.slow_query_log = ON; +SELECT @@global.slow_query_log; +@@global.slow_query_log +1 +SET @@global.slow_query_log = OFF; +SELECT @@global.slow_query_log; +@@global.slow_query_log +0 +'#--------------------FN_DYNVARS_004_03-------------------------#' +SET @@global.slow_query_log = 2; +ERROR 42000: Variable 'slow_query_log' can't be set to the value of '2' +SET @@global.slow_query_log = -1; +ERROR 42000: Variable 'slow_query_log' can't be set to the value of '-1' +SET @@global.slow_query_log = TRUEF; +ERROR 42000: Variable 'slow_query_log' can't be set to the value of 'TRUEF' +SET @@global.slow_query_log = TRUE_F; +ERROR 42000: Variable 'slow_query_log' can't be set to the value of 'TRUE_F' +SET @@global.slow_query_log = FALSE0; +ERROR 42000: Variable 'slow_query_log' can't be set to the value of 'FALSE0' +SET @@global.slow_query_log = OON; +ERROR 42000: Variable 'slow_query_log' can't be set to the value of 'OON' +SET @@global.slow_query_log = ONN; +ERROR 42000: Variable 'slow_query_log' can't be set to the value of 'ONN' +SET @@global.slow_query_log = OOFF; +ERROR 42000: Variable 'slow_query_log' can't be set to the value of 'OOFF' +SET @@global.slow_query_log = 0FF; +ERROR 42000: Variable 'slow_query_log' can't be set to the value of '0FF' +SET @@global.slow_query_log = ' '; +ERROR 42000: Variable 'slow_query_log' can't be set to the value of ' ' +SET @@global.slow_query_log = " "; +ERROR 42000: Variable 'slow_query_log' can't be set to the value of ' ' +SET @@global.slow_query_log = ''; +ERROR 42000: Variable 'slow_query_log' can't be set to the value of '' +'#-------------------FN_DYNVARS_004_04----------------------------#' +SET @@session.slow_query_log = OFF; +ERROR HY000: Variable 'slow_query_log' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@session.slow_query_log; +ERROR HY000: Variable 'slow_query_log' is a GLOBAL variable +'#----------------------FN_DYNVARS_004_05------------------------#' +SELECT @@global.slow_query_log = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='slow_query_log'; +@@global.slow_query_log = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_004_06----------------------#' +SET @@global.slow_query_log = 0; +SELECT @@global.slow_query_log; +@@global.slow_query_log +0 +SET @@global.slow_query_log = 1; +SELECT @@global.slow_query_log; +@@global.slow_query_log +1 +'#---------------------FN_DYNVARS_004_07----------------------#' +SET @@global.slow_query_log = TRUE; +SELECT @@global.slow_query_log; +@@global.slow_query_log +1 +SET @@global.slow_query_log = FALSE; +SELECT @@global.slow_query_log; +@@global.slow_query_log +0 +'#---------------------FN_DYNVARS_004_08----------------------#' +SET @@global.slow_query_log = ON; +SELECT @@slow_query_log = @@global.slow_query_log; +@@slow_query_log = @@global.slow_query_log +1 +'#---------------------FN_DYNVARS_004_09----------------------#' +SET slow_query_log = ON; +ERROR HY000: Variable 'slow_query_log' is a GLOBAL variable and should be set with SET GLOBAL +SET local.slow_query_log = OFF; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'slow_query_log = OFF' at line 1 +SELECT local.slow_query_log; +ERROR 42S02: Unknown table 'local' in field list +SET global.slow_query_log = ON; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'slow_query_log = ON' at line 1 +SELECT global.slow_query_log; +ERROR 42S02: Unknown table 'global' in field list +SELECT slow_query_log = @@session.slow_query_log; +ERROR 42S22: Unknown column 'slow_query_log' in 'field list' +SET @@global.slow_query_log = @start_value; +SELECT @@global.slow_query_log; +@@global.slow_query_log +1 diff --git a/mysql-test/r/slow_query_log_file_basic.result b/mysql-test/r/slow_query_log_file_basic.result new file mode 100644 index 00000000000..29ee7430d51 --- /dev/null +++ b/mysql-test/r/slow_query_log_file_basic.result @@ -0,0 +1,19 @@ +SET @start_value = @@global.slow_query_log_file; +SELECT @start_value; +@start_value +slowtest.log +'#---------------------FN_DYNVARS_004_01-------------------------#' +SET @@global.slow_query_log_file = DEFAULT; +SELECT RIGHT(@@global.slow_query_log_file,15); +RIGHT(@@global.slow_query_log_file,15) +mysqld-slow.log +'#--------------------FN_DYNVARS_004_02------------------------#' +SET @@global.slow_query_log_file = mytest.log; +SET @@global.slow_query_log_file = 12; +ERROR 42000: Incorrect argument type to variable 'slow_query_log_file' +'#----------------------FN_DYNVARS_004_03------------------------#' +SELECT @@global.slow_query_log_file = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='slow_query_log_file'; +@@global.slow_query_log_file = VARIABLE_VALUE +1 diff --git a/mysql-test/r/slow_query_log_file_func.result b/mysql-test/r/slow_query_log_file_func.result new file mode 100644 index 00000000000..61d71f38891 --- /dev/null +++ b/mysql-test/r/slow_query_log_file_func.result @@ -0,0 +1,3 @@ +'#--------------------FN_DYNVARS_018_01-------------------------#' +## Checking if my_slow_test.log exist in servers datadir ## +## This case should pass because we have set this filename in opt file ## diff --git a/mysql-test/r/slow_query_log_func.result b/mysql-test/r/slow_query_log_func.result new file mode 100644 index 00000000000..83edb4c187e --- /dev/null +++ b/mysql-test/r/slow_query_log_func.result @@ -0,0 +1,24 @@ +SET @global_slow_query_log = @@global.slow_query_log; +SET @global_log_output = @@global.log_output; +SET @@session.long_query_time=1; +SET @@global.log_output = 'TABLE'; +'----When slow_query_log = OFF----' +SET @@global.slow_query_log = OFF; +TRUNCATE mysql.slow_log; +SELECT sleep(2); +sleep(2) +0 +SELECT count(*) FROM mysql.slow_log; +count(*) +0 +'----When slow_query_log = ON-----' +SET @@global.slow_query_log = ON; +TRUNCATE mysql.slow_log; +SELECT sleep(2); +sleep(2) +0 +SELECT count(*) FROM mysql.slow_log; +count(*) +1 +SET @@global.log_output = @global_log_output; +SET @global.slow_query_log = @global_slow_query_log; diff --git a/mysql-test/r/sort_buffer_size_basic_32.result b/mysql-test/r/sort_buffer_size_basic_32.result new file mode 100644 index 00000000000..09a1fe59046 --- /dev/null +++ b/mysql-test/r/sort_buffer_size_basic_32.result @@ -0,0 +1,193 @@ +SET @start_global_value = @@global.sort_buffer_size; +SELECT @start_global_value; +@start_global_value +262144 +SET @start_session_value = @@session.sort_buffer_size; +SELECT @start_session_value; +@start_session_value +262144 +'#--------------------FN_DYNVARS_151_01-------------------------#' +SET @@global.sort_buffer_size = 1000; +Warnings: +Warning 1292 Truncated incorrect sort_buffer_size value: '1000' +SET @@global.sort_buffer_size = DEFAULT; +SELECT @@global.sort_buffer_size= 2097144 OR @@global.sort_buffer_size= 2097116; +@@global.sort_buffer_size= 2097144 OR @@global.sort_buffer_size= 2097116 +1 +SET @@session.sort_buffer_size = 2000; +Warnings: +Warning 1292 Truncated incorrect sort_buffer_size value: '2000' +SET @@session.sort_buffer_size = DEFAULT; +SELECT @@session.sort_buffer_size= 2097144 OR @@session.sort_buffer_size= 2097116; +@@session.sort_buffer_size= 2097144 OR @@session.sort_buffer_size= 2097116 +1 +'#--------------------FN_DYNVARS_151_02-------------------------#' +SET @@global.sort_buffer_size = DEFAULT; +SELECT @@global.sort_buffer_size = 2097144 OR @@global.sort_buffer_size= 2097116; +@@global.sort_buffer_size = 2097144 OR @@global.sort_buffer_size= 2097116 +1 +SET @@session.sort_buffer_size = DEFAULT; +SELECT @@session.sort_buffer_size = 2097144 OR @@session.sort_buffer_size= 2097116; +@@session.sort_buffer_size = 2097144 OR @@session.sort_buffer_size= 2097116 +1 +'#--------------------FN_DYNVARS_151_03-------------------------#' +SET @@global.sort_buffer_size = 32776; +Warnings: +Warning 1292 Truncated incorrect sort_buffer_size value: '32776' +SELECT @@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804; +@@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804 +1 +SET @@global.sort_buffer_size = 32777; +Warnings: +Warning 1292 Truncated incorrect sort_buffer_size value: '32777' +SELECT @@global.sort_buffer_size= 32777 OR @@global.sort_buffer_size= 32804; +@@global.sort_buffer_size= 32777 OR @@global.sort_buffer_size= 32804 +1 +SET @@global.sort_buffer_size = 4294967295; +SELECT @@global.sort_buffer_size; +@@global.sort_buffer_size +4294967295 +SET @@global.sort_buffer_size = 4294967294; +SELECT @@global.sort_buffer_size; +@@global.sort_buffer_size +4294967294 +'Bug# 34877: Invalid Values are showing in variable on assigning valid values.'; +'#--------------------FN_DYNVARS_151_04-------------------------#' +SET @@session.sort_buffer_size = 32776; +Warnings: +Warning 1292 Truncated incorrect sort_buffer_size value: '32776' +SELECT @@session.sort_buffer_size= 32776 OR @@session.sort_buffer_size= 32804; +@@session.sort_buffer_size= 32776 OR @@session.sort_buffer_size= 32804 +1 +SET @@session.sort_buffer_size = 32777; +Warnings: +Warning 1292 Truncated incorrect sort_buffer_size value: '32777' +SELECT @@session.sort_buffer_size= 32777 OR @@session.sort_buffer_size= 32804; +@@session.sort_buffer_size= 32777 OR @@session.sort_buffer_size= 32804 +1 +SET @@session.sort_buffer_size = 4294967295; +SELECT @@session.sort_buffer_size; +@@session.sort_buffer_size +4294967295 +SET @@session.sort_buffer_size = 4294967294; +SELECT @@session.sort_buffer_size; +@@session.sort_buffer_size +4294967294 +'#------------------FN_DYNVARS_151_05-----------------------#' +SET @@global.sort_buffer_size = 32775; +Warnings: +Warning 1292 Truncated incorrect sort_buffer_size value: '32775' +SELECT @@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804; +@@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804 +1 +SET @@global.sort_buffer_size = -1024; +Warnings: +Warning 1292 Truncated incorrect sort_buffer_size value: '0' +SELECT @@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804; +@@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804 +1 +SET @@global.sort_buffer_size = 4294967296; +Warnings: +Warning 1292 Truncated incorrect sort_buffer_size value: '4294967296' +SELECT @@global.sort_buffer_size; +@@global.sort_buffer_size +4294967295 +SET @@global.sort_buffer_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.sort_buffer_size; +@@global.sort_buffer_size +4294967295 +SET @@global.sort_buffer_size = test; +ERROR 42000: Incorrect argument type to variable 'sort_buffer_size' +SELECT @@global.sort_buffer_size; +@@global.sort_buffer_size +4294967295 +SET @@session.sort_buffer_size = 32775; +Warnings: +Warning 1292 Truncated incorrect sort_buffer_size value: '32775' +SELECT @@session.sort_buffer_size= 32776 OR @@session.sort_buffer_size= 32804; +@@session.sort_buffer_size= 32776 OR @@session.sort_buffer_size= 32804 +1 +SET @@session.sort_buffer_size = -2; +Warnings: +Warning 1292 Truncated incorrect sort_buffer_size value: '0' +SELECT @@session.sort_buffer_size= 32776 OR @@session.sort_buffer_size= 32804; +@@session.sort_buffer_size= 32776 OR @@session.sort_buffer_size= 32804 +1 +SET @@session.sort_buffer_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.sort_buffer_size = 4294967296; +Warnings: +Warning 1292 Truncated incorrect sort_buffer_size value: '4294967296' +SELECT @@session.sort_buffer_size; +@@session.sort_buffer_size +4294967295 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@session.sort_buffer_size = test; +ERROR 42000: Incorrect argument type to variable 'sort_buffer_size' +SELECT @@session.sort_buffer_size; +@@session.sort_buffer_size +4294967295 +'#------------------FN_DYNVARS_151_06-----------------------#' +SELECT @@global.sort_buffer_size = VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='sort_buffer_size'; +@@global.sort_buffer_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_151_07-----------------------#' +SELECT @@session.sort_buffer_size = VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='sort_buffer_size'; +@@session.sort_buffer_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_151_08-----------------------#' +SET @@global.sort_buffer_size = TRUE; +Warnings: +Warning 1292 Truncated incorrect sort_buffer_size value: '1' +SELECT @@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804; +@@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804 +1 +SET @@global.sort_buffer_size = FALSE; +Warnings: +Warning 1292 Truncated incorrect sort_buffer_size value: '0' +SELECT @@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804; +@@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804 +1 +'Bug: Errors should be displayed on assigning TRUE/FALSE to variable' +'#---------------------FN_DYNVARS_151_09----------------------#' +SET @@global.sort_buffer_size = 9000; +Warnings: +Warning 1292 Truncated incorrect sort_buffer_size value: '9000' +SELECT @@sort_buffer_size = @@global.sort_buffer_size; +@@sort_buffer_size = @@global.sort_buffer_size +0 +'#---------------------FN_DYNVARS_151_10----------------------#' +SET @@sort_buffer_size = 9000; +Warnings: +Warning 1292 Truncated incorrect sort_buffer_size value: '9000' +SELECT @@sort_buffer_size = @@local.sort_buffer_size; +@@sort_buffer_size = @@local.sort_buffer_size +1 +SELECT @@local.sort_buffer_size = @@session.sort_buffer_size; +@@local.sort_buffer_size = @@session.sort_buffer_size +1 +'#---------------------FN_DYNVARS_151_11----------------------#' +SET sort_buffer_size = 9100; +Warnings: +Warning 1292 Truncated incorrect sort_buffer_size value: '9100' +SELECT @sort_buffer_size= 32776 OR @@sort_buffer_size= 32804; +@sort_buffer_size= 32776 OR @@sort_buffer_size= 32804 +1 +SELECT @@sort_buffer_size; +@@sort_buffer_size +32804 +SELECT local.sort_buffer_size; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.sort_buffer_size; +ERROR 42S02: Unknown table 'session' in field list +SELECT sort_buffer_size = @@session.sort_buffer_size; +ERROR 42S22: Unknown column 'sort_buffer_size' in 'field list' +SET @@global.sort_buffer_size = @start_global_value; +SELECT @@global.sort_buffer_size; +@@global.sort_buffer_size +262144 +SET @@session.sort_buffer_size = @start_session_value; +SELECT @@session.sort_buffer_size; +@@session.sort_buffer_size +262144 diff --git a/mysql-test/r/sort_buffer_size_basic_64.result b/mysql-test/r/sort_buffer_size_basic_64.result new file mode 100644 index 00000000000..e9bd14abc67 --- /dev/null +++ b/mysql-test/r/sort_buffer_size_basic_64.result @@ -0,0 +1,189 @@ +SET @start_global_value = @@global.sort_buffer_size; +SELECT @start_global_value; +@start_global_value +262144 +SET @start_session_value = @@session.sort_buffer_size; +SELECT @start_session_value; +@start_session_value +262144 +'#--------------------FN_DYNVARS_151_01-------------------------#' +SET @@global.sort_buffer_size = 1000; +Warnings: +Warning 1292 Truncated incorrect sort_buffer_size value: '1000' +SET @@global.sort_buffer_size = DEFAULT; +SELECT @@global.sort_buffer_size= 2097144 OR @@global.sort_buffer_size= 2097116; +@@global.sort_buffer_size= 2097144 OR @@global.sort_buffer_size= 2097116 +1 +SET @@session.sort_buffer_size = 2000; +Warnings: +Warning 1292 Truncated incorrect sort_buffer_size value: '2000' +SET @@session.sort_buffer_size = DEFAULT; +SELECT @@session.sort_buffer_size= 2097144 OR @@session.sort_buffer_size= 2097116; +@@session.sort_buffer_size= 2097144 OR @@session.sort_buffer_size= 2097116 +1 +'#--------------------FN_DYNVARS_151_02-------------------------#' +SET @@global.sort_buffer_size = DEFAULT; +SELECT @@global.sort_buffer_size = 2097144 OR @@global.sort_buffer_size= 2097116; +@@global.sort_buffer_size = 2097144 OR @@global.sort_buffer_size= 2097116 +1 +SET @@session.sort_buffer_size = DEFAULT; +SELECT @@session.sort_buffer_size = 2097144 OR @@session.sort_buffer_size= 2097116; +@@session.sort_buffer_size = 2097144 OR @@session.sort_buffer_size= 2097116 +1 +'#--------------------FN_DYNVARS_151_03-------------------------#' +SET @@global.sort_buffer_size = 32776; +Warnings: +Warning 1292 Truncated incorrect sort_buffer_size value: '32776' +SELECT @@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804; +@@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804 +1 +SET @@global.sort_buffer_size = 32777; +Warnings: +Warning 1292 Truncated incorrect sort_buffer_size value: '32777' +SELECT @@global.sort_buffer_size= 32777 OR @@global.sort_buffer_size= 32804; +@@global.sort_buffer_size= 32777 OR @@global.sort_buffer_size= 32804 +1 +SET @@global.sort_buffer_size = 4294967295; +SELECT @@global.sort_buffer_size; +@@global.sort_buffer_size +4294967295 +SET @@global.sort_buffer_size = 4294967294; +SELECT @@global.sort_buffer_size; +@@global.sort_buffer_size +4294967294 +'Bug# 34877: Invalid Values are showing in variable on assigning valid values.'; +'#--------------------FN_DYNVARS_151_04-------------------------#' +SET @@session.sort_buffer_size = 32776; +Warnings: +Warning 1292 Truncated incorrect sort_buffer_size value: '32776' +SELECT @@session.sort_buffer_size= 32776 OR @@session.sort_buffer_size= 32804; +@@session.sort_buffer_size= 32776 OR @@session.sort_buffer_size= 32804 +1 +SET @@session.sort_buffer_size = 32777; +Warnings: +Warning 1292 Truncated incorrect sort_buffer_size value: '32777' +SELECT @@session.sort_buffer_size= 32777 OR @@session.sort_buffer_size= 32804; +@@session.sort_buffer_size= 32777 OR @@session.sort_buffer_size= 32804 +1 +SET @@session.sort_buffer_size = 4294967295; +SELECT @@session.sort_buffer_size; +@@session.sort_buffer_size +4294967295 +SET @@session.sort_buffer_size = 4294967294; +SELECT @@session.sort_buffer_size; +@@session.sort_buffer_size +4294967294 +'#------------------FN_DYNVARS_151_05-----------------------#' +SET @@global.sort_buffer_size = 32775; +Warnings: +Warning 1292 Truncated incorrect sort_buffer_size value: '32775' +SELECT @@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804; +@@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804 +1 +SET @@global.sort_buffer_size = -1024; +Warnings: +Warning 1292 Truncated incorrect sort_buffer_size value: '0' +SELECT @@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804; +@@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804 +1 +SET @@global.sort_buffer_size = 4294967296; +SELECT @@global.sort_buffer_size; +@@global.sort_buffer_size +4294967296 +SET @@global.sort_buffer_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SELECT @@global.sort_buffer_size; +@@global.sort_buffer_size +4294967296 +SET @@global.sort_buffer_size = test; +ERROR 42000: Incorrect argument type to variable 'sort_buffer_size' +SELECT @@global.sort_buffer_size; +@@global.sort_buffer_size +4294967296 +SET @@session.sort_buffer_size = 32775; +Warnings: +Warning 1292 Truncated incorrect sort_buffer_size value: '32775' +SELECT @@session.sort_buffer_size= 32776 OR @@session.sort_buffer_size= 32804; +@@session.sort_buffer_size= 32776 OR @@session.sort_buffer_size= 32804 +1 +SET @@session.sort_buffer_size = -2; +Warnings: +Warning 1292 Truncated incorrect sort_buffer_size value: '0' +SELECT @@session.sort_buffer_size= 32776 OR @@session.sort_buffer_size= 32804; +@@session.sort_buffer_size= 32776 OR @@session.sort_buffer_size= 32804 +1 +SET @@session.sort_buffer_size = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.sort_buffer_size = 4294967296; +SELECT @@session.sort_buffer_size; +@@session.sort_buffer_size +4294967296 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@session.sort_buffer_size = test; +ERROR 42000: Incorrect argument type to variable 'sort_buffer_size' +SELECT @@session.sort_buffer_size; +@@session.sort_buffer_size +4294967296 +'#------------------FN_DYNVARS_151_06-----------------------#' +SELECT @@global.sort_buffer_size = VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='sort_buffer_size'; +@@global.sort_buffer_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_151_07-----------------------#' +SELECT @@session.sort_buffer_size = VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='sort_buffer_size'; +@@session.sort_buffer_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_151_08-----------------------#' +SET @@global.sort_buffer_size = TRUE; +Warnings: +Warning 1292 Truncated incorrect sort_buffer_size value: '1' +SELECT @@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804; +@@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804 +1 +SET @@global.sort_buffer_size = FALSE; +Warnings: +Warning 1292 Truncated incorrect sort_buffer_size value: '0' +SELECT @@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804; +@@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804 +1 +'Bug: Errors should be displayed on assigning TRUE/FALSE to variable' +'#---------------------FN_DYNVARS_151_09----------------------#' +SET @@global.sort_buffer_size = 9000; +Warnings: +Warning 1292 Truncated incorrect sort_buffer_size value: '9000' +SELECT @@sort_buffer_size = @@global.sort_buffer_size; +@@sort_buffer_size = @@global.sort_buffer_size +0 +'#---------------------FN_DYNVARS_151_10----------------------#' +SET @@sort_buffer_size = 9000; +Warnings: +Warning 1292 Truncated incorrect sort_buffer_size value: '9000' +SELECT @@sort_buffer_size = @@local.sort_buffer_size; +@@sort_buffer_size = @@local.sort_buffer_size +1 +SELECT @@local.sort_buffer_size = @@session.sort_buffer_size; +@@local.sort_buffer_size = @@session.sort_buffer_size +1 +'#---------------------FN_DYNVARS_151_11----------------------#' +SET sort_buffer_size = 9100; +Warnings: +Warning 1292 Truncated incorrect sort_buffer_size value: '9100' +SELECT @sort_buffer_size= 32776 OR @@sort_buffer_size= 32804; +@sort_buffer_size= 32776 OR @@sort_buffer_size= 32804 +1 +SELECT @@sort_buffer_size; +@@sort_buffer_size +32804 +SELECT local.sort_buffer_size; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.sort_buffer_size; +ERROR 42S02: Unknown table 'session' in field list +SELECT sort_buffer_size = @@session.sort_buffer_size; +ERROR 42S22: Unknown column 'sort_buffer_size' in 'field list' +SET @@global.sort_buffer_size = @start_global_value; +SELECT @@global.sort_buffer_size; +@@global.sort_buffer_size +262144 +SET @@session.sort_buffer_size = @start_session_value; +SELECT @@session.sort_buffer_size; +@@session.sort_buffer_size +262144 diff --git a/mysql-test/r/sp.result b/mysql-test/r/sp.result index ab6f5c27db3..c39cd316312 100644 --- a/mysql-test/r/sp.result +++ b/mysql-test/r/sp.result @@ -2446,7 +2446,8 @@ show errors; show columns from t1; show keys from t1; show open tables like 'foo'; -show privileges; +# Removed because result will differ in embedded mode. +#show privileges; show status like 'foo'; show tables like 'foo'; show variables like 'foo'; @@ -2472,36 +2473,6 @@ id char(16) NO data int(11) NO NULL Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Database Table In_use Name_locked -Privilege Context Comment -Alter Tables To alter the table -Alter routine Functions,Procedures To alter or drop stored functions/procedures -Create Databases,Tables,Indexes To create new databases and tables -Create routine Functions,Procedures To use CREATE FUNCTION/PROCEDURE -Create temporary tables Databases To use CREATE TEMPORARY TABLE -Create view Tables To create new views -Create user Server Admin To create new users -Delete Tables To delete existing rows -Drop Databases,Tables To drop databases, tables, and views -Event Server Admin To create, alter, drop and execute events -Execute Functions,Procedures To execute stored routines -File File access on server To read and write files on the server -Grant option Databases,Tables,Functions,Procedures To give to other users those privileges you possess -Index Tables To create or drop indexes -Insert Tables To insert data into tables -Lock tables Databases To use LOCK TABLES (together with SELECT privilege) -Process Server Admin To view the plain text of currently executing queries -References Databases,Tables To have references on tables -Reload Server Admin To reload or refresh tables, logs and privileges -Replication client Server Admin To ask where the slave or master servers are -Replication slave Server Admin To read binary log events from the master -Select Tables To retrieve rows from table -Show databases Server Admin To see all databases with SHOW DATABASES -Show view Tables To see views with SHOW CREATE VIEW -Shutdown Server Admin To shut down the server -Super Server Admin To use KILL thread, SET GLOBAL, CHANGE MASTER, etc. -Trigger Tables To use triggers -Update Tables To update existing rows -Usage Server Admin No privileges - allow connect only Variable_name Value Tables_in_test (foo) Variable_name Value @@ -2526,36 +2497,6 @@ id char(16) NO data int(11) NO NULL Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Database Table In_use Name_locked -Privilege Context Comment -Alter Tables To alter the table -Alter routine Functions,Procedures To alter or drop stored functions/procedures -Create Databases,Tables,Indexes To create new databases and tables -Create routine Functions,Procedures To use CREATE FUNCTION/PROCEDURE -Create temporary tables Databases To use CREATE TEMPORARY TABLE -Create view Tables To create new views -Create user Server Admin To create new users -Delete Tables To delete existing rows -Drop Databases,Tables To drop databases, tables, and views -Event Server Admin To create, alter, drop and execute events -Execute Functions,Procedures To execute stored routines -File File access on server To read and write files on the server -Grant option Databases,Tables,Functions,Procedures To give to other users those privileges you possess -Index Tables To create or drop indexes -Insert Tables To insert data into tables -Lock tables Databases To use LOCK TABLES (together with SELECT privilege) -Process Server Admin To view the plain text of currently executing queries -References Databases,Tables To have references on tables -Reload Server Admin To reload or refresh tables, logs and privileges -Replication client Server Admin To ask where the slave or master servers are -Replication slave Server Admin To read binary log events from the master -Select Tables To retrieve rows from table -Show databases Server Admin To see all databases with SHOW DATABASES -Show view Tables To see views with SHOW CREATE VIEW -Shutdown Server Admin To shut down the server -Super Server Admin To use KILL thread, SET GLOBAL, CHANGE MASTER, etc. -Trigger Tables To use triggers -Update Tables To update existing rows -Usage Server Admin No privileges - allow connect only Variable_name Value Tables_in_test (foo) Variable_name Value diff --git a/mysql-test/r/sql_auto_is_null_basic.result b/mysql-test/r/sql_auto_is_null_basic.result new file mode 100644 index 00000000000..b3a3eecd93a --- /dev/null +++ b/mysql-test/r/sql_auto_is_null_basic.result @@ -0,0 +1,54 @@ +'#---------------------BS_STVARS_044_01----------------------#' +SELECT COUNT(@@SESSION.sql_auto_is_null); +COUNT(@@SESSION.sql_auto_is_null) +1 +1 Expected +'#---------------------BS_STVARS_044_02----------------------#' +SET @@SESSION.sql_auto_is_null=1; +"BUG:It should give error on setting this variable as it is readonly variable" +Expected error 'Read only variable' +SELECT COUNT(@@SESSION.sql_auto_is_null); +COUNT(@@SESSION.sql_auto_is_null) +1 +1 Expected +'#---------------------BS_STVARS_044_03----------------------#' +SELECT @@SESSION.sql_auto_is_null = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_auto_is_null'; +@@SESSION.sql_auto_is_null = VARIABLE_VALUE +0 +1 Expected +SELECT COUNT(@@SESSION.sql_auto_is_null); +COUNT(@@SESSION.sql_auto_is_null) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_auto_is_null'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_044_04----------------------#' +SELECT @@sql_auto_is_null = @@SESSION.sql_auto_is_null; +@@sql_auto_is_null = @@SESSION.sql_auto_is_null +1 +1 Expected +'#---------------------BS_STVARS_044_05----------------------#' +SELECT COUNT(@@sql_auto_is_null); +COUNT(@@sql_auto_is_null) +1 +1 Expected +SELECT COUNT(@@local.sql_auto_is_null); +COUNT(@@local.sql_auto_is_null) +1 +1 Expected +SELECT COUNT(@@SESSION.sql_auto_is_null); +COUNT(@@SESSION.sql_auto_is_null) +1 +1 Expected +SELECT COUNT(@@GLOBAL.sql_auto_is_null); +ERROR HY000: Variable 'sql_auto_is_null' is a SESSION variable +Expected error 'Variable is a SESSION variable' +SELECT COUNT(sql_auto_is_null = @@GLOBAL.sql_auto_is_null); +ERROR 42S22: Unknown column 'sql_auto_is_null' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/sql_big_selects_basic.result b/mysql-test/r/sql_big_selects_basic.result new file mode 100644 index 00000000000..1171382380d --- /dev/null +++ b/mysql-test/r/sql_big_selects_basic.result @@ -0,0 +1,103 @@ +SET @session_start_value = @@session.sql_big_selects; +SELECT @session_start_value; +@session_start_value +1 +'#--------------------FN_DYNVARS_153_01------------------------#' +SET @@session.sql_big_selects = 0; +SET @@session.sql_big_selects = DEFAULT; +SELECT @@session.sql_big_selects; +@@session.sql_big_selects +0 +'#---------------------FN_DYNVARS_153_02-------------------------#' +SET sql_big_selects = 1; +SELECT @@sql_big_selects; +@@sql_big_selects +1 +SELECT session.sql_big_selects; +ERROR 42S02: Unknown table 'session' in field list +SELECT local.sql_big_selects; +ERROR 42S02: Unknown table 'local' in field list +SET session sql_big_selects = 0; +SELECT @@session.sql_big_selects; +@@session.sql_big_selects +0 +'#--------------------FN_DYNVARS_153_03------------------------#' +SET @@session.sql_big_selects = 0; +SELECT @@session.sql_big_selects; +@@session.sql_big_selects +0 +SET @@session.sql_big_selects = 1; +SELECT @@session.sql_big_selects; +@@session.sql_big_selects +1 +'#--------------------FN_DYNVARS_153_04-------------------------#' +SET @@session.sql_big_selects = -1; +ERROR 42000: Variable 'sql_big_selects' can't be set to the value of '-1' +SET @@session.sql_big_selects = 2; +ERROR 42000: Variable 'sql_big_selects' can't be set to the value of '2' +SET @@session.sql_big_selects = "T"; +ERROR 42000: Variable 'sql_big_selects' can't be set to the value of 'T' +SET @@session.sql_big_selects = "Y"; +ERROR 42000: Variable 'sql_big_selects' can't be set to the value of 'Y' +SET @@session.sql_big_selects = TRÜE; +ERROR 42000: Variable 'sql_big_selects' can't be set to the value of 'TRÜE' +SET @@session.sql_big_selects = ÕN; +ERROR 42000: Variable 'sql_big_selects' can't be set to the value of 'ÕN' +SET @@session.sql_big_selects = OF; +SELECT @@session.sql_big_selects; +@@session.sql_big_selects +0 +'Bug # 34828: OF is taken as OFF and a value of 0 is set.' +SET @@session.sql_big_selects = ÓFF; +ERROR 42000: Variable 'sql_big_selects' can't be set to the value of 'ÓFF' +SET @@session.sql_big_selects = '¹'; +ERROR 42000: Variable 'sql_big_selects' can't be set to the value of '¹' +SET @@session.sql_big_selects = NO; +ERROR 42000: Variable 'sql_big_selects' can't be set to the value of 'NO' +'#-------------------FN_DYNVARS_153_05----------------------------#' +SET @@global.sql_big_selects = 0; +ERROR HY000: Variable 'sql_big_selects' is a SESSION variable and can't be used with SET GLOBAL +SELECT @@global.sql_big_selects; +ERROR HY000: Variable 'sql_big_selects' is a SESSION variable +'#----------------------FN_DYNVARS_153_06------------------------#' +SELECT count(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='sql_big_selects'; +count(VARIABLE_VALUE) +1 +'#----------------------FN_DYNVARS_153_07------------------------#' +SELECT @@session.sql_big_selects = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_big_selects'; +@@session.sql_big_selects = VARIABLE_VALUE +1 +SELECT @@session.sql_big_selects; +@@session.sql_big_selects +0 +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_big_selects'; +VARIABLE_VALUE +OFF +'#---------------------FN_DYNVARS_153_08-------------------------#' +SET @@session.sql_big_selects = OFF; +SELECT @@session.sql_big_selects; +@@session.sql_big_selects +0 +SET @@session.sql_big_selects = ON; +SELECT @@session.sql_big_selects; +@@session.sql_big_selects +1 +'#---------------------FN_DYNVARS_153_09----------------------#' +SET @@session.sql_big_selects = TRUE; +SELECT @@session.sql_big_selects; +@@session.sql_big_selects +1 +SET @@session.sql_big_selects = FALSE; +SELECT @@session.sql_big_selects; +@@session.sql_big_selects +0 +SET @@session.sql_big_selects = @session_start_value; +SELECT @@session.sql_big_selects; +@@session.sql_big_selects +1 diff --git a/mysql-test/r/sql_big_selects_func.result b/mysql-test/r/sql_big_selects_func.result new file mode 100644 index 00000000000..fc7e1f32e00 --- /dev/null +++ b/mysql-test/r/sql_big_selects_func.result @@ -0,0 +1,74 @@ +** Setup ** + +SET @session_sql_big_selects = @@SESSION.sql_big_selects; +SET @session_max_join_size = @@SESSION.max_join_size; +SET @global_max_join_size = @@GLOBAL.max_join_size; +SET SQL_MAX_JOIN_SIZE=9; +CREATE TEMPORARY TABLE t1(a varchar(20) not null, b varchar(20)); +CREATE TEMPORARY TABLE t2(a varchar(20) null, b varchar(20)); +INSERT INTO t1 VALUES('aa','bb'); +INSERT INTO t1 VALUES('aa1','bb'); +INSERT INTO t1 VALUES('aa2','bb'); +INSERT INTO t1 VALUES('aa3','bb'); +INSERT INTO t1 VALUES('aa4','bb'); +INSERT INTO t2 VALUES('aa','bb'); +INSERT INTO t2 VALUES('aa1','bb'); +INSERT INTO t2 VALUES('aa2','bb'); +INSERT INTO t2 VALUES('aa3','bb'); +INSERT INTO t2 VALUES('aa4','bb'); +'#--------------------FN_DYNVARS_154_01-------------------------#' +Expected error "Too big select" +SELECT * FROM t1 INNER JOIN t2 ON t1.a = t2.a; +ERROR 42000: The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET SQL_MAX_JOIN_SIZE=# if the SELECT is okay +Expected error The SELECT would examine more than MAX_JOIN_SIZE rows. +'#--------------------FN_DYNVARS_154_02-------------------------#' +SET SESSION SQL_BIG_SELECTS = 1; +SELECT * FROM t1 INNER JOIN t2 ON t1.a = t2.a; +a b a b +aa bb aa bb +aa1 bb aa1 bb +aa2 bb aa2 bb +aa3 bb aa3 bb +aa4 bb aa4 bb +This should work +SET SESSION SQL_BIG_SELECTS = 0; +DELETE FROM t2 WHERE a = 'aa4'; +SELECT * FROM t1 INNER JOIN t2 ON t1.a = t2.a; +a b a b +aa bb aa bb +aa1 bb aa1 bb +aa2 bb aa2 bb +aa3 bb aa3 bb +This should work +'#--------------------FN_DYNVARS_154_03-------------------------#' +** Connecting con_int1 using root ** +** Connection con_int1 ** +SELECT @@SESSION.sql_big_selects; +@@SESSION.sql_big_selects +1 +1 Expected +SET SESSION sql_big_selects = 0; +** Connecting con_int2 using root ** +** Connection con_int2 ** +SELECT @@SESSION.sql_big_selects; +@@SESSION.sql_big_selects +1 +1 Expected +SET SESSION sql_big_selects = 1; +** Connection con_int1 ** +SELECT @@SESSION.sql_big_selects; +@@SESSION.sql_big_selects +0 +0 Expected +** Connection con_int2 ** +SELECT @@SESSION.sql_big_selects; +@@SESSION.sql_big_selects +1 +1 Expected +** Connection default ** +Disconnecting Connections con_int1, con_int2 +SET @@SESSION.sql_big_selects = @session_sql_big_selects; +SET @@SESSION.max_join_size = @session_max_join_size; +SET @@GLOBAL.max_join_size = @global_max_join_size; +DROP TABLE t1; +DROP TABLE t2; diff --git a/mysql-test/r/sql_big_tables_basic.result b/mysql-test/r/sql_big_tables_basic.result new file mode 100644 index 00000000000..bce14b2aba2 --- /dev/null +++ b/mysql-test/r/sql_big_tables_basic.result @@ -0,0 +1,108 @@ +SET @session_start_value = @@session.sql_big_tables; +SELECT @session_start_value; +@session_start_value +0 +'#--------------------FN_DYNVARS_154_01------------------------#' +SET @@session.sql_big_tables = 0; +SET @@session.sql_big_tables = DEFAULT; +SELECT @@session.sql_big_tables; +@@session.sql_big_tables +0 +SET @@session.sql_big_tables = 1; +SET @@session.sql_big_tables = DEFAULT; +SELECT @@session.sql_big_tables; +@@session.sql_big_tables +1 +'#---------------------FN_DYNVARS_154_02-------------------------#' +SET sql_big_tables = 1; +SELECT @@sql_big_tables; +@@sql_big_tables +1 +SELECT session.sql_big_tables; +ERROR 42S02: Unknown table 'session' in field list +SELECT local.sql_big_tables; +ERROR 42S02: Unknown table 'local' in field list +SET session sql_big_tables = 0; +SELECT @@session.sql_big_tables; +@@session.sql_big_tables +0 +'#--------------------FN_DYNVARS_154_03------------------------#' +SET @@session.sql_big_tables = 0; +SELECT @@session.sql_big_tables; +@@session.sql_big_tables +0 +SET @@session.sql_big_tables = 1; +SELECT @@session.sql_big_tables; +@@session.sql_big_tables +1 +'#--------------------FN_DYNVARS_154_04-------------------------#' +SET @@session.sql_big_tables = -1; +ERROR 42000: Variable 'sql_big_tables' can't be set to the value of '-1' +SET @@session.sql_big_tables = 2; +ERROR 42000: Variable 'sql_big_tables' can't be set to the value of '2' +SET @@session.sql_big_tables = "T"; +ERROR 42000: Variable 'sql_big_tables' can't be set to the value of 'T' +SET @@session.sql_big_tables = "Y"; +ERROR 42000: Variable 'sql_big_tables' can't be set to the value of 'Y' +SET @@session.sql_big_tables = TRÜE; +ERROR 42000: Variable 'sql_big_tables' can't be set to the value of 'TRÜE' +SET @@session.sql_big_tables = ÕN; +ERROR 42000: Variable 'sql_big_tables' can't be set to the value of 'ÕN' +SET @@session.sql_big_tables = OF; +SELECT @@session.sql_big_tables; +@@session.sql_big_tables +0 +'Bug# 34828: OF is taken as OFF and a value of 0 is set.' +SET @@session.sql_big_tables = ÓFF; +ERROR 42000: Variable 'sql_big_tables' can't be set to the value of 'ÓFF' +SET @@session.sql_big_tables = '¹'; +ERROR 42000: Variable 'sql_big_tables' can't be set to the value of '¹' +SET @@session.sql_big_tables = NO; +ERROR 42000: Variable 'sql_big_tables' can't be set to the value of 'NO' +'#-------------------FN_DYNVARS_154_05----------------------------#' +SET @@global.sql_big_tables = 0; +ERROR HY000: Variable 'sql_big_tables' is a SESSION variable and can't be used with SET GLOBAL +SELECT @@global.sql_big_tables; +ERROR HY000: Variable 'sql_big_tables' is a SESSION variable +'#----------------------FN_DYNVARS_154_06------------------------#' +SELECT count(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='sql_big_tables'; +count(VARIABLE_VALUE) +1 +'#----------------------FN_DYNVARS_154_07------------------------#' +SELECT @@session.sql_big_tables = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_big_tables'; +@@session.sql_big_tables = VARIABLE_VALUE +1 +SELECT @@session.sql_big_tables; +@@session.sql_big_tables +0 +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_big_tables'; +VARIABLE_VALUE +OFF +'#---------------------FN_DYNVARS_154_08-------------------------#' +SET @@session.sql_big_tables = OFF; +SELECT @@session.sql_big_tables; +@@session.sql_big_tables +0 +SET @@session.sql_big_tables = ON; +SELECT @@session.sql_big_tables; +@@session.sql_big_tables +1 +'#---------------------FN_DYNVARS_154_09----------------------#' +SET @@session.sql_big_tables = TRUE; +SELECT @@session.sql_big_tables; +@@session.sql_big_tables +1 +SET @@session.sql_big_tables = FALSE; +SELECT @@session.sql_big_tables; +@@session.sql_big_tables +0 +SET @@session.sql_big_tables = @session_start_value; +SELECT @@session.sql_big_tables; +@@session.sql_big_tables +0 diff --git a/mysql-test/r/sql_big_tables_func.result b/mysql-test/r/sql_big_tables_func.result new file mode 100644 index 00000000000..9b707e439ef --- /dev/null +++ b/mysql-test/r/sql_big_tables_func.result @@ -0,0 +1,121 @@ +** Setup ** + +SET @old_big_tables = @@SESSION.sql_big_tables; +CREATE TABLE t1(a varchar(20), b varchar(20)); +INSERT INTO t1 VALUES('aa','bb'); +INSERT INTO t1 VALUES('aa','bb'); +INSERT INTO t1 VALUES('aa','bb'); +INSERT INTO t1 VALUES('aa','bb'); +INSERT INTO t1 VALUES('aa','bb'); +'#--------------------FN_DYNVARS_155_01-------------------------#' +SET SESSION sql_big_tables = 1; +SET @diskTableCount = 0; +SET @tempTableCount = 0; +SELECT * FROM (SELECT ta.a as a, tb.b as b +FROM t1 as ta INNER JOIN t1 as tb ON ta.a = tb.a) sub; +a b +aa bb +aa bb +aa bb +aa bb +aa bb +aa bb +aa bb +aa bb +aa bb +aa bb +aa bb +aa bb +aa bb +aa bb +aa bb +aa bb +aa bb +aa bb +aa bb +aa bb +aa bb +aa bb +aa bb +aa bb +aa bb +SET @diskTableCount = 1 - @diskTableCount; +SET @tempTableCount = 1 - @tempTableCount; +SELECT @diskTableCount; +@diskTableCount +1 +1 Expected +SELECT @tempTableCount; +@tempTableCount +1 +1 Expected +'#--------------------FN_DYNVARS_155_02-------------------------#' +SET SESSION sql_big_tables = 0; +SET @diskTableCount = 1; +SET @tempTableCount = 1; +SELECT * FROM (SELECT ta.b as a, tb.a as b FROM t1 as ta INNER JOIN t1 as tb ON ta.a = tb.a) sub; +a b +bb aa +bb aa +bb aa +bb aa +bb aa +bb aa +bb aa +bb aa +bb aa +bb aa +bb aa +bb aa +bb aa +bb aa +bb aa +bb aa +bb aa +bb aa +bb aa +bb aa +bb aa +bb aa +bb aa +bb aa +bb aa +SET @diskTableCount = 1 - @diskTableCount; +SET @tempTableCount = 2 - @tempTableCount; +SELECT @diskTableCount; +@diskTableCount +0 +0 Expected +SELECT @tempTableCount; +@tempTableCount +1 +1 Expected +'#--------------------FN_DYNVARS_155_03-------------------------#' +** Connecting con_int1 using root ** +** Connection con_int1 ** +SELECT @@SESSION.sql_big_tables; +@@SESSION.sql_big_tables +0 +0 / FALSE Expected; +SET SESSION sql_big_tables = FALSE; +** Connecting con_int2 using root ** +** Connection con_int2 ** +SELECT @@SESSION.sql_big_tables; +@@SESSION.sql_big_tables +0 +0 / FALSE Expected; +SET SESSION sql_big_tables = TRUE; +** Connection con_int1 ** +SELECT @@SESSION.sql_big_tables; +@@SESSION.sql_big_tables +0 +0 / FALSE Expected; +** Connection con_int2 ** +SELECT @@SESSION.sql_big_tables; +@@SESSION.sql_big_tables +1 +1 / TRUE Expected; +** Connection default ** +Disconnecting Connections con_int1, con_int2 +SET SESSION sql_big_tables = @old_big_tables; +DROP TABLE t1; diff --git a/mysql-test/r/sql_buffer_result_basic.result b/mysql-test/r/sql_buffer_result_basic.result new file mode 100644 index 00000000000..d03b688dbe6 --- /dev/null +++ b/mysql-test/r/sql_buffer_result_basic.result @@ -0,0 +1,116 @@ +SET @session_start_value = @@session.sql_buffer_result; +SELECT @session_start_value; +@session_start_value +0 +'#--------------------FN_DYNVARS_155_01------------------------#' +SET @@session.sql_buffer_result = 0; +SET @@session.sql_buffer_result = DEFAULT; +SELECT @@session.sql_buffer_result; +@@session.sql_buffer_result +0 +SET @@session.sql_buffer_result = 1; +SET @@session.sql_buffer_result = DEFAULT; +SELECT @@session.sql_buffer_result; +@@session.sql_buffer_result +1 +'#---------------------FN_DYNVARS_155_02-------------------------#' +SET sql_buffer_result = 1; +SELECT @@sql_buffer_result; +@@sql_buffer_result +1 +SELECT session.sql_buffer_result; +ERROR 42S02: Unknown table 'session' in field list +SELECT local.sql_buffer_result; +ERROR 42S02: Unknown table 'local' in field list +SET session sql_buffer_result = 0; +SELECT @@session.sql_buffer_result; +@@session.sql_buffer_result +0 +'#--------------------FN_DYNVARS_155_03------------------------#' +SET @@session.sql_buffer_result = 0; +SELECT @@session.sql_buffer_result; +@@session.sql_buffer_result +0 +SET @@session.sql_buffer_result = 1; +SELECT @@session.sql_buffer_result; +@@session.sql_buffer_result +1 +'#--------------------FN_DYNVARS_155_04-------------------------#' +SET @@session.sql_buffer_result = -1; +ERROR 42000: Variable 'sql_buffer_result' can't be set to the value of '-1' +SET @@session.sql_buffer_result = 2; +ERROR 42000: Variable 'sql_buffer_result' can't be set to the value of '2' +SET @@session.sql_buffer_result = "TRU"; +ERROR 42000: Variable 'sql_buffer_result' can't be set to the value of 'TRU' +SET @@session.sql_buffer_result = 0.4; +SELECT @@session.sql_buffer_result; +@@session.sql_buffer_result +0 +SET @@session.sql_buffer_result = 1.4; +SELECT @@session.sql_buffer_result; +@@session.sql_buffer_result +1 +'Bug: Decimal values are accepted and rounded to an integer before'; +'assingment.'; +SET @@session.sql_buffer_result = TRÜE; +ERROR 42000: Variable 'sql_buffer_result' can't be set to the value of 'TRÜE' +SET @@session.sql_buffer_result = ÕN; +ERROR 42000: Variable 'sql_buffer_result' can't be set to the value of 'ÕN' +SET @@session.sql_buffer_result = OF; +SELECT @@session.sql_buffer_result; +@@session.sql_buffer_result +0 +'Bug# 34828: OF is taken as OFF and a value of 0 is set.' +SET @@session.sql_buffer_result = ÓFF; +ERROR 42000: Variable 'sql_buffer_result' can't be set to the value of 'ÓFF' +SET @@session.sql_buffer_result = '¹'; +ERROR 42000: Variable 'sql_buffer_result' can't be set to the value of '¹' +SET @@session.sql_buffer_result = NO; +ERROR 42000: Variable 'sql_buffer_result' can't be set to the value of 'NO' +'#-------------------FN_DYNVARS_155_05----------------------------#' +SET @@global.sql_buffer_result = 0; +ERROR HY000: Variable 'sql_buffer_result' is a SESSION variable and can't be used with SET GLOBAL +SELECT @@global.sql_buffer_result; +ERROR HY000: Variable 'sql_buffer_result' is a SESSION variable +'#----------------------FN_DYNVARS_155_06------------------------#' +SELECT count(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='sql_buffer_result'; +count(VARIABLE_VALUE) +1 +'#----------------------FN_DYNVARS_155_07------------------------#' +SELECT @@session.sql_buffer_result = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_buffer_result'; +@@session.sql_buffer_result = VARIABLE_VALUE +1 +SELECT @@session.sql_buffer_result; +@@session.sql_buffer_result +0 +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_buffer_result'; +VARIABLE_VALUE +OFF +'#---------------------FN_DYNVARS_155_08-------------------------#' +SET @@session.sql_buffer_result = OFF; +SELECT @@session.sql_buffer_result; +@@session.sql_buffer_result +0 +SET @@session.sql_buffer_result = ON; +SELECT @@session.sql_buffer_result; +@@session.sql_buffer_result +1 +'#---------------------FN_DYNVARS_155_09----------------------#' +SET @@session.sql_buffer_result = TRUE; +SELECT @@session.sql_buffer_result; +@@session.sql_buffer_result +1 +SET @@session.sql_buffer_result = FALSE; +SELECT @@session.sql_buffer_result; +@@session.sql_buffer_result +0 +SET @@session.sql_buffer_result = @session_start_value; +SELECT @@session.sql_buffer_result; +@@session.sql_buffer_result +0 diff --git a/mysql-test/r/sql_buffer_result_func.result b/mysql-test/r/sql_buffer_result_func.result new file mode 100644 index 00000000000..38d7f7ecc0a --- /dev/null +++ b/mysql-test/r/sql_buffer_result_func.result @@ -0,0 +1,84 @@ +** Setup ** + +SET @original_sql_buffer_result = @@sql_buffer_result; +CREATE TEMPORARY TABLE t1(a varchar(20), b varchar(20)); +INSERT INTO t1 VALUES('aa','bb'); +INSERT INTO t1 VALUES('aa','bb'); +INSERT INTO t1 VALUES('aa','bb'); +INSERT INTO t1 VALUES('aa','bb'); +INSERT INTO t1 VALUES('aa','bb'); +'#--------------------FN_DYNVARS_156_01-------------------------#' +SET SESSION sql_buffer_result = 1; +SHOW STATUS LIKE 'Created_tmp_tables'; +Variable_name Value +Created_tmp_tables 0 +Expected value : 0. +SELECT * FROM t1; +a b +aa bb +aa bb +aa bb +aa bb +aa bb +SHOW STATUS LIKE 'Created_tmp_tables'; +Variable_name Value +Created_tmp_tables 1 +Expected value : 1. +SELECT * FROM t1; +a b +aa bb +aa bb +aa bb +aa bb +aa bb +SHOW STATUS LIKE 'Created_tmp_tables'; +Variable_name Value +Created_tmp_tables 2 +Expected value : 2. +'#--------------------FN_DYNVARS_156_02-------------------------#' +SET SESSION sql_buffer_result = 0; +SHOW STATUS LIKE 'Created_tmp_tables'; +Variable_name Value +Created_tmp_tables 2 +Expected value : 2. +SELECT * FROM t1; +a b +aa bb +aa bb +aa bb +aa bb +aa bb +SHOW STATUS LIKE 'Created_tmp_tables'; +Variable_name Value +Created_tmp_tables 2 +Expected value : 2. +'#--------------------FN_DYNVARS_156_03-------------------------#' +** Connecting con_int1 using root ** +** Connection con_int1 ** +SELECT @@SESSION.sql_buffer_result; +@@SESSION.sql_buffer_result +0 +0 / FALSE Expected +SET SESSION sql_buffer_result = FALSE; +** Connecting con_int2 using root ** +** Connection con_int2 ** +SELECT @@SESSION.sql_buffer_result; +@@SESSION.sql_buffer_result +0 +0 / FALSE Expected +SET SESSION sql_buffer_result = TRUE; +** Connection con_int1 ** +SELECT @@SESSION.sql_buffer_result; +@@SESSION.sql_buffer_result +0 +0 / FALSE Expected +** Connection con_int2 ** +SELECT @@SESSION.sql_buffer_result; +@@SESSION.sql_buffer_result +1 +1 / TRUE Expected +** Connection default ** +Disconnecting Connections con_int1, con_int2 +** Cleanup ** +SET @@sql_buffer_result = @original_sql_buffer_result; +DROP TABLE t1; diff --git a/mysql-test/r/sql_log_bin_basic.result b/mysql-test/r/sql_log_bin_basic.result new file mode 100644 index 00000000000..4e37c2079d6 --- /dev/null +++ b/mysql-test/r/sql_log_bin_basic.result @@ -0,0 +1,106 @@ +SET @session_start_value = @@session.sql_log_bin; +SELECT @session_start_value; +@session_start_value +1 +'#--------------------FN_DYNVARS_156_01------------------------#' +SET @@session.sql_log_bin = 0; +SET @@session.sql_log_bin = DEFAULT; +SELECT @@session.sql_log_bin; +@@session.sql_log_bin +0 +SET @@session.sql_log_bin = 1; +SET @@session.sql_log_bin = DEFAULT; +SELECT @@session.sql_log_bin; +@@session.sql_log_bin +1 +'#---------------------FN_DYNVARS_156_02-------------------------#' +SET sql_log_bin = 1; +SELECT @@sql_log_bin; +@@sql_log_bin +1 +SELECT session.sql_log_bin; +ERROR 42S02: Unknown table 'session' in field list +SELECT local.sql_log_bin; +ERROR 42S02: Unknown table 'local' in field list +SET session sql_log_bin = 0; +SELECT @@session.sql_log_bin; +@@session.sql_log_bin +0 +'#--------------------FN_DYNVARS_156_03------------------------#' +SET @@session.sql_log_bin = 0; +SELECT @@session.sql_log_bin; +@@session.sql_log_bin +0 +SET @@session.sql_log_bin = 1; +SELECT @@session.sql_log_bin; +@@session.sql_log_bin +1 +'#--------------------FN_DYNVARS_156_04-------------------------#' +SET @@session.sql_log_bin = -1; +ERROR 42000: Variable 'sql_log_bin' can't be set to the value of '-1' +SET @@session.sql_log_bin = 2; +ERROR 42000: Variable 'sql_log_bin' can't be set to the value of '2' +SET @@session.sql_log_bin = "T"; +ERROR 42000: Variable 'sql_log_bin' can't be set to the value of 'T' +SET @@session.sql_log_bin = "Y"; +ERROR 42000: Variable 'sql_log_bin' can't be set to the value of 'Y' +SET @@session.sql_log_bin = TRÜE; +ERROR 42000: Variable 'sql_log_bin' can't be set to the value of 'TRÜE' +SET @@session.sql_log_bin = ÕN; +ERROR 42000: Variable 'sql_log_bin' can't be set to the value of 'ÕN' +SET @@session.sql_log_bin = OF; +SELECT @@session.sql_log_bin; +@@session.sql_log_bin +0 +'Bug# 34828: OF is taken as OFF and a value of 0 is set.' +SET @@session.sql_log_bin = ÓFF; +ERROR 42000: Variable 'sql_log_bin' can't be set to the value of 'ÓFF' +SET @@session.sql_log_bin = '¹'; +ERROR 42000: Variable 'sql_log_bin' can't be set to the value of '¹' +SET @@session.sql_log_bin = NO; +ERROR 42000: Variable 'sql_log_bin' can't be set to the value of 'NO' +'#-------------------FN_DYNVARS_156_05----------------------------#' +SET @@global.sql_log_bin = 0; +ERROR HY000: Variable 'sql_log_bin' is a SESSION variable and can't be used with SET GLOBAL +SELECT @@global.sql_log_bin; +ERROR HY000: Variable 'sql_log_bin' is a SESSION variable +'#----------------------FN_DYNVARS_156_06------------------------#' +SELECT count(VARIABLE_VALUE) FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='sql_log_bin'; +count(VARIABLE_VALUE) +1 +'#----------------------FN_DYNVARS_156_07------------------------#' +SELECT @@session.sql_log_bin = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_log_bin'; +@@session.sql_log_bin = VARIABLE_VALUE +1 +SELECT @@session.sql_log_bin; +@@session.sql_log_bin +0 +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_log_bin'; +VARIABLE_VALUE +OFF +'#---------------------FN_DYNVARS_156_08-------------------------#' +SET @@session.sql_log_bin = OFF; +SELECT @@session.sql_log_bin; +@@session.sql_log_bin +0 +SET @@session.sql_log_bin = ON; +SELECT @@session.sql_log_bin; +@@session.sql_log_bin +1 +'#---------------------FN_DYNVARS_156_09----------------------#' +SET @@session.sql_log_bin = TRUE; +SELECT @@session.sql_log_bin; +@@session.sql_log_bin +1 +SET @@session.sql_log_bin = FALSE; +SELECT @@session.sql_log_bin; +@@session.sql_log_bin +0 +SET @@session.sql_log_bin = @session_start_value; +SELECT @@session.sql_log_bin; +@@session.sql_log_bin +1 diff --git a/mysql-test/r/sql_log_off_basic.result b/mysql-test/r/sql_log_off_basic.result new file mode 100644 index 00000000000..03846cb6ce8 --- /dev/null +++ b/mysql-test/r/sql_log_off_basic.result @@ -0,0 +1,108 @@ +SET @session_start_value = @@session.sql_log_off; +SELECT @session_start_value; +@session_start_value +0 +'#--------------------FN_DYNVARS_157_01------------------------#' +SET @@session.sql_log_off = 0; +SET @@session.sql_log_off = DEFAULT; +SELECT @@session.sql_log_off; +@@session.sql_log_off +0 +SET @@session.sql_log_off = 1; +SET @@session.sql_log_off = DEFAULT; +SELECT @@session.sql_log_off; +@@session.sql_log_off +1 +'#---------------------FN_DYNVARS_157_02-------------------------#' +SET sql_log_off = 1; +SELECT @@sql_log_off; +@@sql_log_off +1 +SELECT session.sql_log_off; +ERROR 42S02: Unknown table 'session' in field list +SELECT local.sql_log_off; +ERROR 42S02: Unknown table 'local' in field list +SET session sql_log_off = 0; +SELECT @@session.sql_log_off; +@@session.sql_log_off +0 +'#--------------------FN_DYNVARS_157_03------------------------#' +SET @@session.sql_log_off = 0; +SELECT @@session.sql_log_off; +@@session.sql_log_off +0 +SET @@session.sql_log_off = 1; +SELECT @@session.sql_log_off; +@@session.sql_log_off +1 +'#--------------------FN_DYNVARS_157_04-------------------------#' +SET @@session.sql_log_off = -1; +ERROR 42000: Variable 'sql_log_off' can't be set to the value of '-1' +SET @@session.sql_log_off = 2; +ERROR 42000: Variable 'sql_log_off' can't be set to the value of '2' +SET @@session.sql_log_off = "T"; +ERROR 42000: Variable 'sql_log_off' can't be set to the value of 'T' +SET @@session.sql_log_off = "Y"; +ERROR 42000: Variable 'sql_log_off' can't be set to the value of 'Y' +SET @@session.sql_log_off = TRÜE; +ERROR 42000: Variable 'sql_log_off' can't be set to the value of 'TRÜE' +SET @@session.sql_log_off = ÕN; +ERROR 42000: Variable 'sql_log_off' can't be set to the value of 'ÕN' +SET @@session.sql_log_off = OF; +SELECT @@session.sql_log_off; +@@session.sql_log_off +0 +'Bug# 34828: OF is taken as OFF and a value of 0 is set.' +SET @@session.sql_log_off = ÓFF; +ERROR 42000: Variable 'sql_log_off' can't be set to the value of 'ÓFF' +SET @@session.sql_log_off = '¹'; +ERROR 42000: Variable 'sql_log_off' can't be set to the value of '¹' +SET @@session.sql_log_off = NO; +ERROR 42000: Variable 'sql_log_off' can't be set to the value of 'NO' +'#-------------------FN_DYNVARS_157_05----------------------------#' +SET @@global.sql_log_off = 0; +ERROR HY000: Variable 'sql_log_off' is a SESSION variable and can't be used with SET GLOBAL +SELECT @@global.sql_log_off; +ERROR HY000: Variable 'sql_log_off' is a SESSION variable +'#----------------------FN_DYNVARS_157_06------------------------#' +SELECT count(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='sql_log_off'; +count(VARIABLE_VALUE) +1 +'#----------------------FN_DYNVARS_157_07------------------------#' +SELECT @@session.sql_log_off = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_log_off'; +@@session.sql_log_off = VARIABLE_VALUE +1 +SELECT @@session.sql_log_off; +@@session.sql_log_off +0 +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_log_off'; +VARIABLE_VALUE +OFF +'#---------------------FN_DYNVARS_157_08-------------------------#' +SET @@session.sql_log_off = OFF; +SELECT @@session.sql_log_off; +@@session.sql_log_off +0 +SET @@session.sql_log_off = ON; +SELECT @@session.sql_log_off; +@@session.sql_log_off +1 +'#---------------------FN_DYNVARS_157_09----------------------#' +SET @@session.sql_log_off = TRUE; +SELECT @@session.sql_log_off; +@@session.sql_log_off +1 +SET @@session.sql_log_off = FALSE; +SELECT @@session.sql_log_off; +@@session.sql_log_off +0 +SET @@session.sql_log_off = @session_start_value; +SELECT @@session.sql_log_off; +@@session.sql_log_off +0 diff --git a/mysql-test/r/sql_log_off_func.result b/mysql-test/r/sql_log_off_func.result new file mode 100644 index 00000000000..e51860534f1 --- /dev/null +++ b/mysql-test/r/sql_log_off_func.result @@ -0,0 +1,51 @@ +** Setup ** + +SET @default_sql_log_off = @@sql_log_off; +CREATE TEMPORARY TABLE t1(a varchar(20), b varchar(20)); +INSERT INTO t1 VALUES('aa1','bb'); +INSERT INTO t1 VALUES('aa2','bb'); +INSERT INTO t1 VALUES('aa3','bb'); +INSERT INTO t1 VALUES('aa4','bb'); +INSERT INTO t1 VALUES('aa5','bb'); +'#--------------------FN_DYNVARS_158_01-------------------------#' +SET SESSION sql_log_off = ON; +UPDATE t1 SET a = 'aa1-updated' WHERE a = 'aa1'; +Checking if log contains the executed statement +SELECT argument FROM mysql.general_log WHERE argument = 'UPDATE t1 SET a = \'aa1-updated\' WHERE a = \'aa1\''; +argument +'#--------------------FN_DYNVARS_158_02-------------------------#' +SET SESSION sql_log_off = OFF; +UPDATE t1 SET a = 'aa1' WHERE a = 'aa1-updated'; +Checking if log contains the executed statement +SELECT argument FROM mysql.general_log WHERE argument = 'UPDATE t1 SET a = \'aa1\' WHERE a = \'aa1-updated\''; +argument +UPDATE t1 SET a = 'aa1' WHERE a = 'aa1-updated' +'#--------------------FN_DYNVARS_158_03--------------------------#' +** Connecting con_int1 using root ** +** Connection con_int1 ** +SELECT @@SESSION.sql_log_off; +@@SESSION.sql_log_off +0 +0 / FALSE Expected +SET SESSION sql_log_off = FALSE; +** Connecting con_int2 using root ** +** Connection con_int2 ** +SELECT @@SESSION.sql_log_off; +@@SESSION.sql_log_off +0 +0 / FALSE Expected +SET SESSION sql_log_off = TRUE; +** Connection con_int2 ** +SELECT @@SESSION.sql_log_off; +@@SESSION.sql_log_off +1 +1 / TRUE Expected +** Connection con_int1 ** +SELECT @@SESSION.sql_log_off; +@@SESSION.sql_log_off +0 +0 / FALSE Expected +** Connection default ** +Disconnecting Connections con_int1, con_int2 +SET SESSION sql_log_off = @default_sql_log_off; +DROP TABLE t1; diff --git a/mysql-test/r/sql_low_priority_updates_basic.result b/mysql-test/r/sql_low_priority_updates_basic.result new file mode 100644 index 00000000000..6a09e6720b3 --- /dev/null +++ b/mysql-test/r/sql_low_priority_updates_basic.result @@ -0,0 +1,173 @@ +SET @session_start_value = @@session.sql_low_priority_updates; +SELECT @session_start_value; +@session_start_value +0 +SET @global_start_value = @@global.sql_low_priority_updates; +SELECT @global_start_value; +@global_start_value +0 +'#--------------------FN_DYNVARS_159_01------------------------#' +SET @@session.sql_low_priority_updates = 1; +SET @@session.sql_low_priority_updates = DEFAULT; +SELECT @@session.sql_low_priority_updates; +@@session.sql_low_priority_updates +0 +SET @@global.sql_low_priority_updates = 1; +SET @@global.sql_low_priority_updates = DEFAULT; +ERROR 42000: Variable 'sql_low_priority_updates' doesn't have a default value +'Bug: DEFAULT value is only associated with session' +'#---------------------FN_DYNVARS_159_02-------------------------#' +SET sql_low_priority_updates = 1; +SELECT @@sql_low_priority_updates; +@@sql_low_priority_updates +1 +SELECT session.sql_low_priority_updates; +ERROR 42S02: Unknown table 'session' in field list +SELECT local.sql_low_priority_updates; +ERROR 42S02: Unknown table 'local' in field list +SELECT global.sql_low_priority_updates; +ERROR 42S02: Unknown table 'global' in field list +SET session sql_low_priority_updates = 0; +SELECT @@session.sql_low_priority_updates; +@@session.sql_low_priority_updates +0 +SET global sql_low_priority_updates = 0; +SELECT @@global.sql_low_priority_updates; +@@global.sql_low_priority_updates +0 +'#--------------------FN_DYNVARS_159_03------------------------#' +SET @@session.sql_low_priority_updates = 0; +SELECT @@session.sql_low_priority_updates; +@@session.sql_low_priority_updates +0 +SET @@session.sql_low_priority_updates = 1; +SELECT @@session.sql_low_priority_updates; +@@session.sql_low_priority_updates +1 +SET @@global.sql_low_priority_updates = 0; +SELECT @@global.sql_low_priority_updates; +@@global.sql_low_priority_updates +0 +SET @@global.sql_low_priority_updates = 1; +SELECT @@global.sql_low_priority_updates; +@@global.sql_low_priority_updates +1 +'#--------------------FN_DYNVARS_159_04-------------------------#' +SET @@session.sql_low_priority_updates = -1; +ERROR 42000: Variable 'sql_low_priority_updates' can't be set to the value of '-1' +SET @@session.sql_low_priority_updates = 1.6; +ERROR 42000: Variable 'sql_low_priority_updates' can't be set to the value of '2' +SET @@session.sql_low_priority_updates = "T"; +ERROR 42000: Variable 'sql_low_priority_updates' can't be set to the value of 'T' +SET @@session.sql_low_priority_updates = "Y"; +ERROR 42000: Variable 'sql_low_priority_updates' can't be set to the value of 'Y' +SET @@session.sql_low_priority_updates = TRÜE; +ERROR 42000: Variable 'sql_low_priority_updates' can't be set to the value of 'TRÜE' +SET @@session.sql_low_priority_updates = ÕN; +ERROR 42000: Variable 'sql_low_priority_updates' can't be set to the value of 'ÕN' +SET @@session.sql_low_priority_updates = OF; +SELECT @@session.sql_low_priority_updates; +@@session.sql_low_priority_updates +0 +'Bug# 34828: OF is taken as OFF and a value of 0 is set.' +SET @@session.sql_low_priority_updates = ÓFF; +ERROR 42000: Variable 'sql_low_priority_updates' can't be set to the value of 'ÓFF' +SET @@global.sql_low_priority_updates = -1; +ERROR 42000: Variable 'sql_low_priority_updates' can't be set to the value of '-1' +SET @@global.sql_low_priority_updates = 2; +ERROR 42000: Variable 'sql_low_priority_updates' can't be set to the value of '2' +SET @@global.sql_low_priority_updates = "T"; +ERROR 42000: Variable 'sql_low_priority_updates' can't be set to the value of 'T' +SET @@global.sql_low_priority_updates = "Y"; +ERROR 42000: Variable 'sql_low_priority_updates' can't be set to the value of 'Y' +SET @@global.sql_low_priority_updates = TRÜE; +ERROR 42000: Variable 'sql_low_priority_updates' can't be set to the value of 'TRÜE' +SET @@global.sql_low_priority_updates = ÕN; +ERROR 42000: Variable 'sql_low_priority_updates' can't be set to the value of 'ÕN' +SET @@global.sql_low_priority_updates = OF; +SELECT @@global.sql_low_priority_updates; +@@global.sql_low_priority_updates +0 +'Bug# 34828: OF is taken as OFF and a value of 0 is set.' +SET @@global.sql_low_priority_updates = ÓFF; +ERROR 42000: Variable 'sql_low_priority_updates' can't be set to the value of 'ÓFF' +'#-------------------FN_DYNVARS_159_05----------------------------#' +SET @@global.sql_low_priority_updates = 0; +SET @@session.sql_low_priority_updates = 1; +SELECT @@global.sql_low_priority_updates AS res_is_0; +res_is_0 +0 +SET @@global.sql_low_priority_updates = 0; +SELECT @@session.sql_low_priority_updates AS res_is_1; +res_is_1 +1 +'#----------------------FN_DYNVARS_159_06------------------------#' +SELECT @@global.sql_low_priority_updates = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='sql_low_priority_updates'; +@@global.sql_low_priority_updates = VARIABLE_VALUE +1 +SELECT @@global.sql_low_priority_updates; +@@global.sql_low_priority_updates +0 +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='sql_low_priority_updates'; +VARIABLE_VALUE +OFF +'#----------------------FN_DYNVARS_159_07------------------------#' +SELECT @@session.sql_low_priority_updates = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_low_priority_updates'; +@@session.sql_low_priority_updates = VARIABLE_VALUE +0 +SELECT @@session.sql_low_priority_updates; +@@session.sql_low_priority_updates +1 +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_low_priority_updates'; +VARIABLE_VALUE +ON +'#---------------------FN_DYNVARS_159_08-------------------------#' +SET @@session.sql_low_priority_updates = OFF; +SELECT @@session.sql_low_priority_updates; +@@session.sql_low_priority_updates +0 +SET @@session.sql_low_priority_updates = ON; +SELECT @@session.sql_low_priority_updates; +@@session.sql_low_priority_updates +1 +SET @@global.sql_low_priority_updates = OFF; +SELECT @@global.sql_low_priority_updates; +@@global.sql_low_priority_updates +0 +SET @@global.sql_low_priority_updates = ON; +SELECT @@global.sql_low_priority_updates; +@@global.sql_low_priority_updates +1 +'#---------------------FN_DYNVARS_159_09----------------------#' +SET @@session.sql_low_priority_updates = TRUE; +SELECT @@session.sql_low_priority_updates; +@@session.sql_low_priority_updates +1 +SET @@session.sql_low_priority_updates = FALSE; +SELECT @@session.sql_low_priority_updates; +@@session.sql_low_priority_updates +0 +SET @@global.sql_low_priority_updates = TRUE; +SELECT @@global.sql_low_priority_updates; +@@global.sql_low_priority_updates +1 +SET @@global.sql_low_priority_updates = FALSE; +SELECT @@global.sql_low_priority_updates; +@@global.sql_low_priority_updates +0 +SET @@session.sql_low_priority_updates = @session_start_value; +SELECT @@session.sql_low_priority_updates; +@@session.sql_low_priority_updates +0 +SET @@global.sql_low_priority_updates = @global_start_value; +SELECT @@global.sql_low_priority_updates; +@@global.sql_low_priority_updates +0 diff --git a/mysql-test/r/sql_low_priority_updates_func.result b/mysql-test/r/sql_low_priority_updates_func.result new file mode 100644 index 00000000000..f0874ae7414 --- /dev/null +++ b/mysql-test/r/sql_low_priority_updates_func.result @@ -0,0 +1,114 @@ +** Setup ** + +** Connecting con0 using root ** +** Connecting con1 using root ** +** Connection default ** +SET @global_low_priority_updates = @@GLOBAL.low_priority_updates; +SET @session_low_priority_updates = @@SESSION.low_priority_updates; +CREATE TABLE t1 (a varchar(100)); +'#--------------------FN_DYNVARS_160_01-------------------------#' +** Connection con0 ** +SET SESSION low_priority_updates = ON; +** Connection con1 ** +SET SESSION low_priority_updates = ON; +** Connection default ** +SET SESSION low_priority_updates = ON; +INSERT INTO t1 VALUES('1'); +INSERT INTO t1 VALUES('2'); +INSERT INTO t1 VALUES('3'); +INSERT INTO t1 VALUES('4'); +INSERT INTO t1 VALUES('5'); +INSERT INTO t1 VALUES('6'); +LOCK TABLE t1 WRITE; +** Connection con1 ** +** Asynchronous Execution ** +UPDATE t1 SET a = CONCAT(a,"-updated");| +** Connection con0 ** +** Asynchronous Execution ** +LOCK TABLE t1 READ; +SELECT * FROM t1; +UNLOCK TABLES;| +** Connection default ** +Sleeping for 1 secs +UNLOCK TABLES; +** Connection con0 ** +** Asynchronous Result ** +a +1 +2 +3 +4 +5 +6 +Expected values of a without -updated; +** Connection default ** +DELETE FROM t1; +'#--------------------FN_DYNVARS_160_02-------------------------#' +** Connection con0 ** +SET SESSION low_priority_updates = OFF; +** Connection con1 ** +SET SESSION low_priority_updates = OFF; +** Connection default** +SET SESSION low_priority_updates = OFF; +INSERT INTO t1 VALUES('1'); +INSERT INTO t1 VALUES('2'); +INSERT INTO t1 VALUES('3'); +INSERT INTO t1 VALUES('4'); +INSERT INTO t1 VALUES('5'); +INSERT INTO t1 VALUES('6'); +LOCK TABLE t1 WRITE; +** Connection con1 ** +** Asynchronous Execution ** +UPDATE t1 SET a = CONCAT(a,"-updated");| +** Connection con0 ** +** Asynchronous Execution ** +LOCK TABLE t1 READ; +SELECT * FROM t1; +UNLOCK TABLES;| +** Connection default ** +Sleeping for 1 secs +UNLOCK TABLES; +** Connection con0 ** +** Asynchronous Result ** +a +1-updated +2-updated +3-updated +4-updated +5-updated +6-updated +Expected values of a with -updated; +** Connection default** +DELETE FROM t1; +'#--------------------FN_DYNVARS_160_03-------------------------#' +** Connecting con_int1 using root ** +** Connection con_int1 ** +SELECT @@SESSION.low_priority_updates; +@@SESSION.low_priority_updates +0 +1 / TRUE Expected +SET SESSION low_priority_updates = FALSE; +** Connecting con_int2 using root ** +** Connection con_int2 ** +SELECT @@SESSION.low_priority_updates; +@@SESSION.low_priority_updates +0 +1 / TRUE Expected +SET SESSION low_priority_updates = TRUE; +** Connection con_int1 ** +SELECT @@SESSION.low_priority_updates; +@@SESSION.low_priority_updates +0 +0 / FALSE Expected +** Connection con_int2 ** +SELECT @@SESSION.low_priority_updates; +@@SESSION.low_priority_updates +1 +1 / TRUE Expected +** Connection default ** +Disconnecting Connections con_int1, con_int2 +** Connection default ** +Disconnecting Connections con0, con1 +DROP TABLE t1; +SET @@GLOBAL.low_priority_updates = @global_low_priority_updates; +SET @@SESSION.low_priority_updates = @session_low_priority_updates; diff --git a/mysql-test/r/sql_max_join_size_func.result b/mysql-test/r/sql_max_join_size_func.result new file mode 100644 index 00000000000..0e406f6611e --- /dev/null +++ b/mysql-test/r/sql_max_join_size_func.result @@ -0,0 +1,77 @@ +** Setup ** +SET @session_max_join_size = @@SESSION.sql_max_join_size; +SET @global_max_join_size = @@GLOBAL.sql_max_join_size; +SET @session_sql_big_selects = @@SESSION.sql_big_selects; +CREATE TEMPORARY TABLE t1(a varchar(20) not null, b varchar(20)); +CREATE TEMPORARY TABLE t2(a varchar(20) null, b varchar(20)); +INSERT INTO t1 VALUES('aa','bb'); +INSERT INTO t1 VALUES('aa1','bb'); +INSERT INTO t1 VALUES('aa2','bb'); +INSERT INTO t1 VALUES('aa3','bb'); +INSERT INTO t1 VALUES('aa4','bb'); +INSERT INTO t2 VALUES('aa','bb'); +INSERT INTO t2 VALUES('aa1','bb'); +INSERT INTO t2 VALUES('aa2','bb'); +INSERT INTO t2 VALUES('aa3','bb'); +INSERT INTO t2 VALUES('aa4','bb'); +'#--------------------FN_DYNVARS_161_01-------------------------#' +SET SESSION sql_max_join_size=9; +SELECT * FROM t1 INNER JOIN t2 ON t1.a = t2.a; +ERROR 42000: The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET SQL_MAX_JOIN_SIZE=# if the SELECT is okay +Expected error The SELECT would examine more than MAX_JOIN_SIZE rows. +'#--------------------FN_DYNVARS_161_02-------------------------#' +SET SESSION SQL_BIG_SELECTS = 1; +SELECT * FROM t1 INNER JOIN t2 ON t1.a = t2.a; +a b a b +aa bb aa bb +aa1 bb aa1 bb +aa2 bb aa2 bb +aa3 bb aa3 bb +aa4 bb aa4 bb +This should work +SET SESSION sql_max_join_size=DEFAULT; +DELETE FROM t2 WHERE a = 'aa4'; +SELECT * FROM t1 INNER JOIN t2 ON t1.a = t2.a; +a b a b +aa bb aa bb +aa1 bb aa1 bb +aa2 bb aa2 bb +aa3 bb aa3 bb +This should work +'#----------------------------FN_DYNVARS_136_05-------------------------#' +SET GLOBAL sql_max_join_size = 4; +** Connecting con_int1 using root ** +** Connection con_int1 ** +SELECT @@SESSION.sql_max_join_size; +@@SESSION.sql_max_join_size +4 +4 Expected +SET SESSION sql_max_join_size = 2; +** Connecting con_int2 using root ** +** Connection con_int2 ** +SELECT @@SESSION.sql_max_join_size; +@@SESSION.sql_max_join_size +4 +4 Expected +SET SESSION sql_max_join_size = 10; +** Connection con_int2 ** +SELECT @@SESSION.sql_max_join_size; +@@SESSION.sql_max_join_size +10 +10 Expected +** Connection con_int1 ** +SELECT @@SESSION.sql_max_join_size; +@@SESSION.sql_max_join_size +2 +2 Expected +SELECT @@GLOBAL.sql_max_join_size; +@@GLOBAL.sql_max_join_size +4 +4 Expected +** Connection default ** +Disconnecting Connections con_int1, con_int2 +SET @@SESSION.sql_max_join_size = @session_max_join_size; +SET @@GLOBAL.sql_max_join_size = @global_max_join_size ; +SET @@SESSION.sql_big_selects = @session_sql_big_selects; +DROP TABLE t1; +DROP TABLE t2; diff --git a/mysql-test/r/sql_mode_basic.result b/mysql-test/r/sql_mode_basic.result new file mode 100644 index 00000000000..78a9f179824 --- /dev/null +++ b/mysql-test/r/sql_mode_basic.result @@ -0,0 +1,453 @@ +SET @global_start_value = @@global.sql_mode; +SELECT @global_start_value; +@global_start_value + +SET @session_start_value = @@session.sql_mode; +SELECT @session_start_value; +@session_start_value + +'#--------------------FN_DYNVARS_152_01------------------------#' +SET @@global.sql_mode = ANSI; +SET @@global.sql_mode = DEFAULT; +SELECT @@global.sql_mode; +@@global.sql_mode + +SET @@session.sql_mode = ANSI; +SET @@session.sql_mode = DEFAULT; +SELECT @@session.sql_mode; +@@session.sql_mode + +'Bug# 34876: Default values for both session and global sql_mode is ""'; +'and not OFF.'; +'#---------------------FN_DYNVARS_152_02-------------------------#' +SET @@global.sql_mode = NULL; +ERROR 42000: Variable 'sql_mode' can't be set to the value of 'NULL' +SET @@global.sql_mode = ''; +SELECT @@global.sql_mode; +@@global.sql_mode + +SET @@global.sql_mode = ' '; +SELECT @@global.sql_mode; +@@global.sql_mode + +SET @@session.sql_mode = NULL; +ERROR 42000: Variable 'sql_mode' can't be set to the value of 'NULL' +SET @@session.sql_mode = ''; +SELECT @@session.sql_mode; +@@session.sql_mode + +SET @@session.sql_mode = ' '; +SELECT @@session.sql_mode; +@@session.sql_mode + +'#--------------------FN_DYNVARS_152_03------------------------#' +'Bug: Incomplete sql modes valid values at:'; +'http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html'; +SET @@global.sql_mode = ANSI; +SELECT @@global.sql_mode; +@@global.sql_mode +REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI +SET @@global.sql_mode = STRICT_TRANS_TABLES; +SELECT @@global.sql_mode; +@@global.sql_mode +STRICT_TRANS_TABLES +SET @@global.sql_mode = TRADITIONAL; +SELECT @@global.sql_mode; +@@global.sql_mode +STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER +SET @@global.sql_mode = ALLOW_INVALID_DATES; +SELECT @@global.sql_mode; +@@global.sql_mode +ALLOW_INVALID_DATES +SET @@global.sql_mode = ANSI_QUOTES; +SELECT @@global.sql_mode; +@@global.sql_mode +ANSI_QUOTES +SET @@global.sql_mode = ERROR_FOR_DIVISION_BY_ZERO; +SELECT @@global.sql_mode; +@@global.sql_mode +ERROR_FOR_DIVISION_BY_ZERO +SET @@global.sql_mode = HIGH_NOT_PRECEDENCE; +SELECT @@global.sql_mode; +@@global.sql_mode +HIGH_NOT_PRECEDENCE +SET @@global.sql_mode = IGNORE_SPACE; +SELECT @@global.sql_mode; +@@global.sql_mode +IGNORE_SPACE +SET @@global.sql_mode = NO_AUTO_CREATE_USER; +SELECT @@global.sql_mode; +@@global.sql_mode +NO_AUTO_CREATE_USER +SET @@global.sql_mode = NO_AUTO_VALUE_ON_ZERO; +SELECT @@global.sql_mode; +@@global.sql_mode +NO_AUTO_VALUE_ON_ZERO +SET @@global.sql_mode = NO_BACKSLASH_ESCAPES; +SELECT @@global.sql_mode; +@@global.sql_mode +NO_BACKSLASH_ESCAPES +SET @@global.sql_mode = NO_DIR_IN_CREATE; +SELECT @@global.sql_mode; +@@global.sql_mode +NO_DIR_IN_CREATE +SET @@global.sql_mode = NO_ENGINE_SUBSTITUTION; +SELECT @@global.sql_mode; +@@global.sql_mode +NO_ENGINE_SUBSTITUTION +SET @@global.sql_mode = NO_FIELD_OPTIONS; +SELECT @@global.sql_mode; +@@global.sql_mode +NO_FIELD_OPTIONS +SET @@global.sql_mode = NO_KEY_OPTIONS; +SELECT @@global.sql_mode; +@@global.sql_mode +NO_KEY_OPTIONS +SET @@global.sql_mode = NO_TABLE_OPTIONS; +SELECT @@global.sql_mode; +@@global.sql_mode +NO_TABLE_OPTIONS +SET @@global.sql_mode = NO_UNSIGNED_SUBTRACTION; +SELECT @@global.sql_mode; +@@global.sql_mode +NO_UNSIGNED_SUBTRACTION +SET @@global.sql_mode = NO_ZERO_DATE; +SELECT @@global.sql_mode; +@@global.sql_mode +NO_ZERO_DATE +SET @@global.sql_mode = NO_ZERO_IN_DATE; +SELECT @@global.sql_mode; +@@global.sql_mode +NO_ZERO_IN_DATE +SET @@global.sql_mode = ONLY_FULL_GROUP_BY; +SELECT @@global.sql_mode; +@@global.sql_mode +ONLY_FULL_GROUP_BY +SET @@global.sql_mode = PIPES_AS_CONCAT; +SELECT @@global.sql_mode; +@@global.sql_mode +PIPES_AS_CONCAT +SET @@global.sql_mode = REAL_AS_FLOAT; +SELECT @@global.sql_mode; +@@global.sql_mode +REAL_AS_FLOAT +SET @@global.sql_mode = STRICT_ALL_TABLES; +SELECT @@global.sql_mode; +@@global.sql_mode +STRICT_ALL_TABLES +SET @@global.sql_mode = STRICT_TRANS_TABLES; +SELECT @@global.sql_mode; +@@global.sql_mode +STRICT_TRANS_TABLES +SET @@global.sql_mode = DB2; +SELECT @@global.sql_mode; +@@global.sql_mode +PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,DB2,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS +SET @@global.sql_mode = MAXDB; +SELECT @@global.sql_mode; +@@global.sql_mode +PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,MAXDB,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,NO_AUTO_CREATE_USER +SET @@global.sql_mode = MSSQL; +SELECT @@global.sql_mode; +@@global.sql_mode +PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,MSSQL,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS +SET @@global.sql_mode = MYSQL323; +SELECT @@global.sql_mode; +@@global.sql_mode +MYSQL323,HIGH_NOT_PRECEDENCE +SET @@global.sql_mode = MYSQL40; +SELECT @@global.sql_mode; +@@global.sql_mode +MYSQL40,HIGH_NOT_PRECEDENCE +SET @@global.sql_mode = ORACLE; +SELECT @@global.sql_mode; +@@global.sql_mode +PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ORACLE,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,NO_AUTO_CREATE_USER +SET @@global.sql_mode = POSTGRESQL; +SELECT @@global.sql_mode; +@@global.sql_mode +PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,POSTGRESQL,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS +SET @@global.sql_mode = TRADITIONAL; +SELECT @@global.sql_mode; +@@global.sql_mode +STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER +SET @@global.sql_mode = OFF; +ERROR 42000: Variable 'sql_mode' can't be set to the value of 'OFF' +'Bug: OFF is documented as an sql mode but infact it is not'; +SET @@session.sql_mode = ANSI; +SELECT @@session.sql_mode; +@@session.sql_mode +REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI +SET @@session.sql_mode = STRICT_TRANS_TABLES; +SELECT @@session.sql_mode; +@@session.sql_mode +STRICT_TRANS_TABLES +SET @@session.sql_mode = TRADITIONAL; +SELECT @@session.sql_mode; +@@session.sql_mode +STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER +SET @@session.sql_mode = ALLOW_INVALID_DATES; +SELECT @@session.sql_mode; +@@session.sql_mode +ALLOW_INVALID_DATES +SET @@session.sql_mode = ANSI_QUOTES; +SELECT @@session.sql_mode; +@@session.sql_mode +ANSI_QUOTES +SET @@session.sql_mode = ERROR_FOR_DIVISION_BY_ZERO; +SELECT @@session.sql_mode; +@@session.sql_mode +ERROR_FOR_DIVISION_BY_ZERO +SET @@session.sql_mode = HIGH_NOT_PRECEDENCE; +SELECT @@session.sql_mode; +@@session.sql_mode +HIGH_NOT_PRECEDENCE +SET @@session.sql_mode = IGNORE_SPACE; +SELECT @@session.sql_mode; +@@session.sql_mode +IGNORE_SPACE +SET @@session.sql_mode = NO_AUTO_CREATE_USER; +SELECT @@session.sql_mode; +@@session.sql_mode +NO_AUTO_CREATE_USER +SET @@session.sql_mode = NO_AUTO_VALUE_ON_ZERO; +SELECT @@session.sql_mode; +@@session.sql_mode +NO_AUTO_VALUE_ON_ZERO +SET @@session.sql_mode = NO_BACKSLASH_ESCAPES; +SELECT @@session.sql_mode; +@@session.sql_mode +NO_BACKSLASH_ESCAPES +SET @@session.sql_mode = NO_DIR_IN_CREATE; +SELECT @@session.sql_mode; +@@session.sql_mode +NO_DIR_IN_CREATE +SET @@session.sql_mode = NO_ENGINE_SUBSTITUTION; +SELECT @@session.sql_mode; +@@session.sql_mode +NO_ENGINE_SUBSTITUTION +SET @@session.sql_mode = NO_FIELD_OPTIONS; +SELECT @@session.sql_mode; +@@session.sql_mode +NO_FIELD_OPTIONS +SET @@session.sql_mode = NO_KEY_OPTIONS; +SELECT @@session.sql_mode; +@@session.sql_mode +NO_KEY_OPTIONS +SET @@session.sql_mode = NO_TABLE_OPTIONS; +SELECT @@session.sql_mode; +@@session.sql_mode +NO_TABLE_OPTIONS +SET @@session.sql_mode = NO_UNSIGNED_SUBTRACTION; +SELECT @@session.sql_mode; +@@session.sql_mode +NO_UNSIGNED_SUBTRACTION +SET @@session.sql_mode = NO_ZERO_DATE; +SELECT @@session.sql_mode; +@@session.sql_mode +NO_ZERO_DATE +SET @@session.sql_mode = NO_ZERO_IN_DATE; +SELECT @@session.sql_mode; +@@session.sql_mode +NO_ZERO_IN_DATE +SET @@session.sql_mode = ONLY_FULL_GROUP_BY; +SELECT @@session.sql_mode; +@@session.sql_mode +ONLY_FULL_GROUP_BY +SET @@session.sql_mode = PIPES_AS_CONCAT; +SELECT @@session.sql_mode; +@@session.sql_mode +PIPES_AS_CONCAT +SET @@session.sql_mode = REAL_AS_FLOAT; +SELECT @@session.sql_mode; +@@session.sql_mode +REAL_AS_FLOAT +SET @@session.sql_mode = STRICT_ALL_TABLES; +SELECT @@session.sql_mode; +@@session.sql_mode +STRICT_ALL_TABLES +SET @@session.sql_mode = STRICT_TRANS_TABLES; +SELECT @@session.sql_mode; +@@session.sql_mode +STRICT_TRANS_TABLES +SET @@session.sql_mode = DB2; +SELECT @@session.sql_mode; +@@session.sql_mode +PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,DB2,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS +SET @@session.sql_mode = MAXDB; +SELECT @@session.sql_mode; +@@session.sql_mode +PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,MAXDB,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,NO_AUTO_CREATE_USER +SET @@session.sql_mode = MSSQL; +SELECT @@session.sql_mode; +@@session.sql_mode +PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,MSSQL,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS +SET @@session.sql_mode = MYSQL323; +SELECT @@session.sql_mode; +@@session.sql_mode +MYSQL323,HIGH_NOT_PRECEDENCE +SET @@session.sql_mode = MYSQL40; +SELECT @@session.sql_mode; +@@session.sql_mode +MYSQL40,HIGH_NOT_PRECEDENCE +SET @@session.sql_mode = ORACLE; +SELECT @@session.sql_mode; +@@session.sql_mode +PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ORACLE,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,NO_AUTO_CREATE_USER +SET @@session.sql_mode = POSTGRESQL; +SELECT @@session.sql_mode; +@@session.sql_mode +PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,POSTGRESQL,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS +SET @@session.sql_mode = TRADITIONAL; +SELECT @@session.sql_mode; +@@session.sql_mode +STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER +SET @@session.sql_mode = OFF; +ERROR 42000: Variable 'sql_mode' can't be set to the value of 'OFF' +SET @@global.sql_mode = '?'; +SELECT @@global.sql_mode; +@@global.sql_mode +? +SET @@session.sql_mode = '?'; +SELECT @@session.sql_mode; +@@session.sql_mode +? +'Bug# 34834: ? is acceptable as a valid sql mode.' +'#--------------------FN_DYNVARS_152_04-------------------------#' +SET @@global.sql_mode = -1; +ERROR 42000: Variable 'sql_mode' can't be set to the value of '-1' +SET @@global.sql_mode = ASCII; +ERROR 42000: Variable 'sql_mode' can't be set to the value of 'ASCII' +SET @@global.sql_mode = NON_TRADITIONAL; +ERROR 42000: Variable 'sql_mode' can't be set to the value of 'NON_TRADITIONAL' +SET @@global.sql_mode = 'OF'; +ERROR 42000: Variable 'sql_mode' can't be set to the value of 'OF' +SET @@global.sql_mode = NONE; +ERROR 42000: Variable 'sql_mode' can't be set to the value of 'NONE' +SET @@session.sql_mode = -1; +ERROR 42000: Variable 'sql_mode' can't be set to the value of '-1' +SET @@session.sql_mode = ANSI_SINGLE_QUOTES; +ERROR 42000: Variable 'sql_mode' can't be set to the value of 'ANSI_SINGLE_QUOTES' +SET @@session.sql_mode = 'ON'; +ERROR 42000: Variable 'sql_mode' can't be set to the value of 'ON' +SET @@session.sql_mode = 'OF'; +ERROR 42000: Variable 'sql_mode' can't be set to the value of 'OF' +SET @@session.sql_mode = DISABLE; +ERROR 42000: Variable 'sql_mode' can't be set to the value of 'DISABLE' +'#-------------------FN_DYNVARS_152_05----------------------------#' +SELECT @@session.sql_mode = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_mode'; +@@session.sql_mode = VARIABLE_VALUE +1 +'#----------------------FN_DYNVARS_152_06------------------------#' +SELECT @@global.sql_mode = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='sql_mode'; +@@global.sql_mode = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_152_07-------------------------#' +SET @@global.sql_mode = 0; +SELECT @@global.sql_mode; +@@global.sql_mode + +SET @@global.sql_mode = 1; +SELECT @@global.sql_mode; +@@global.sql_mode +REAL_AS_FLOAT +SET @@global.sql_mode = 2; +SELECT @@global.sql_mode; +@@global.sql_mode +PIPES_AS_CONCAT +SET @@global.sql_mode = 3; +SELECT @@global.sql_mode; +@@global.sql_mode +REAL_AS_FLOAT,PIPES_AS_CONCAT +SET @@global.sql_mode = 50000; +SELECT @@global.sql_mode; +@@global.sql_mode +PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,?,NO_UNSIGNED_SUBTRACTION,POSTGRESQL,ORACLE,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,NO_AUTO_CREATE_USER +SET @@global.sql_mode = 500000; +SELECT @@global.sql_mode; +@@global.sql_mode +REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ONLY_FULL_GROUP_BY,POSTGRESQL,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,MYSQL323,MYSQL40,ANSI,HIGH_NOT_PRECEDENCE +SET @@global.sql_mode = 4294967295; +SELECT @@global.sql_mode; +@@global.sql_mode +REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,?,ONLY_FULL_GROUP_BY,NO_UNSIGNED_SUBTRACTION,NO_DIR_IN_CREATE,POSTGRESQL,ORACLE,MSSQL,DB2,MAXDB,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,MYSQL323,MYSQL40,ANSI,NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ALLOW_INVALID_DATES,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,HIGH_NOT_PRECEDENCE,NO_ENGINE_SUBSTITUTION,PAD_CHAR_TO_FULL_LENGTH +SET @@global.sql_mode = 4294967296; +ERROR 42000: Variable 'sql_mode' can't be set to the value of '4294967296' +SET @@global.sql_mode = 0.4; +SELECT @@global.sql_mode; +@@global.sql_mode + +SET @@global.sql_mode = 1.0; +SELECT @@global.sql_mode; +@@global.sql_mode +REAL_AS_FLOAT +SET @@global.sql_mode = 40000.1; +SELECT @@global.sql_mode; +@@global.sql_mode +PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,NO_UNSIGNED_SUBTRACTION,MSSQL,DB2,MAXDB,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,NO_AUTO_CREATE_USER +SET @@global.sql_mode = 1.5; +SELECT @@global.sql_mode; +@@global.sql_mode +PIPES_AS_CONCAT +SET @@global.sql_mode = 124567.49; +SELECT @@global.sql_mode; +@@global.sql_mode +REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,?,NO_DIR_IN_CREATE,ORACLE,MSSQL,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,MYSQL323,NO_AUTO_CREATE_USER,HIGH_NOT_PRECEDENCE +SET @@session.sql_mode = 50000000.5; +SELECT @@session.sql_mode; +@@session.sql_mode +REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,NO_DIR_IN_CREATE,MAXDB,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,MYSQL40,NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,ALLOW_INVALID_DATES,NO_AUTO_CREATE_USER,HIGH_NOT_PRECEDENCE +SET @@session.sql_mode = 4294967295.4; +SELECT @@session.sql_mode; +@@session.sql_mode +REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,?,ONLY_FULL_GROUP_BY,NO_UNSIGNED_SUBTRACTION,NO_DIR_IN_CREATE,POSTGRESQL,ORACLE,MSSQL,DB2,MAXDB,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,MYSQL323,MYSQL40,ANSI,NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ALLOW_INVALID_DATES,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,HIGH_NOT_PRECEDENCE,NO_ENGINE_SUBSTITUTION,PAD_CHAR_TO_FULL_LENGTH +'Bug: Decimal values can be used within the range [0.0-4294967295.5).'; +'Values are rounded to numeric values as evident from outcome.'; +'#---------------------FN_DYNVARS_152_08----------------------#' +SET @@global.sql_mode = TRUE; +SELECT @@global.sql_mode; +@@global.sql_mode +REAL_AS_FLOAT +SET @@global.sql_mode = FALSE; +SELECT @@global.sql_mode; +@@global.sql_mode + +'#---------------------FN_DYNVARS_152_09----------------------#' +SET sql_mode = 'ANSI'; +SET session.sql_mode = 'ANSI'; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'sql_mode = 'ANSI'' at line 1 +SET global.sql_mode = 'ANSI'; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'sql_mode = 'ANSI'' at line 1 +SET session sql_mode = 1; +SELECT @@sql_mode; +@@sql_mode +REAL_AS_FLOAT +SET global sql_mode = 0; +SELECT @@global.sql_mode; +@@global.sql_mode + +'#---------------------FN_DYNVARS_152_10----------------------#' +SET @@session.sql_mode = 'TRADITIONAL,ALLOW_INVALID_DATES,ANSI_QUOTES'; +SELECT @@session.sql_mode; +@@session.sql_mode +ANSI_QUOTES,STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ALLOW_INVALID_DATES,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER +SET @@global.sql_mode = 'ONLY_FULL_GROUP_BY,PIPES_AS_CONCAT,REAL_AS_FLOAT,ORACLE,POSTGRESQL'; +SELECT @@global.sql_mode; +@@global.sql_mode +REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ONLY_FULL_GROUP_BY,POSTGRESQL,ORACLE,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,NO_AUTO_CREATE_USER +SET @@session.sql_mode = 'ERROR_FOR_DIVISION_BY_ZERO,HIGH_OR_PRECEDENCE, +IGNORE_SPACE'; +ERROR 42000: Variable 'sql_mode' can't be set to the value of ' +IGNORE_SPACE' +SET @@global.sql_mode = @global_start_value; +SELECT @@global.sql_mode; +@@global.sql_mode + +SET @@session.sql_mode = @session_start_value; +SELECT @@session.sql_mode; +@@session.sql_mode + diff --git a/mysql-test/r/sql_mode_func.result b/mysql-test/r/sql_mode_func.result new file mode 100644 index 00000000000..dbf0db4e1ad --- /dev/null +++ b/mysql-test/r/sql_mode_func.result @@ -0,0 +1,105 @@ +** Setup ** + +SET @sql_mode_session = @@SESSION.sql_mode; +SET @sql_mode_global = @@GLOBAL.sql_mode; +CREATE TEMPORARY TABLE t1(a varchar(20) not null, b varchar(20)); +CREATE TEMPORARY TABLE t2(a varchar(20) null, b varchar(20)); +'#--------------------FN_DYNVARS_153_01-------------------------#' +ANSI mode +SET SESSION sql_mode = ANSI; +SELECT @@SESSION.sql_mode; +@@SESSION.sql_mode +REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI +INSERT INTO t1 VALUES('t1a1','t1b1'); +INSERT INTO t1 VALUES('t1a2','t1b2'); +INSERT INTO t1 VALUES('t1a3','t1b3'); +INSERT INTO t1 VALUES('t1a4','t1b4'); +INSERT INTO t2 VALUES('t2a1','t2b1'); +INSERT INTO t2 VALUES('t2a2','t2b2'); +INSERT INTO t2 VALUES('t2a3','t2b3'); +INSERT INTO t2 VALUES('t2a4','t2b4'); +SELECT * FROM t1 WHERE t1.a IN (SELECT MAX(t1.b) FROM t2); +ERROR HY000: Invalid use of group function +Expected error for invalid group function +SET SESSION sql_mode = @sql_mode_session; +SET GLOBAL sql_mode = @sql_mode_global; +'#--------------------FN_DYNVARS_153_02-------------------------#' +STRICT_TRANS_TABLES mode +DELETE FROM t1; +DELETE FROM t2; +SET SESSION sql_mode = STRICT_TRANS_TABLES; +SELECT @@SESSION.sql_mode; +@@SESSION.sql_mode +STRICT_TRANS_TABLES +INSERT INTO t1 VALUES('t1a1','t1b1'); +INSERT INTO t1 VALUES('t1a2','t1b2'); +INSERT INTO t1 VALUES('t1a3','t1b3'); +INSERT INTO t1 VALUES('t1a4','t1b4'); +INSERT INTO t2 VALUES(NULL,'t2b1'); +INSERT INTO t2 VALUES('t2a2','t2b2'); +INSERT INTO t2 VALUES('t2a3','t2b3'); +INSERT INTO t2 VALUES('t2a4','t2b4'); +INSERT INTO t1 SELECT * FROM t2; +ERROR 23000: Column 'a' cannot be null +Expected error Bad NULL value +SELECT * FROM t1 WHERE a = 't2a2'; +a b +Should return no rows in columns a,b; +SET SESSION sql_mode = @sql_mode_session; +SET GLOBAL sql_mode = @sql_mode_global; +'#--------------------FN_DYNVARS_153_03-------------------------#' +TRADITIONAL mode +SET SESSION sql_mode = TRADITIONAL; +SELECT @@SESSION.sql_mode; +@@SESSION.sql_mode +STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER +INSERT INTO t1 VALUES('t1a1','t1b1'); +INSERT INTO t1 VALUES('t1a2','t1b2'); +INSERT INTO t1 VALUES('t1a3','t1b3'); +INSERT INTO t1 VALUES('t1a4','t1b4'); +INSERT INTO t2 VALUES(NULL,'t2b1'); +INSERT INTO t2 VALUES('t2a2','t2b2'); +INSERT INTO t2 VALUES('t2a3','t2b3'); +INSERT INTO t2 VALUES('t2a4','t2b4'); +INSERT INTO t1 SELECT * FROM t2; +ERROR 23000: Column 'a' cannot be null +Expected error Bad NULL value +SELECT * FROM t1 WHERE a = 't2a2'; +a b +Should return no rows in columns a,b; +'#-------------------FN_DYNVARS_153_04-------------------------#' +SET GLOBAL sql_mode = ''; +** Connecting con_int1 using root ** +** Connection con_int1 ** +SELECT @@SESSION.sql_mode; +@@SESSION.sql_mode + +'' Expected +SET SESSION sql_mode = 'TRADITIONAL'; +** Connecting con_int2 using root ** +** Connection con_int2 ** +SELECT @@SESSION.sql_mode; +@@SESSION.sql_mode + +'' Expected +SET SESSION sql_mode = 'ANSI'; +** Connection con_int2 ** +SELECT @@SESSION.sql_mode; +@@SESSION.sql_mode +REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI +'REAL_AS_FLOAT, PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE, ANSI' Expected +** Connection con_int1 ** +SELECT @@SESSION.sql_mode; +@@SESSION.sql_mode +STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER +'STRICT_TRANS_TABLES, STRICT_ALL_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, TRADITIONAL' Expected +SELECT @@GLOBAL.sql_mode; +@@GLOBAL.sql_mode + +'' Expected +** Connection default ** +Disconnecting Connections con_int1, con_int2 +SET SESSION sql_mode = @sql_mode_session; +SET GLOBAL sql_mode = @sql_mode_global; +DROP TABLE t1; +DROP TABLE t2; diff --git a/mysql-test/r/sql_notes_basic.result b/mysql-test/r/sql_notes_basic.result new file mode 100644 index 00000000000..5dd792d8ede --- /dev/null +++ b/mysql-test/r/sql_notes_basic.result @@ -0,0 +1,106 @@ +SET @session_start_value = @@session.sql_notes; +SELECT @session_start_value; +@session_start_value +1 +'#--------------------FN_DYNVARS_161_01------------------------#' +SET @@session.sql_notes = 0; +SET @@session.sql_notes = DEFAULT; +SELECT @@session.sql_notes; +@@session.sql_notes +0 +SET @@session.sql_notes = 1; +SET @@session.sql_notes = DEFAULT; +SELECT @@session.sql_notes; +@@session.sql_notes +1 +'#---------------------FN_DYNVARS_161_02-------------------------#' +SET sql_notes = 1; +SELECT @@sql_notes; +@@sql_notes +1 +SELECT session.sql_notes; +ERROR 42S02: Unknown table 'session' in field list +SELECT local.sql_notes; +ERROR 42S02: Unknown table 'local' in field list +SET session sql_notes = 0; +SELECT @@session.sql_notes; +@@session.sql_notes +0 +'#--------------------FN_DYNVARS_161_03------------------------#' +SET @@session.sql_notes = 0; +SELECT @@session.sql_notes; +@@session.sql_notes +0 +SET @@session.sql_notes = 1; +SELECT @@session.sql_notes; +@@session.sql_notes +1 +'#--------------------FN_DYNVARS_161_04-------------------------#' +SET @@session.sql_notes = -1; +ERROR 42000: Variable 'sql_notes' can't be set to the value of '-1' +SET @@session.sql_notes = 2; +ERROR 42000: Variable 'sql_notes' can't be set to the value of '2' +SET @@session.sql_notes = "T"; +ERROR 42000: Variable 'sql_notes' can't be set to the value of 'T' +SET @@session.sql_notes = "Y"; +ERROR 42000: Variable 'sql_notes' can't be set to the value of 'Y' +SET @@session.sql_notes = TRÜE; +ERROR 42000: Variable 'sql_notes' can't be set to the value of 'TRÜE' +SET @@session.sql_notes = ÕN; +ERROR 42000: Variable 'sql_notes' can't be set to the value of 'ÕN' +SET @@session.sql_notes = OF; +SELECT @@session.sql_notes; +@@session.sql_notes +0 +'Bug# 34828: OF is taken as OFF and a value of 0 is set.' +SET @@session.sql_notes = ÓFF; +ERROR 42000: Variable 'sql_notes' can't be set to the value of 'ÓFF' +SET @@session.sql_notes = '¹'; +ERROR 42000: Variable 'sql_notes' can't be set to the value of '¹' +SET @@session.sql_notes = NO; +ERROR 42000: Variable 'sql_notes' can't be set to the value of 'NO' +'#-------------------FN_DYNVARS_161_05----------------------------#' +SET @@global.sql_notes = 0; +ERROR HY000: Variable 'sql_notes' is a SESSION variable and can't be used with SET GLOBAL +SELECT @@global.sql_notes; +ERROR HY000: Variable 'sql_notes' is a SESSION variable +'#----------------------FN_DYNVARS_161_06------------------------#' +SELECT count(VARIABLE_VALUE) FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='sql_notes'; +count(VARIABLE_VALUE) +1 +'#----------------------FN_DYNVARS_161_07------------------------#' +SELECT @@session.sql_notes = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_notes'; +@@session.sql_notes = VARIABLE_VALUE +1 +SELECT @@session.sql_notes; +@@session.sql_notes +0 +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_notes'; +VARIABLE_VALUE +OFF +'#---------------------FN_DYNVARS_161_08-------------------------#' +SET @@session.sql_notes = OFF; +SELECT @@session.sql_notes; +@@session.sql_notes +0 +SET @@session.sql_notes = ON; +SELECT @@session.sql_notes; +@@session.sql_notes +1 +'#---------------------FN_DYNVARS_161_09----------------------#' +SET @@session.sql_notes = TRUE; +SELECT @@session.sql_notes; +@@session.sql_notes +1 +SET @@session.sql_notes = FALSE; +SELECT @@session.sql_notes; +@@session.sql_notes +0 +SET @@session.sql_notes = @session_start_value; +SELECT @@session.sql_notes; +@@session.sql_notes +1 diff --git a/mysql-test/r/sql_notes_func.result b/mysql-test/r/sql_notes_func.result new file mode 100644 index 00000000000..87c4ecb8431 --- /dev/null +++ b/mysql-test/r/sql_notes_func.result @@ -0,0 +1,64 @@ +** Setup ** + +SET @default_sql_notes = @@sql_notes; +'#--------------------FN_DYNVARS_162_01-------------------------#' +SET SESSION sql_notes = ON; +creating a temporary table +CREATE TEMPORARY TABLE t1(a varchar(20), b varchar(20)); +conditionally dropping the table twice so that a note generates +DROP TABLE IF EXISTS t1; +SELECT @@warning_count; +@@warning_count +0 +0 Expected +DROP TABLE IF EXISTS t1; +Warnings: +Note 1051 Unknown table 't1' +SELECT @@warning_count; +@@warning_count +1 +1 Expected +'#--------------------FN_DYNVARS_162_02-------------------------#' +SET SESSION sql_notes = OFF; +creating a temporary table +CREATE TEMPORARY TABLE t1(a varchar(20), b varchar(20)); +conditionally dropping the table twice so that a note generates +DROP TABLE IF EXISTS t1; +SELECT @@warning_count; +@@warning_count +0 +0 Expected +DROP TABLE IF EXISTS t1; +SELECT @@warning_count; +@@warning_count +0 +0 Expected +'#------------------FN_DYNVARS_162_03---------------------------#' +** Connecting con_int1 using root ** +** Connection con_int1 ** +SELECT @@SESSION.sql_notes; +@@SESSION.sql_notes +1 +1 / TRUE Expected +SET SESSION sql_notes = FALSE; +** Connecting con_int2 using root ** +** Connection con_int2 ** +SELECT @@SESSION.sql_notes; +@@SESSION.sql_notes +1 +1 / TRUE Expected +SET SESSION sql_notes = TRUE; +** Connection con_int2 ** +SELECT @@SESSION.sql_notes; +@@SESSION.sql_notes +1 +1 / TRUE Expected +** Connection con_int1 ** +SELECT @@SESSION.sql_notes; +@@SESSION.sql_notes +0 +0 / FALSE Expected +** Connection default ** +Disconnecting Connections con_int1, con_int2 +SET SESSION sql_notes = @default_sql_notes; +DROP TABLE IF EXISTS t1; diff --git a/mysql-test/r/sql_quote_show_create_basic.result b/mysql-test/r/sql_quote_show_create_basic.result new file mode 100644 index 00000000000..2550f2d1057 --- /dev/null +++ b/mysql-test/r/sql_quote_show_create_basic.result @@ -0,0 +1,108 @@ +SET @session_start_value = @@session.sql_quote_show_create; +SELECT @session_start_value; +@session_start_value +1 +'#--------------------FN_DYNVARS_162_01------------------------#' +SET @@session.sql_quote_show_create = 0; +SET @@session.sql_quote_show_create = DEFAULT; +SELECT @@session.sql_quote_show_create; +@@session.sql_quote_show_create +0 +SET @@session.sql_quote_show_create = 1; +SET @@session.sql_quote_show_create = DEFAULT; +SELECT @@session.sql_quote_show_create; +@@session.sql_quote_show_create +1 +'#---------------------FN_DYNVARS_162_02-------------------------#' +SET sql_quote_show_create = 1; +SELECT @@sql_quote_show_create; +@@sql_quote_show_create +1 +SELECT session.sql_quote_show_create; +ERROR 42S02: Unknown table 'session' in field list +SELECT local.sql_quote_show_create; +ERROR 42S02: Unknown table 'local' in field list +SET session sql_quote_show_create = 0; +SELECT @@session.sql_quote_show_create; +@@session.sql_quote_show_create +0 +'#--------------------FN_DYNVARS_162_03------------------------#' +SET @@session.sql_quote_show_create = 0; +SELECT @@session.sql_quote_show_create; +@@session.sql_quote_show_create +0 +SET @@session.sql_quote_show_create = 1; +SELECT @@session.sql_quote_show_create; +@@session.sql_quote_show_create +1 +'#--------------------FN_DYNVARS_162_04-------------------------#' +SET @@session.sql_quote_show_create = -1; +ERROR 42000: Variable 'sql_quote_show_create' can't be set to the value of '-1' +SET @@session.sql_quote_show_create = 2; +ERROR 42000: Variable 'sql_quote_show_create' can't be set to the value of '2' +SET @@session.sql_quote_show_create = "T"; +ERROR 42000: Variable 'sql_quote_show_create' can't be set to the value of 'T' +SET @@session.sql_quote_show_create = "Y"; +ERROR 42000: Variable 'sql_quote_show_create' can't be set to the value of 'Y' +SET @@session.sql_quote_show_create = TRÜE; +ERROR 42000: Variable 'sql_quote_show_create' can't be set to the value of 'TRÜE' +SET @@session.sql_quote_show_create = ÕN; +ERROR 42000: Variable 'sql_quote_show_create' can't be set to the value of 'ÕN' +SET @@session.sql_quote_show_create = OF; +SELECT @@session.sql_quote_show_create; +@@session.sql_quote_show_create +0 +'Bug# 34828: OF is taken as OFF and a value of 0 is set.' +SET @@session.sql_quote_show_create = ÓFF; +ERROR 42000: Variable 'sql_quote_show_create' can't be set to the value of 'ÓFF' +SET @@session.sql_quote_show_create = '¹'; +ERROR 42000: Variable 'sql_quote_show_create' can't be set to the value of '¹' +SET @@session.sql_quote_show_create = NO; +ERROR 42000: Variable 'sql_quote_show_create' can't be set to the value of 'NO' +'#-------------------FN_DYNVARS_162_05----------------------------#' +SET @@global.sql_quote_show_create = 0; +ERROR HY000: Variable 'sql_quote_show_create' is a SESSION variable and can't be used with SET GLOBAL +SELECT @@global.sql_quote_show_create; +ERROR HY000: Variable 'sql_quote_show_create' is a SESSION variable +'#----------------------FN_DYNVARS_162_06------------------------#' +SELECT count(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='sql_quote_show_create'; +count(VARIABLE_VALUE) +1 +'#----------------------FN_DYNVARS_162_07------------------------#' +SELECT @@session.sql_quote_show_create = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_quote_show_create'; +@@session.sql_quote_show_create = VARIABLE_VALUE +1 +SELECT @@session.sql_quote_show_create; +@@session.sql_quote_show_create +0 +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_quote_show_create'; +VARIABLE_VALUE +OFF +'#---------------------FN_DYNVARS_162_08-------------------------#' +SET @@session.sql_quote_show_create = OFF; +SELECT @@session.sql_quote_show_create; +@@session.sql_quote_show_create +0 +SET @@session.sql_quote_show_create = ON; +SELECT @@session.sql_quote_show_create; +@@session.sql_quote_show_create +1 +'#---------------------FN_DYNVARS_162_09----------------------#' +SET @@session.sql_quote_show_create = TRUE; +SELECT @@session.sql_quote_show_create; +@@session.sql_quote_show_create +1 +SET @@session.sql_quote_show_create = FALSE; +SELECT @@session.sql_quote_show_create; +@@session.sql_quote_show_create +0 +SET @@session.sql_quote_show_create = @session_start_value; +SELECT @@session.sql_quote_show_create; +@@session.sql_quote_show_create +1 diff --git a/mysql-test/r/sql_quote_show_create_func.result b/mysql-test/r/sql_quote_show_create_func.result new file mode 100644 index 00000000000..9c1e751eef2 --- /dev/null +++ b/mysql-test/r/sql_quote_show_create_func.result @@ -0,0 +1,61 @@ +** Setup ** + +SET @default_sql_quote_show_create = @@sql_quote_show_create; +CREATE TEMPORARY TABLE t1(a varchar(20), b varchar(20)); +'#-----------------------------FN_DYNVARS_163_01------------------------------------#' +SET SESSION sql_quote_show_create = TRUE; +SHOW CREATE DATABASE test; +Database Create Database +test CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET latin1 */ +EXPECTING identifiers test TO BE quoted like 'test' +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TEMPORARY TABLE `t1` ( + `a` varchar(20) DEFAULT NULL, + `b` varchar(20) DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +EXPECTING identifiers a, b, t1 TO BE quoted like 'a','b','t1' +'#-----------------------------FN_DYNVARS_163_02------------------------------------#' +SET SESSION sql_quote_show_create = FALSE; +SHOW CREATE DATABASE test; +Database Create Database +test CREATE DATABASE test /*!40100 DEFAULT CHARACTER SET latin1 */ +EXPECTING identifiers test NOT TO BE quoted like 'test' +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TEMPORARY TABLE t1 ( + a varchar(20) DEFAULT NULL, + b varchar(20) DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +EXPECTING identifiers a, b, t1 NOT TO BE quoted like 'a','b','t1' +'#----------------------------FN_DYNVARS_163_03--------------------------------------#' +** Connecting con_int1 using root ** +** Connection con_int1 ** +SELECT @@SESSION.sql_quote_show_create; +@@SESSION.sql_quote_show_create +1 +1 / TRUE Expected +SET SESSION sql_quote_show_create = FALSE; +** Connecting con_int2 using root ** +** Connection con_int2 ** +SELECT @@SESSION.sql_quote_show_create; +@@SESSION.sql_quote_show_create +1 +1 / TRUE Expected +SET SESSION sql_quote_show_create = TRUE; +** Connection con_int2 ** +SELECT @@SESSION.sql_quote_show_create; +@@SESSION.sql_quote_show_create +1 +1 / TRUE Expected +** Connection con_int1 ** +SELECT @@SESSION.sql_quote_show_create; +@@SESSION.sql_quote_show_create +0 +0 / FALSE Expected +** Connection default ** +Disconnecting Connections con_int1, con_int2 + +Cleanup +SET @@sql_quote_show_create = @default_sql_quote_show_create; +DROP TABLE t1; diff --git a/mysql-test/r/sql_safe_updates_basic.result b/mysql-test/r/sql_safe_updates_basic.result new file mode 100644 index 00000000000..539b38bb1fe --- /dev/null +++ b/mysql-test/r/sql_safe_updates_basic.result @@ -0,0 +1,108 @@ +SET @session_start_value = @@session.sql_safe_updates; +SELECT @session_start_value; +@session_start_value +0 +'#--------------------FN_DYNVARS_163_01------------------------#' +SET @@session.sql_safe_updates = 0; +SET @@session.sql_safe_updates = DEFAULT; +SELECT @@session.sql_safe_updates; +@@session.sql_safe_updates +0 +SET @@session.sql_safe_updates = 1; +SET @@session.sql_safe_updates = DEFAULT; +SELECT @@session.sql_safe_updates; +@@session.sql_safe_updates +1 +'#---------------------FN_DYNVARS_163_02-------------------------#' +SET sql_safe_updates = 1; +SELECT @@sql_safe_updates; +@@sql_safe_updates +1 +SELECT session.sql_safe_updates; +ERROR 42S02: Unknown table 'session' in field list +SELECT local.sql_safe_updates; +ERROR 42S02: Unknown table 'local' in field list +SET session sql_safe_updates = 0; +SELECT @@session.sql_safe_updates; +@@session.sql_safe_updates +0 +'#--------------------FN_DYNVARS_163_03------------------------#' +SET @@session.sql_safe_updates = 0; +SELECT @@session.sql_safe_updates; +@@session.sql_safe_updates +0 +SET @@session.sql_safe_updates = 1; +SELECT @@session.sql_safe_updates; +@@session.sql_safe_updates +1 +'#--------------------FN_DYNVARS_163_04-------------------------#' +SET @@session.sql_safe_updates = -1; +ERROR 42000: Variable 'sql_safe_updates' can't be set to the value of '-1' +SET @@session.sql_safe_updates = 2; +ERROR 42000: Variable 'sql_safe_updates' can't be set to the value of '2' +SET @@session.sql_safe_updates = "T"; +ERROR 42000: Variable 'sql_safe_updates' can't be set to the value of 'T' +SET @@session.sql_safe_updates = "Y"; +ERROR 42000: Variable 'sql_safe_updates' can't be set to the value of 'Y' +SET @@session.sql_safe_updates = TRÜE; +ERROR 42000: Variable 'sql_safe_updates' can't be set to the value of 'TRÜE' +SET @@session.sql_safe_updates = ÕN; +ERROR 42000: Variable 'sql_safe_updates' can't be set to the value of 'ÕN' +SET @@session.sql_safe_updates = OF; +SELECT @@session.sql_safe_updates; +@@session.sql_safe_updates +0 +'Bug# 34828: OF is taken as OFF and a value of 0 is set.' +SET @@session.sql_safe_updates = ÓFF; +ERROR 42000: Variable 'sql_safe_updates' can't be set to the value of 'ÓFF' +SET @@session.sql_safe_updates = '¹'; +ERROR 42000: Variable 'sql_safe_updates' can't be set to the value of '¹' +SET @@session.sql_safe_updates = NO; +ERROR 42000: Variable 'sql_safe_updates' can't be set to the value of 'NO' +'#-------------------FN_DYNVARS_163_05----------------------------#' +SET @@global.sql_safe_updates = 0; +ERROR HY000: Variable 'sql_safe_updates' is a SESSION variable and can't be used with SET GLOBAL +SELECT @@global.sql_safe_updates; +ERROR HY000: Variable 'sql_safe_updates' is a SESSION variable +'#----------------------FN_DYNVARS_163_06------------------------#' +SELECT count(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='sql_safe_updates'; +count(VARIABLE_VALUE) +1 +'#----------------------FN_DYNVARS_163_07------------------------#' +SELECT @@session.sql_safe_updates = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_safe_updates'; +@@session.sql_safe_updates = VARIABLE_VALUE +1 +SELECT @@session.sql_safe_updates; +@@session.sql_safe_updates +0 +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_safe_updates'; +VARIABLE_VALUE +OFF +'#---------------------FN_DYNVARS_163_08-------------------------#' +SET @@session.sql_safe_updates = OFF; +SELECT @@session.sql_safe_updates; +@@session.sql_safe_updates +0 +SET @@session.sql_safe_updates = ON; +SELECT @@session.sql_safe_updates; +@@session.sql_safe_updates +1 +'#---------------------FN_DYNVARS_163_09----------------------#' +SET @@session.sql_safe_updates = TRUE; +SELECT @@session.sql_safe_updates; +@@session.sql_safe_updates +1 +SET @@session.sql_safe_updates = FALSE; +SELECT @@session.sql_safe_updates; +@@session.sql_safe_updates +0 +SET @@session.sql_safe_updates = @session_start_value; +SELECT @@session.sql_safe_updates; +@@session.sql_safe_updates +0 diff --git a/mysql-test/r/sql_safe_updates_func.result b/mysql-test/r/sql_safe_updates_func.result new file mode 100644 index 00000000000..cf8d613b683 --- /dev/null +++ b/mysql-test/r/sql_safe_updates_func.result @@ -0,0 +1,169 @@ +** Setup ** + +SET @default_sql_safe_updates = @@sql_safe_updates; +CREATE TEMPORARY TABLE t1(a int PRIMARY KEY, b varchar(20)); +INSERT INTO t1 VALUES(1, 'val1'); +INSERT INTO t1 VALUES(2, 'val2'); +INSERT INTO t1 VALUES(3, 'val3'); +INSERT INTO t1 VALUES(4, 'val4'); +INSERT INTO t1 VALUES(5, 'val5'); +INSERT INTO t1 VALUES(6, 'val6'); +INSERT INTO t1 VALUES(7, 'val7'); +INSERT INTO t1 VALUES(8, 'val8'); +INSERT INTO t1 VALUES(9, 'val9'); +'#-----------------------------FN_DYNVARS_164_01------------------------------------#' + +Value ON + +SET SESSION sql_safe_updates = ON; +'#-----------------------------FN_DYNVARS_164_02------------------------------------#' +Expected error : Update without key in safe mode +DELETE FROM t1; +ERROR HY000: You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column +SELECT * FROM t1; +a b +1 val1 +2 val2 +3 val3 +4 val4 +5 val5 +6 val6 +7 val7 +8 val8 +9 val9 +PREPARE stmt FROM 'DELETE FROM t1;'; +Expected error : Update without key in safe mode +EXECUTE stmt; +ERROR HY000: You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column +DEALLOCATE PREPARE stmt; +'#-----------------------------FN_DYNVARS_164_03------------------------------------#' +Expected error : Update without key in safe mode +DELETE FROM t1 LIMIT 2; +ERROR HY000: You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column +SELECT * FROM t1; +a b +1 val1 +2 val2 +3 val3 +4 val4 +5 val5 +6 val6 +7 val7 +8 val8 +9 val9 +'#-----------------------------FN_DYNVARS_164_04------------------------------------#' +Expected error : Update without key in safe mode +DELETE FROM t1 WHERE b='val1'; +ERROR HY000: You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column +SELECT * FROM t1; +a b +1 val1 +2 val2 +3 val3 +4 val4 +5 val5 +6 val6 +7 val7 +8 val8 +9 val9 +'#-----------------------------FN_DYNVARS_164_05------------------------------------#' +This one should work +DELETE FROM t1 WHERE a=1; +SELECT * FROM t1; +a b +2 val2 +3 val3 +4 val4 +5 val5 +6 val6 +7 val7 +8 val8 +9 val9 + +Value OFF + +SET SESSION sql_safe_updates = OFF; +'#-----------------------------FN_DYNVARS_164_06------------------------------------#' +This one should work +DELETE FROM t1 WHERE b='val1'; +SELECT * FROM t1; +a b +2 val2 +3 val3 +4 val4 +5 val5 +6 val6 +7 val7 +8 val8 +9 val9 +'#-----------------------------FN_DYNVARS_164_07------------------------------------#' +This one should work +DELETE FROM t1 WHERE a=1; +SELECT * FROM t1; +a b +2 val2 +3 val3 +4 val4 +5 val5 +6 val6 +7 val7 +8 val8 +9 val9 +'#-----------------------------FN_DYNVARS_164_08------------------------------------#' +This one should work +DELETE FROM t1 LIMIT 2; +SELECT * FROM t1; +a b +4 val4 +5 val5 +6 val6 +7 val7 +8 val8 +9 val9 +'#-----------------------------FN_DYNVARS_164_09------------------------------------#' +This one should work +DELETE FROM t1; +Bug#35392 Unexpected error occurs in this statement Can't change size of the file +statement is remarked because the error is uncatchable by testing framework +SELECT * FROM t1; +a b +4 val4 +5 val5 +6 val6 +7 val7 +8 val8 +9 val9 +PREPARE stmt FROM 'DELETE FROM t1;'; +Expected error : Update without key in safe mode +Bug#35392 Unexpected error occurs in this statement Can't change size of the file +statement is remarked because the error is uncatchable by testing framework +DEALLOCATE PREPARE stmt; +'#----------------------------FN_DYNVARS_164_10--------------------------------------#' +** Connecting con_int1 using root ** +** Connection con_int1 ** +SELECT @@SESSION.sql_safe_updates; +@@SESSION.sql_safe_updates +0 +0 / FALSE Expected +SET SESSION sql_safe_updates = FALSE; +** Connecting con_int2 using root ** +** Connection con_int2 ** +SELECT @@SESSION.sql_safe_updates; +@@SESSION.sql_safe_updates +0 +0 / FALSE Expected +SET SESSION sql_safe_updates = TRUE; +** Connection con_int2 ** +SELECT @@SESSION.sql_safe_updates; +@@SESSION.sql_safe_updates +1 +1 / TRUE Expected +** Connection con_int1 ** +SELECT @@SESSION.sql_safe_updates; +@@SESSION.sql_safe_updates +0 +0 / FALSE Expected +** Connection default ** +Disconnecting Connections con_int1, con_int2 +SET SESSION sql_safe_updates = @default_sql_safe_updates; +DROP TABLE t1; diff --git a/mysql-test/r/sql_select_limit_func.result b/mysql-test/r/sql_select_limit_func.result new file mode 100644 index 00000000000..893816e6f0f --- /dev/null +++ b/mysql-test/r/sql_select_limit_func.result @@ -0,0 +1,172 @@ +** Setup ** + +SET @session_sql_select_limit = @@SESSION.sql_select_limit; +SET @global_sql_select_limit = @@GLOBAL.sql_select_limit; +CREATE TEMPORARY TABLE t1(a int PRIMARY KEY, b varchar(20)); +CREATE TEMPORARY TABLE t2(a int PRIMARY KEY, b varchar(20)); +CREATE TEMPORARY TABLE t3(a int PRIMARY KEY, b varchar(20)); +INSERT INTO t1 VALUES(1, 'val1'); +INSERT INTO t1 VALUES(2, 'val2'); +INSERT INTO t1 VALUES(3, 'val3'); +INSERT INTO t1 VALUES(4, 'val4'); +INSERT INTO t1 VALUES(5, 'val5'); +INSERT INTO t1 VALUES(6, 'val6'); +INSERT INTO t1 VALUES(7, 'val7'); +INSERT INTO t1 VALUES(8, 'val8'); +INSERT INTO t1 VALUES(9, 'val9'); +INSERT INTO t2 VALUES(5, 'val5'); +INSERT INTO t2 VALUES(6, 'val6'); +INSERT INTO t2 VALUES(7, 'val7'); +INSERT INTO t2 VALUES(8, 'val8'); +INSERT INTO t2 VALUES(9, 'val9'); +'#-----------------------------FN_DYNVARS_165_01-----------------#' + +Value DEFAULT + +SET SESSION sql_select_limit = DEFAULT; +affected rows: 0 +SELECT * FROM t1; +a b +1 val1 +2 val2 +3 val3 +4 val4 +5 val5 +6 val6 +7 val7 +8 val8 +9 val9 +affected rows: 9 +Expecting affected rows: 9 +SELECT * FROM t1 INNER JOIN t2 ON t1.a = t2.a; +a b a b +5 val5 5 val5 +6 val6 6 val6 +7 val7 7 val7 +8 val8 8 val8 +9 val9 9 val9 +affected rows: 5 +Expecting affected rows: 5 +'#-----------------------------FN_DYNVARS_165_02---------------#' +SET SESSION sql_select_limit = 2; +affected rows: 0 +SELECT * FROM t1; +a b +1 val1 +2 val2 +affected rows: 2 +Expecting affected rows: 2 +SELECT * FROM t1 INNER JOIN t2 ON t1.a = t2.a; +a b a b +5 val5 5 val5 +6 val6 6 val6 +affected rows: 2 +Expecting affected rows: 2 +'#-----------------------------FN_DYNVARS_165_03---------------#' +SET SESSION sql_select_limit = 2; +affected rows: 0 +SELECT * FROM t1 LIMIT 4; +a b +1 val1 +2 val2 +3 val3 +4 val4 +affected rows: 4 +Expecting affected rows: 4 +SELECT * FROM t1 INNER JOIN t2 ON t1.a = t2.a LIMIT 3; +a b a b +5 val5 5 val5 +6 val6 6 val6 +7 val7 7 val7 +affected rows: 3 +Expecting affected rows: 3 +'#-----------------------------FN_DYNVARS_165_04----------------#' +SET SESSION sql_select_limit = 2; +affected rows: 0 +CREATE PROCEDURE TestProc() +BEGIN +SELECT * FROM t1; +END| +affected rows: 0 +call TestProc(); +a b +1 val1 +2 val2 +3 val3 +4 val4 +5 val5 +6 val6 +7 val7 +8 val8 +9 val9 +affected rows: 9 +affected rows: 0 +Expecting affected rows: 9 +DROP PROCEDURE TestProc; +affected rows: 0 +CREATE PROCEDURE TestProc() +BEGIN +SELECT * FROM t1 INNER JOIN t2 ON t1.a = t2.a; +END| +affected rows: 0 +call TestProc(); +a b a b +5 val5 5 val5 +6 val6 6 val6 +7 val7 7 val7 +8 val8 8 val8 +9 val9 9 val9 +affected rows: 5 +affected rows: 0 +Expecting affected rows: 5 +DROP PROCEDURE TestProc; +affected rows: 0 +'#-----------------------------FN_DYNVARS_165_05-----------------#' +SET SESSION sql_select_limit = 2; +affected rows: 0 +CREATE TEMPORARY TABLE t4(a int PRIMARY KEY, b varchar(20)) SELECT * FROM t2; +affected rows: 5 +info: Records: 5 Duplicates: 0 Warnings: 0 +Expecting Records: 5 +INSERT INTO t3 SELECT * FROM t1; +affected rows: 9 +info: Records: 9 Duplicates: 0 Warnings: 0 +Expecting Records: 9 +'#-----------------------------FN_DYNVARS_165_06---------------------#' +SET GLOBAL sql_select_limit = 2; +** Connecting con_int2 using root ** +** Connection con_int1 ** +SELECT @@SESSION.sql_select_limit; +@@SESSION.sql_select_limit +2 +2 Expected +SET SESSION sql_select_limit = 10; +** Connecting con_int2 using root ** +** Connection con_int2 ** +SELECT @@SESSION.sql_select_limit; +@@SESSION.sql_select_limit +2 +2 Expected +SET SESSION sql_select_limit = 12; +** Connection con_int2 ** +SELECT @@SESSION.sql_select_limit; +@@SESSION.sql_select_limit +12 +12 Expected +** Connection con_int1 ** +SELECT @@SESSION.sql_select_limit; +@@SESSION.sql_select_limit +10 +10 Expected +SELECT @@GLOBAL.sql_select_limit; +@@GLOBAL.sql_select_limit +2 +2 Expected +** Connection default ** +Disconnecting Connections con_int1, con_int2 +SET @@SESSION.sql_select_limit = @session_sql_select_limit; +SET @@GLOBAL.sql_select_limit = @global_sql_select_limit; +DROP TABLE t1; +DROP TABLE t2; +DROP TABLE t3; +DROP TABLE t4; diff --git a/mysql-test/r/sql_slave_skip_counter_basic.result b/mysql-test/r/sql_slave_skip_counter_basic.result new file mode 100644 index 00000000000..9ceef325483 --- /dev/null +++ b/mysql-test/r/sql_slave_skip_counter_basic.result @@ -0,0 +1,40 @@ +'#--------------------FN_DYNVARS_165_01-------------------------#' +SET @start_global_value = @@global.sql_slave_skip_counter; +ERROR HY000: Variable 'sql_slave_skip_counter' can only be set, not read +SELECT @@global.sql_slave_skip_counter; +ERROR HY000: Variable 'sql_slave_skip_counter' can only be set, not read +'Info:This value is write only. Value can not be read' +'#--------------------FN_DYNVARS_165_02-------------------------#' +SET @@global.sql_slave_skip_counter = DEFAULT; +ERROR 42000: Variable 'sql_slave_skip_counter' doesn't have a default value +'#--------------------FN_DYNVARS_165_03-------------------------#' +SET @@global.sql_slave_skip_counter = 0; +SET @@global.sql_slave_skip_counter = 5; +SET @@global.sql_slave_skip_counter = 1024; +SET @@global.sql_slave_skip_counter = 2147483648; +SET @@global.sql_slave_skip_counter = 2147483648*2; +SET @@global.sql_slave_skip_counter = 2147483648*2-1; +SET @@global.sql_slave_skip_counter = 4294967295*4294967295; +'#--------------------FN_DYNVARS_165_03-------------------------#' +SET @@global.sql_slave_skip_counter = '5'; +ERROR 42000: Incorrect argument type to variable 'sql_slave_skip_counter' +SET @@global.sql_slave_skip_counter = 5.5; +ERROR 42000: Incorrect argument type to variable 'sql_slave_skip_counter' +SET @@global.sql_slave_skip_counter = -.5; +ERROR 42000: Incorrect argument type to variable 'sql_slave_skip_counter' +SET @@global.sql_slave_skip_counter = -.0; +ERROR 42000: Incorrect argument type to variable 'sql_slave_skip_counter' +'#--------------------FN_DYNVARS_165_03-------------------------#' +SET @@global.sql_slave_skip_counter = 1024; +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_slave_skip_counter'; +VARIABLE_VALUE + +'#--------------------FN_DYNVARS_165_03-------------------------#' +SET @@sql_slave_skip_counter = 10; +ERROR HY000: Variable 'sql_slave_skip_counter' is a GLOBAL variable and should be set with SET GLOBAL +SET @@session.sql_slave_skip_counter = 12; +ERROR HY000: Variable 'sql_slave_skip_counter' is a GLOBAL variable and should be set with SET GLOBAL +SET @@local.sql_slave_skip_counter = 13; +ERROR HY000: Variable 'sql_slave_skip_counter' is a GLOBAL variable and should be set with SET GLOBAL diff --git a/mysql-test/r/sql_warnings_basic.result b/mysql-test/r/sql_warnings_basic.result new file mode 100644 index 00000000000..46907c0ced8 --- /dev/null +++ b/mysql-test/r/sql_warnings_basic.result @@ -0,0 +1,109 @@ +SET @session_start_value = @@session.sql_warnings; +SELECT @session_start_value; +@session_start_value +0 +'#--------------------FN_DYNVARS_166_01------------------------#' +SET @@session.sql_warnings = 0; +SET @@session.sql_warnings = DEFAULT; +SELECT @@session.sql_warnings; +@@session.sql_warnings +0 +SET @@session.sql_warnings = 1; +SET @@session.sql_warnings = DEFAULT; +SELECT @@session.sql_warnings; +@@session.sql_warnings +1 +'#---------------------FN_DYNVARS_166_02-------------------------#' +SET sql_warnings = 1; +SELECT @@sql_warnings; +@@sql_warnings +1 +SELECT session.sql_warnings; +ERROR 42S02: Unknown table 'session' in field list +SELECT local.sql_warnings; +ERROR 42S02: Unknown table 'local' in field list +SET session sql_warnings = 0; +SELECT @@session.sql_warnings; +@@session.sql_warnings +0 +'#--------------------FN_DYNVARS_166_03------------------------#' +SET @@session.sql_warnings = 0; +SELECT @@session.sql_warnings; +@@session.sql_warnings +0 +SET @@session.sql_warnings = 1; +SELECT @@session.sql_warnings; +@@session.sql_warnings +1 +'#--------------------FN_DYNVARS_166_04-------------------------#' +SET @@session.sql_warnings = -0.6; +ERROR 42000: Variable 'sql_warnings' can't be set to the value of '-1' +SET @@session.sql_warnings = 1.9; +ERROR 42000: Variable 'sql_warnings' can't be set to the value of '2' +SET @@session.sql_warnings = "T"; +ERROR 42000: Variable 'sql_warnings' can't be set to the value of 'T' +SET @@session.sql_warnings = "Y"; +ERROR 42000: Variable 'sql_warnings' can't be set to the value of 'Y' +SET @@session.sql_warnings = TRÜE; +ERROR 42000: Variable 'sql_warnings' can't be set to the value of 'TRÜE' +SET @@session.sql_warnings = ÕN; +ERROR 42000: Variable 'sql_warnings' can't be set to the value of 'ÕN' +SET @@session.sql_warnings = OF; +SELECT @@session.sql_warnings; +@@session.sql_warnings +0 +'Bug# 34828: OF is taken as OFF and a value of 0 is set.' +SET @@session.sql_warnings = ÓFF; +ERROR 42000: Variable 'sql_warnings' can't be set to the value of 'ÓFF' +SET @@session.sql_warnings = '¹'; +ERROR 42000: Variable 'sql_warnings' can't be set to the value of '¹' +SET @@session.sql_warnings = NO; +ERROR 42000: Variable 'sql_warnings' can't be set to the value of 'NO' +'#-------------------FN_DYNVARS_166_05----------------------------#' +SET @@global.sql_warnings = 0; +ERROR HY000: Variable 'sql_warnings' is a SESSION variable and can't be used with SET GLOBAL +SELECT @@global.sql_warnings; +ERROR HY000: Variable 'sql_warnings' is a SESSION variable +'#----------------------FN_DYNVARS_166_06------------------------#' +SELECT count(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='sql_warnings'; +count(VARIABLE_VALUE) +1 +'#----------------------FN_DYNVARS_166_07------------------------#' +SELECT @@session.sql_warnings = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_warnings'; +@@session.sql_warnings = VARIABLE_VALUE +1 +SELECT @@session.sql_warnings; +@@session.sql_warnings +0 +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_warnings'; +VARIABLE_VALUE +OFF +'Bug: value in information schema does not match' +'#---------------------FN_DYNVARS_166_08-------------------------#' +SET @@session.sql_warnings = OFF; +SELECT @@session.sql_warnings; +@@session.sql_warnings +0 +SET @@session.sql_warnings = ON; +SELECT @@session.sql_warnings; +@@session.sql_warnings +1 +'#---------------------FN_DYNVARS_166_09----------------------#' +SET @@session.sql_warnings = TRUE; +SELECT @@session.sql_warnings; +@@session.sql_warnings +1 +SET @@session.sql_warnings = FALSE; +SELECT @@session.sql_warnings; +@@session.sql_warnings +0 +SET @@session.sql_warnings = @session_start_value; +SELECT @@session.sql_warnings; +@@session.sql_warnings +0 diff --git a/mysql-test/r/sql_warnings_func.result b/mysql-test/r/sql_warnings_func.result new file mode 100644 index 00000000000..8b723cf8be3 --- /dev/null +++ b/mysql-test/r/sql_warnings_func.result @@ -0,0 +1,49 @@ +** Setup ** + +SET @default_sql_warnings = @@sql_warnings; +CREATE TEMPORARY TABLE t1(a varchar(5), b varchar(20)); +'#-----------------------------FN_DYNVARS_167_01------------#' +SET @@sql_warnings = DEFAULT; +affected rows: 0 +INSERT INTO t1 VALUES('abcdef', 'val1'); +affected rows: 1 +'#-----------------------------FN_DYNVARS_167_02------------------#' +SET @@sql_warnings = 0; +affected rows: 0 +INSERT INTO t1 VALUES('abcdef', 'val1'); +affected rows: 1 +'#-----------------------------FN_DYNVARS_167_03---------------#' +SET @@sql_warnings = 1; +affected rows: 0 +INSERT INTO t1 VALUES('abcdef', 'val1'); +affected rows: 1 +info: Records: 1 Duplicates: 0 Warnings: 1 +'#----------------------------FN_DYNVARS_167_04---------------#' +** Connecting con_int1 using root ** +** Connection con_int1 ** +SELECT @@SESSION.sql_warnings; +@@SESSION.sql_warnings +0 +0 / FALSE Expected +SET SESSION sql_warnings = FALSE; +** Connecting con_int2 using root ** +** Connection con_int2 ** +SELECT @@SESSION.sql_warnings; +@@SESSION.sql_warnings +0 +0 / FALSE Expected +SET SESSION sql_warnings = TRUE; +** Connection con_int2 ** +SELECT @@SESSION.sql_warnings; +@@SESSION.sql_warnings +1 +1 / TRUE Expected +** Connection con_int1 ** +SELECT @@SESSION.sql_warnings; +@@SESSION.sql_warnings +0 +0 / FALSE Expected +** Connection default ** +Disconnecting Connections con_int1, con_int2 +DROP TABLE t1; +SET @@sql_warnings = @default_sql_warnings; diff --git a/mysql-test/r/ssl_ca_basic.result b/mysql-test/r/ssl_ca_basic.result new file mode 100644 index 00000000000..618c5558c3e --- /dev/null +++ b/mysql-test/r/ssl_ca_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_045_01----------------------#' +SELECT COUNT(@@GLOBAL.ssl_ca); +COUNT(@@GLOBAL.ssl_ca) +1 +1 Expected +'#---------------------BS_STVARS_045_02----------------------#' +SET @@GLOBAL.ssl_ca=1; +ERROR HY000: Variable 'ssl_ca' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.ssl_ca); +COUNT(@@GLOBAL.ssl_ca) +1 +1 Expected +'#---------------------BS_STVARS_045_03----------------------#' +SELECT @@GLOBAL.ssl_ca = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='ssl_ca'; +@@GLOBAL.ssl_ca = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.ssl_ca); +COUNT(@@GLOBAL.ssl_ca) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='ssl_ca'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_045_04----------------------#' +SELECT @@ssl_ca = @@GLOBAL.ssl_ca; +@@ssl_ca = @@GLOBAL.ssl_ca +1 +1 Expected +'#---------------------BS_STVARS_045_05----------------------#' +SELECT COUNT(@@ssl_ca); +COUNT(@@ssl_ca) +1 +1 Expected +SELECT COUNT(@@local.ssl_ca); +ERROR HY000: Variable 'ssl_ca' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.ssl_ca); +ERROR HY000: Variable 'ssl_ca' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.ssl_ca); +COUNT(@@GLOBAL.ssl_ca) +1 +1 Expected +SELECT ssl_ca = @@SESSION.ssl_ca; +ERROR 42S22: Unknown column 'ssl_ca' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/ssl_capath_basic.result b/mysql-test/r/ssl_capath_basic.result new file mode 100644 index 00000000000..a2c01aab806 --- /dev/null +++ b/mysql-test/r/ssl_capath_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_046_01----------------------#' +SELECT COUNT(@@GLOBAL.ssl_capath); +COUNT(@@GLOBAL.ssl_capath) +0 +1 Expected +'#---------------------BS_STVARS_046_02----------------------#' +SET @@GLOBAL.ssl_capath=1; +ERROR HY000: Variable 'ssl_capath' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.ssl_capath); +COUNT(@@GLOBAL.ssl_capath) +0 +1 Expected +'#---------------------BS_STVARS_046_03----------------------#' +SELECT @@GLOBAL.ssl_capath = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='ssl_capath'; +@@GLOBAL.ssl_capath = VARIABLE_VALUE +NULL +1 Expected +SELECT COUNT(@@GLOBAL.ssl_capath); +COUNT(@@GLOBAL.ssl_capath) +0 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='ssl_capath'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_046_04----------------------#' +SELECT @@ssl_capath = @@GLOBAL.ssl_capath; +@@ssl_capath = @@GLOBAL.ssl_capath +NULL +1 Expected +'#---------------------BS_STVARS_046_05----------------------#' +SELECT COUNT(@@ssl_capath); +COUNT(@@ssl_capath) +0 +1 Expected +SELECT COUNT(@@local.ssl_capath); +ERROR HY000: Variable 'ssl_capath' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.ssl_capath); +ERROR HY000: Variable 'ssl_capath' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.ssl_capath); +COUNT(@@GLOBAL.ssl_capath) +0 +1 Expected +SELECT ssl_capath = @@SESSION.ssl_capath; +ERROR 42S22: Unknown column 'ssl_capath' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/ssl_cert_basic.result b/mysql-test/r/ssl_cert_basic.result new file mode 100644 index 00000000000..1571730a653 --- /dev/null +++ b/mysql-test/r/ssl_cert_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_047_01----------------------#' +SELECT COUNT(@@GLOBAL.ssl_cert); +COUNT(@@GLOBAL.ssl_cert) +1 +1 Expected +'#---------------------BS_STVARS_047_02----------------------#' +SET @@GLOBAL.ssl_cert=1; +ERROR HY000: Variable 'ssl_cert' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.ssl_cert); +COUNT(@@GLOBAL.ssl_cert) +1 +1 Expected +'#---------------------BS_STVARS_047_03----------------------#' +SELECT @@GLOBAL.ssl_cert = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='ssl_cert'; +@@GLOBAL.ssl_cert = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.ssl_cert); +COUNT(@@GLOBAL.ssl_cert) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='ssl_cert'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_047_04----------------------#' +SELECT @@ssl_cert = @@GLOBAL.ssl_cert; +@@ssl_cert = @@GLOBAL.ssl_cert +1 +1 Expected +'#---------------------BS_STVARS_047_05----------------------#' +SELECT COUNT(@@ssl_cert); +COUNT(@@ssl_cert) +1 +1 Expected +SELECT COUNT(@@local.ssl_cert); +ERROR HY000: Variable 'ssl_cert' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.ssl_cert); +ERROR HY000: Variable 'ssl_cert' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.ssl_cert); +COUNT(@@GLOBAL.ssl_cert) +1 +1 Expected +SELECT ssl_cert = @@SESSION.ssl_cert; +ERROR 42S22: Unknown column 'ssl_cert' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/ssl_cipher_basic.result b/mysql-test/r/ssl_cipher_basic.result new file mode 100644 index 00000000000..3c7098e1150 --- /dev/null +++ b/mysql-test/r/ssl_cipher_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_048_01----------------------#' +SELECT COUNT(@@GLOBAL.ssl_cipher); +COUNT(@@GLOBAL.ssl_cipher) +0 +1 Expected +'#---------------------BS_STVARS_048_02----------------------#' +SET @@GLOBAL.ssl_cipher=1; +ERROR HY000: Variable 'ssl_cipher' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.ssl_cipher); +COUNT(@@GLOBAL.ssl_cipher) +0 +1 Expected +'#---------------------BS_STVARS_048_03----------------------#' +SELECT @@GLOBAL.ssl_cipher = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='ssl_cipher'; +@@GLOBAL.ssl_cipher = VARIABLE_VALUE +NULL +1 Expected +SELECT COUNT(@@GLOBAL.ssl_cipher); +COUNT(@@GLOBAL.ssl_cipher) +0 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='ssl_cipher'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_048_04----------------------#' +SELECT @@ssl_cipher = @@GLOBAL.ssl_cipher; +@@ssl_cipher = @@GLOBAL.ssl_cipher +NULL +1 Expected +'#---------------------BS_STVARS_048_05----------------------#' +SELECT COUNT(@@ssl_cipher); +COUNT(@@ssl_cipher) +0 +1 Expected +SELECT COUNT(@@local.ssl_cipher); +ERROR HY000: Variable 'ssl_cipher' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.ssl_cipher); +ERROR HY000: Variable 'ssl_cipher' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.ssl_cipher); +COUNT(@@GLOBAL.ssl_cipher) +0 +1 Expected +SELECT ssl_cipher = @@SESSION.ssl_cipher; +ERROR 42S22: Unknown column 'ssl_cipher' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/ssl_key_basic.result b/mysql-test/r/ssl_key_basic.result new file mode 100644 index 00000000000..0869a2915e3 --- /dev/null +++ b/mysql-test/r/ssl_key_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_049_01----------------------#' +SELECT COUNT(@@GLOBAL.ssl_key); +COUNT(@@GLOBAL.ssl_key) +1 +1 Expected +'#---------------------BS_STVARS_049_02----------------------#' +SET @@GLOBAL.ssl_key=1; +ERROR HY000: Variable 'ssl_key' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.ssl_key); +COUNT(@@GLOBAL.ssl_key) +1 +1 Expected +'#---------------------BS_STVARS_049_03----------------------#' +SELECT @@GLOBAL.ssl_key = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='ssl_key'; +@@GLOBAL.ssl_key = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.ssl_key); +COUNT(@@GLOBAL.ssl_key) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='ssl_key'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_049_04----------------------#' +SELECT @@ssl_key = @@GLOBAL.ssl_key; +@@ssl_key = @@GLOBAL.ssl_key +1 +1 Expected +'#---------------------BS_STVARS_049_05----------------------#' +SELECT COUNT(@@ssl_key); +COUNT(@@ssl_key) +1 +1 Expected +SELECT COUNT(@@local.ssl_key); +ERROR HY000: Variable 'ssl_key' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.ssl_key); +ERROR HY000: Variable 'ssl_key' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.ssl_key); +COUNT(@@GLOBAL.ssl_key) +1 +1 Expected +SELECT ssl_key = @@SESSION.ssl_key; +ERROR 42S22: Unknown column 'ssl_key' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/status.result b/mysql-test/r/status.result index fc78f4ad40f..c0eb48d906e 100644 --- a/mysql-test/r/status.result +++ b/mysql-test/r/status.result @@ -162,7 +162,8 @@ Variable_name Value Com_show_status 8 rnd_diff tmp_table_diff 20 8 -show global status like 'Com%function%'; +flush status; +show status like 'Com%function%'; Variable_name Value Com_alter_function 0 Com_create_function 0 @@ -176,7 +177,7 @@ set ret = x * 10; return ret; end // drop function f1; -show global status like 'Com%function%'; +show status like 'Com%function%'; Variable_name Value Com_alter_function 0 Com_create_function 1 diff --git a/mysql-test/r/storage_engine_basic.result b/mysql-test/r/storage_engine_basic.result new file mode 100644 index 00000000000..8d621ac5599 --- /dev/null +++ b/mysql-test/r/storage_engine_basic.result @@ -0,0 +1,115 @@ +SET @start_global_value = @@global.storage_engine; +SELECT @start_global_value; +@start_global_value +MyISAM +SET @start_session_value = @@session.storage_engine; +SELECT @start_session_value; +@start_session_value +MyISAM +'#--------------------FN_DYNVARS_005_01-------------------------#' +SET @@global.storage_engine = MYISAM; +SET @@global.storage_engine = DEFAULT; +ERROR 42000: Variable 'storage_engine' doesn't have a default value +SELECT @@global.storage_engine; +@@global.storage_engine +MyISAM +SET @@session.storage_engine = INNODB; +SET @@session.storage_engine = DEFAULT; +SELECT @@session.storage_engine; +@@session.storage_engine +MyISAM +'#--------------------FN_DYNVARS_005_02-------------------------#' +SET @@global.storage_engine = MYISAM; +SELECT @@global.storage_engine; +@@global.storage_engine +MyISAM +SET @@global.storage_engine = MERGE; +SELECT @@global.storage_engine; +@@global.storage_engine +MRG_MYISAM +SET @@global.storage_engine = MEMORY; +SELECT @@global.storage_engine; +@@global.storage_engine +MEMORY +SET @@global.storage_engine = INNODB; +SELECT @@global.storage_engine; +@@global.storage_engine +InnoDB +'#--------------------FN_DYNVARS_005_03-------------------------#' +SET @@session.storage_engine = MYISAM; +SELECT @@session.storage_engine; +@@session.storage_engine +MyISAM +SET @@session.storage_engine = MERGE; +SELECT @@session.storage_engine; +@@session.storage_engine +MRG_MYISAM +SET @@session.storage_engine = MEMORY; +SELECT @@session.storage_engine; +@@session.storage_engine +MEMORY +SET @@session.storage_engine = INNODB; +SELECT @@session.storage_engine; +@@session.storage_engine +InnoDB +'#------------------FN_DYNVARS_005_04-----------------------#' +SET @@global.storage_engine = 8199; +ERROR 42000: Incorrect argument type to variable 'storage_engine' +SET @@global.storage_engine = -1024; +ERROR 42000: Incorrect argument type to variable 'storage_engine' +SET @@global.storage_engine = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@global.storage_engine = FILE; +ERROR 42000: Unknown table engine 'FILE' +SET @@session.storage_engine = 8199; +ERROR 42000: Incorrect argument type to variable 'storage_engine' +SET @@session.storage_engine = 65530.34.; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 +SET @@session.storage_engine = RECORD; +ERROR 42000: Unknown table engine 'RECORD' +'#------------------FN_DYNVARS_005_05-----------------------#' +SELECT @@global.storage_engine = +VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='storage_engine'; +@@global.storage_engine = +VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_005_06-----------------------#' +SELECT @@session.storage_engine = +VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='storage_engine'; +@@session.storage_engine = +VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_005_07-----------------------#' +SET @@global.storage_engine = TRUE; +ERROR 42000: Incorrect argument type to variable 'storage_engine' +SET @@global.storage_engine = FALSE; +ERROR 42000: Incorrect argument type to variable 'storage_engine' +'#---------------------FN_DYNVARS_001_8----------------------#' +SET @@storage_engine = MYISAM; +SELECT @@storage_engine = @@local.storage_engine; +@@storage_engine = @@local.storage_engine +1 +SELECT @@local.storage_engine = @@session.storage_engine; +@@local.storage_engine = @@session.storage_engine +1 +'#---------------------FN_DYNVARS_001_9----------------------#' +SET storage_engine = MEMORY; +SELECT @@storage_engine; +@@storage_engine +MEMORY +SELECT local.storage_engine; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.storage_engine; +ERROR 42S02: Unknown table 'session' in field list +SELECT storage_engine = @@session.storage_engine; +ERROR 42S22: Unknown column 'storage_engine' in 'field list' +SET @@global.storage_engine = @start_global_value; +SELECT @@global.storage_engine; +@@global.storage_engine +MyISAM +SET @@session.storage_engine = @start_session_value; +SELECT @@session.storage_engine; +@@session.storage_engine +MyISAM diff --git a/mysql-test/r/strict.result b/mysql-test/r/strict.result index ef58a760297..a257d0a8648 100644 --- a/mysql-test/r/strict.result +++ b/mysql-test/r/strict.result @@ -933,8 +933,6 @@ NULL NULL DROP TABLE t1; CREATE TABLE t1 (col1 CHAR(5), col2 VARCHAR(6)); INSERT INTO t1 VALUES ('hello', 'hello'),('he', 'he'),('hello ', 'hello '); -Warnings: -Note 1265 Data truncated for column 'col1' at row 3 INSERT INTO t1 (col1) VALUES ('hellobob'); ERROR 22001: Data too long for column 'col1' at row 1 INSERT INTO t1 (col2) VALUES ('hellobob'); diff --git a/mysql-test/r/subselect.result b/mysql-test/r/subselect.result index 1ef250aae99..ce4ac00b791 100644 --- a/mysql-test/r/subselect.result +++ b/mysql-test/r/subselect.result @@ -4339,6 +4339,28 @@ a4 f3 a6 1 NULL NULL 2 NULL NULL DROP TABLE t1, t2, t3, t4; +create table t1 (a float(5,4) zerofill); +create table t2 (a float(5,4),b float(2,0)); +select t1.a from t1 where +t1.a= (select b from t2 limit 1) and not +t1.a= (select a from t2 limit 1) ; +a +drop table t1, t2; +CREATE TABLE t1 (a INT); +INSERT INTO t1 VALUES (1),(2); +EXPLAIN EXTENDED SELECT 1 FROM t1 WHERE 1 IN (SELECT 1 FROM t1 GROUP BY a); +id select_type table type possible_keys key key_len ref rows filtered Extra +1 PRIMARY t1 ALL NULL NULL NULL NULL 2 100.00 +2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 2 100.00 Using temporary; Using filesort +Warnings: +Note 1003 select 1 AS `1` from `test`.`t1` where (1,(select 1 AS `1` from `test`.`t1` group by `test`.`t1`.`a` having ((1) = (1)))) +EXPLAIN EXTENDED SELECT 1 FROM t1 WHERE 1 IN (SELECT 1 FROM t1 WHERE a > 3 GROUP BY a); +id select_type table type possible_keys key key_len ref rows filtered Extra +1 PRIMARY NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables +2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 2 100.00 Using where; Using temporary; Using filesort +Warnings: +Note 1003 select 1 AS `1` from `test`.`t1` where (1,(select 1 AS `1` from `test`.`t1` where (`test`.`t1`.`a` > 3) group by `test`.`t1`.`a` having ((1) = (1)))) +DROP TABLE t1; End of 5.0 tests. CREATE TABLE t1 (a int, b int); INSERT INTO t1 VALUES (2,22),(1,11),(2,22); diff --git a/mysql-test/r/subselect3.result b/mysql-test/r/subselect3.result index 89cc3626aa9..5f8aa2f1767 100644 --- a/mysql-test/r/subselect3.result +++ b/mysql-test/r/subselect3.result @@ -770,4 +770,13 @@ SELECT ROW(1, 2) IN (SELECT t1.a, 2 FROM t2) FROM t1 GROUP BY t1.a; ROW(1, 2) IN (SELECT t1.a, 2 FROM t2) 1 DROP TABLE t1, t2; +CREATE TABLE t1 (a INT); +INSERT INTO t1 VALUES (1),(2),(3); +CREATE TABLE t2 SELECT * FROM t1; +SELECT 1 FROM t1 WHERE t1.a NOT IN (SELECT 1 FROM t1, t2 WHERE 0); +1 +1 +1 +1 +DROP TABLE t1, t2; End of 5.0 tests diff --git a/mysql-test/r/sync_binlog_basic_32.result b/mysql-test/r/sync_binlog_basic_32.result new file mode 100644 index 00000000000..3d9bfb6d218 --- /dev/null +++ b/mysql-test/r/sync_binlog_basic_32.result @@ -0,0 +1,105 @@ +SET @start_value = @@global.sync_binlog; +SELECT @start_value; +@start_value +0 +'#--------------------FN_DYNVARS_168_01------------------------#' +SET @@global.sync_binlog = 99; +SET @@global.sync_binlog = DEFAULT; +SELECT @@global.sync_binlog; +@@global.sync_binlog +0 +'#---------------------FN_DYNVARS_168_02-------------------------#' +SET @@global.sync_binlog = @start_value; +SELECT @@global.sync_binlog = 0; +@@global.sync_binlog = 0 +1 +'#--------------------FN_DYNVARS_168_03------------------------#' +SET @@global.sync_binlog = 0; +SELECT @@global.sync_binlog; +@@global.sync_binlog +0 +SET @@global.sync_binlog = 1; +SELECT @@global.sync_binlog; +@@global.sync_binlog +1 +SET @@global.sync_binlog = 4294967295; +SELECT @@global.sync_binlog; +@@global.sync_binlog +4294967295 +SET @@global.sync_binlog = 4294967294; +SELECT @@global.sync_binlog; +@@global.sync_binlog +4294967294 +SET @@global.sync_binlog = 65536; +SELECT @@global.sync_binlog; +@@global.sync_binlog +65536 +'#--------------------FN_DYNVARS_168_04-------------------------#' +SET @@global.sync_binlog = -1; +SELECT @@global.sync_binlog; +@@global.sync_binlog +0 +SET @@global.sync_binlog = 4294967296; +SELECT @@global.sync_binlog; +@@global.sync_binlog +0 +SET @@global.sync_binlog = 10240022115; +SELECT @@global.sync_binlog; +@@global.sync_binlog +1650087523 +SET @@global.sync_binlog = 10000.01; +ERROR 42000: Incorrect argument type to variable 'sync_binlog' +SELECT @@global.sync_binlog; +@@global.sync_binlog +1650087523 +SET @@global.sync_binlog = -1024; +SELECT @@global.sync_binlog; +@@global.sync_binlog +0 +SET @@global.sync_binlog = 42949672950; +SELECT @@global.sync_binlog; +@@global.sync_binlog +4294967286 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@global.sync_binlog = ON; +ERROR 42000: Incorrect argument type to variable 'sync_binlog' +SELECT @@global.sync_binlog; +@@global.sync_binlog +4294967286 +SET @@global.sync_binlog = 'test'; +ERROR 42000: Incorrect argument type to variable 'sync_binlog' +SELECT @@global.sync_binlog; +@@global.sync_binlog +4294967286 +'#-------------------FN_DYNVARS_168_05----------------------------#' +SET @@session.sync_binlog = 0; +ERROR HY000: Variable 'sync_binlog' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@sync_binlog; +@@sync_binlog +4294967286 +'#----------------------FN_DYNVARS_168_06------------------------#' +SELECT @@global.sync_binlog = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='sync_binlog'; +@@global.sync_binlog = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_168_07----------------------#' +SET sync_binlog = 1; +ERROR HY000: Variable 'sync_binlog' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@sync_binlog; +@@sync_binlog +4294967286 +SET local.sync_binlog = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'sync_binlog = 1' at line 1 +SELECT local.sync_binlog; +ERROR 42S02: Unknown table 'local' in field list +SET global.sync_binlog = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'sync_binlog = 1' at line 1 +SELECT global.sync_binlog; +ERROR 42S02: Unknown table 'global' in field list +SELECT sync_binlog = @@session.sync_binlog; +ERROR 42S22: Unknown column 'sync_binlog' in 'field list' +SET @@global.sync_binlog = @start_value; +SELECT @@global.sync_binlog; +@@global.sync_binlog +0 diff --git a/mysql-test/r/sync_binlog_basic_64.result b/mysql-test/r/sync_binlog_basic_64.result new file mode 100644 index 00000000000..ffd1b3fc4f1 --- /dev/null +++ b/mysql-test/r/sync_binlog_basic_64.result @@ -0,0 +1,105 @@ +SET @start_value = @@global.sync_binlog; +SELECT @start_value; +@start_value +0 +'#--------------------FN_DYNVARS_168_01------------------------#' +SET @@global.sync_binlog = 99; +SET @@global.sync_binlog = DEFAULT; +SELECT @@global.sync_binlog; +@@global.sync_binlog +0 +'#---------------------FN_DYNVARS_168_02-------------------------#' +SET @@global.sync_binlog = @start_value; +SELECT @@global.sync_binlog = 0; +@@global.sync_binlog = 0 +1 +'#--------------------FN_DYNVARS_168_03------------------------#' +SET @@global.sync_binlog = 0; +SELECT @@global.sync_binlog; +@@global.sync_binlog +0 +SET @@global.sync_binlog = 1; +SELECT @@global.sync_binlog; +@@global.sync_binlog +1 +SET @@global.sync_binlog = 4294967295; +SELECT @@global.sync_binlog; +@@global.sync_binlog +4294967295 +SET @@global.sync_binlog = 4294967294; +SELECT @@global.sync_binlog; +@@global.sync_binlog +4294967294 +SET @@global.sync_binlog = 65536; +SELECT @@global.sync_binlog; +@@global.sync_binlog +65536 +'#--------------------FN_DYNVARS_168_04-------------------------#' +SET @@global.sync_binlog = -1; +SELECT @@global.sync_binlog; +@@global.sync_binlog +0 +SET @@global.sync_binlog = 4294967296; +SELECT @@global.sync_binlog; +@@global.sync_binlog +4294967296 +SET @@global.sync_binlog = 10240022115; +SELECT @@global.sync_binlog; +@@global.sync_binlog +10240022115 +SET @@global.sync_binlog = 10000.01; +ERROR 42000: Incorrect argument type to variable 'sync_binlog' +SELECT @@global.sync_binlog; +@@global.sync_binlog +10240022115 +SET @@global.sync_binlog = -1024; +SELECT @@global.sync_binlog; +@@global.sync_binlog +0 +SET @@global.sync_binlog = 42949672950; +SELECT @@global.sync_binlog; +@@global.sync_binlog +42949672950 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@global.sync_binlog = ON; +ERROR 42000: Incorrect argument type to variable 'sync_binlog' +SELECT @@global.sync_binlog; +@@global.sync_binlog +42949672950 +SET @@global.sync_binlog = 'test'; +ERROR 42000: Incorrect argument type to variable 'sync_binlog' +SELECT @@global.sync_binlog; +@@global.sync_binlog +42949672950 +'#-------------------FN_DYNVARS_168_05----------------------------#' +SET @@session.sync_binlog = 0; +ERROR HY000: Variable 'sync_binlog' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@sync_binlog; +@@sync_binlog +42949672950 +'#----------------------FN_DYNVARS_168_06------------------------#' +SELECT @@global.sync_binlog = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='sync_binlog'; +@@global.sync_binlog = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_168_07----------------------#' +SET sync_binlog = 1; +ERROR HY000: Variable 'sync_binlog' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@sync_binlog; +@@sync_binlog +42949672950 +SET local.sync_binlog = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'sync_binlog = 1' at line 1 +SELECT local.sync_binlog; +ERROR 42S02: Unknown table 'local' in field list +SET global.sync_binlog = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'sync_binlog = 1' at line 1 +SELECT global.sync_binlog; +ERROR 42S02: Unknown table 'global' in field list +SELECT sync_binlog = @@session.sync_binlog; +ERROR 42S22: Unknown column 'sync_binlog' in 'field list' +SET @@global.sync_binlog = @start_value; +SELECT @@global.sync_binlog; +@@global.sync_binlog +0 diff --git a/mysql-test/r/sync_frm_basic.result b/mysql-test/r/sync_frm_basic.result new file mode 100644 index 00000000000..9792307d17f --- /dev/null +++ b/mysql-test/r/sync_frm_basic.result @@ -0,0 +1,97 @@ +SET @start_value = @@global.sync_frm; +SELECT @start_value; +@start_value +1 +'#--------------------FN_DYNVARS_169_01------------------------#' +SET @@global.sync_frm = FALSE; +SET @@global.sync_frm = DEFAULT; +SELECT @@global.sync_frm; +@@global.sync_frm +1 +'#---------------------FN_DYNVARS_169_02-------------------------#' +SET @@global.sync_frm = DEFAULT; +SELECT @@global.sync_frm = TRUE; +@@global.sync_frm = TRUE +1 +'#--------------------FN_DYNVARS_169_03------------------------#' +SET @@global.sync_frm = ON; +SELECT @@global.sync_frm; +@@global.sync_frm +1 +SET @@global.sync_frm = OFF; +SELECT @@global.sync_frm; +@@global.sync_frm +0 +SET @@global.sync_frm = 0; +SELECT @@global.sync_frm; +@@global.sync_frm +0 +SET @@global.sync_frm = 1; +SELECT @@global.sync_frm; +@@global.sync_frm +1 +SET @@global.sync_frm = TRUE; +SELECT @@global.sync_frm; +@@global.sync_frm +1 +SET @@global.sync_frm = FALSE; +SELECT @@global.sync_frm; +@@global.sync_frm +0 +'#--------------------FN_DYNVARS_169_04-------------------------#' +SET @@global.sync_frm = 2; +ERROR 42000: Variable 'sync_frm' can't be set to the value of '2' +SET @@global.sync_frm = -1; +ERROR 42000: Variable 'sync_frm' can't be set to the value of '-1' +SET @@global.sync_frm = TRUEF; +ERROR 42000: Variable 'sync_frm' can't be set to the value of 'TRUEF' +SET @@global.sync_frm = TRUE_F; +ERROR 42000: Variable 'sync_frm' can't be set to the value of 'TRUE_F' +SET @@global.sync_frm = FALSE0; +ERROR 42000: Variable 'sync_frm' can't be set to the value of 'FALSE0' +SET @@global.sync_frm = OON; +ERROR 42000: Variable 'sync_frm' can't be set to the value of 'OON' +SET @@global.sync_frm = ONN; +ERROR 42000: Variable 'sync_frm' can't be set to the value of 'ONN' +SET @@global.sync_frm = OOFF; +ERROR 42000: Variable 'sync_frm' can't be set to the value of 'OOFF' +SET @@global.sync_frm = 0FF; +ERROR 42000: Variable 'sync_frm' can't be set to the value of '0FF' +SET @@global.sync_frm = ' '; +ERROR 42000: Variable 'sync_frm' can't be set to the value of ' ' +SET @@global.sync_frm = " "; +ERROR 42000: Variable 'sync_frm' can't be set to the value of ' ' +SET @@global.sync_frm = ''; +ERROR 42000: Variable 'sync_frm' can't be set to the value of '' +'#-------------------FN_DYNVARS_169_05----------------------------#' +SET @@session.sync_frm = 1; +ERROR HY000: Variable 'sync_frm' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@session.sync_frm; +ERROR HY000: Variable 'sync_frm' is a GLOBAL variable +'#----------------------FN_DYNVARS_169_06------------------------#' +SELECT @@global.sync_frm = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='sync_frm'; +@@global.sync_frm = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_169_07----------------------#' +SET @@global.sync_frm = 1; +SELECT @@sync_frm = @@global.sync_frm; +@@sync_frm = @@global.sync_frm +1 +'#---------------------FN_DYNVARS_169_08----------------------#' +SET sync_frm = 1; +ERROR HY000: Variable 'sync_frm' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@sync_frm; +@@sync_frm +1 +SET global.sync_frm = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'sync_frm = 1' at line 1 +SELECT global.sync_frm; +ERROR 42S02: Unknown table 'global' in field list +SELECT sync_frm = @@session.sync_frm; +ERROR 42S22: Unknown column 'sync_frm' in 'field list' +SET @@global.sync_frm = @start_value; +SELECT @@global.sync_frm; +@@global.sync_frm +1 diff --git a/mysql-test/r/system_time_zone_basic.result b/mysql-test/r/system_time_zone_basic.result new file mode 100644 index 00000000000..c398e5bd93b --- /dev/null +++ b/mysql-test/r/system_time_zone_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_050_01----------------------#' +SELECT COUNT(@@GLOBAL.system_time_zone); +COUNT(@@GLOBAL.system_time_zone) +1 +1 Expected +'#---------------------BS_STVARS_050_02----------------------#' +SET @@GLOBAL.system_time_zone=1; +ERROR HY000: Variable 'system_time_zone' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.system_time_zone); +COUNT(@@GLOBAL.system_time_zone) +1 +1 Expected +'#---------------------BS_STVARS_050_03----------------------#' +SELECT @@GLOBAL.system_time_zone = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='system_time_zone'; +@@GLOBAL.system_time_zone = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.system_time_zone); +COUNT(@@GLOBAL.system_time_zone) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='system_time_zone'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_050_04----------------------#' +SELECT @@system_time_zone = @@GLOBAL.system_time_zone; +@@system_time_zone = @@GLOBAL.system_time_zone +1 +1 Expected +'#---------------------BS_STVARS_050_05----------------------#' +SELECT COUNT(@@system_time_zone); +COUNT(@@system_time_zone) +1 +1 Expected +SELECT COUNT(@@local.system_time_zone); +ERROR HY000: Variable 'system_time_zone' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.system_time_zone); +ERROR HY000: Variable 'system_time_zone' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.system_time_zone); +COUNT(@@GLOBAL.system_time_zone) +1 +1 Expected +SELECT system_time_zone = @@SESSION.system_time_zone; +ERROR 42S22: Unknown column 'system_time_zone' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/table_definition_cache_basic.result b/mysql-test/r/table_definition_cache_basic.result new file mode 100644 index 00000000000..5f0e1960358 --- /dev/null +++ b/mysql-test/r/table_definition_cache_basic.result @@ -0,0 +1,112 @@ +SET @start_value = @@global.table_definition_cache; +SELECT @start_value; +@start_value +256 +'#--------------------FN_DYNVARS_019_01------------------------#' +SET @@global.table_definition_cache = 100; +Warnings: +Warning 1292 Truncated incorrect table_definition_cache value: '100' +SET @@global.table_definition_cache = DEFAULT; +SELECT @@global.table_definition_cache; +@@global.table_definition_cache +256 +'#---------------------FN_DYNVARS_019_02-------------------------#' +SET @@global.table_definition_cache = DEFAULT; +SELECT @@global.table_definition_cache = 128; +@@global.table_definition_cache = 128 +0 +'#--------------------FN_DYNVARS_019_03------------------------#' +SET @@global.table_definition_cache = 1; +Warnings: +Warning 1292 Truncated incorrect table_definition_cache value: '1' +SELECT @@global.table_definition_cache; +@@global.table_definition_cache +256 +SET @@global.table_definition_cache = 2; +Warnings: +Warning 1292 Truncated incorrect table_definition_cache value: '2' +SELECT @@global.table_definition_cache; +@@global.table_definition_cache +256 +SET @@global.table_definition_cache = 524287; +SELECT @@global.table_definition_cache; +@@global.table_definition_cache +524287 +SET @@global.table_definition_cache = 524288; +SELECT @@global.table_definition_cache; +@@global.table_definition_cache +524288 +'#--------------------FN_DYNVARS_019_04-------------------------#' +SET @@global.table_definition_cache = 0; +Warnings: +Warning 1292 Truncated incorrect table_definition_cache value: '0' +SELECT @@global.table_definition_cache; +@@global.table_definition_cache +256 +SET @@global.table_definition_cache = -1024; +Warnings: +Warning 1292 Truncated incorrect table_definition_cache value: '0' +SELECT @@global.table_definition_cache; +@@global.table_definition_cache +256 +SET @@global.table_definition_cache = 524289; +Warnings: +Warning 1292 Truncated incorrect table_definition_cache value: '524289' +SELECT @@global.table_definition_cache; +@@global.table_definition_cache +524288 +SET @@global.table_definition_cache = 42949672950; +Warnings: +Warning 1292 Truncated incorrect table_definition_cache value: '42949672950' +SELECT @@global.table_definition_cache; +@@global.table_definition_cache +524288 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@global.table_definition_cache = 21221204.10; +ERROR 42000: Incorrect argument type to variable 'table_definition_cache' +SET @@global.table_definition_cache = ON; +ERROR 42000: Incorrect argument type to variable 'table_definition_cache' +'#-------------------FN_DYNVARS_019_05----------------------------#' +SET @@session.table_definition_cache = 0; +ERROR HY000: Variable 'table_definition_cache' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@session.table_definition_cache; +ERROR HY000: Variable 'table_definition_cache' is a GLOBAL variable +'#----------------------FN_DYNVARS_019_06------------------------#' +SELECT @@global.table_definition_cache = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='table_definition_cache'; +@@global.table_definition_cache = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_019_07----------------------#' +SET @@global.table_definition_cache = TRUE; +Warnings: +Warning 1292 Truncated incorrect table_definition_cache value: '1' +SELECT @@global.table_definition_cache; +@@global.table_definition_cache +256 +SET @@global.table_definition_cache = FALSE; +Warnings: +Warning 1292 Truncated incorrect table_definition_cache value: '0' +SELECT @@global.table_definition_cache; +@@global.table_definition_cache +256 +'#---------------------FN_DYNVARS_019_08----------------------#' +SET @@global.table_definition_cache = 5; +Warnings: +Warning 1292 Truncated incorrect table_definition_cache value: '5' +SELECT @@table_definition_cache = @@global.table_definition_cache; +@@table_definition_cache = @@global.table_definition_cache +1 +'#---------------------FN_DYNVARS_019_09----------------------#' +SET table_definition_cache = 1; +ERROR HY000: Variable 'table_definition_cache' is a GLOBAL variable and should be set with SET GLOBAL +SET global.table_definition_cache = 1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'table_definition_cache = 1' at line 1 +SELECT global.table_definition_cache; +ERROR 42S02: Unknown table 'global' in field list +SELECT table_definition_cache = @@session.table_definition_cache; +ERROR 42S22: Unknown column 'table_definition_cache' in 'field list' +SET @@global.table_definition_cache = @start_value; +SELECT @@global.table_definition_cache; +@@global.table_definition_cache +256 diff --git a/mysql-test/r/table_lock_wait_timeout_basic.result b/mysql-test/r/table_lock_wait_timeout_basic.result new file mode 100644 index 00000000000..13771980188 --- /dev/null +++ b/mysql-test/r/table_lock_wait_timeout_basic.result @@ -0,0 +1,99 @@ +SET @start_value = @@global.table_lock_wait_timeout; +SELECT @start_value; +@start_value +50 +'#--------------------FN_DYNVARS_001_01------------------------#' +SET @@global.table_lock_wait_timeout = 99; +SET @@global.table_lock_wait_timeout = DeFAULT; +SELECT @@global.table_lock_wait_timeout; +@@global.table_lock_wait_timeout +50 +'#---------------------FN_DYNVARS_001_02-------------------------#' +SET @@global.table_lock_wait_timeout =Default; +SELECT @@global.table_lock_wait_timeout = 50; +@@global.table_lock_wait_timeout = 50 +1 +'#--------------------FN_DYNVARS_001_03------------------------#' +SET @@global.table_lock_wait_timeout = 8; +SELECT @@global.table_lock_wait_timeout ; +@@global.table_lock_wait_timeout +8 +SET @@global.table_lock_wait_timeout = 1; +SELECT @@global.table_lock_wait_timeout ; +@@global.table_lock_wait_timeout +1 +SET @@global.table_lock_wait_timeout = 1073741824; +SELECT @@global.table_lock_wait_timeout ; +@@global.table_lock_wait_timeout +1073741824 +SET @@global.table_lock_wait_timeout = 18000; +SELECT @@global.table_lock_wait_timeout ; +@@global.table_lock_wait_timeout +18000 +SET @@global.table_lock_wait_timeout = 65535; +SELECT @@global.table_lock_wait_timeout ; +@@global.table_lock_wait_timeout +65535 +'#--------------------FN_DYNVARS_001_04-------------------------#' +SET @@global.table_lock_wait_timeout = -1; +Warnings: +Warning 1292 Truncated incorrect table_lock_wait_timeout value: '0' +SET @@global.table_lock_wait_timeout= 100000000000; +Warnings: +Warning 1292 Truncated incorrect table_lock_wait_timeout value: '100000000000' +SET @@global.table_lock_wait_timeout= -1024; +Warnings: +Warning 1292 Truncated incorrect table_lock_wait_timeout value: '0' +SET @@global.table_lock_wait_timeout= 0; +Warnings: +Warning 1292 Truncated incorrect table_lock_wait_timeout value: '0' +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@global.table_lock_wait_timeout= 10000.01; +ERROR 42000: Incorrect argument type to variable 'table_lock_wait_timeout' +SET @@global.table_lock_wait_timeout= ON; +ERROR 42000: Incorrect argument type to variable 'table_lock_wait_timeout' +SET @@global.table_lock_wait_timeout= 'test'; +ERROR 42000: Incorrect argument type to variable 'table_lock_wait_timeout' +SET @@global.table_lock_wait_timeout= ''; +ERROR 42000: Incorrect argument type to variable 'table_lock_wait_timeout' +'#-------------------FN_DYNVARS_001_05----------------------------#' +SET @@session.table_lock_wait_timeout= 0; +ERROR HY000: Variable 'table_lock_wait_timeout' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@table_lock_wait_timeout; +@@table_lock_wait_timeout +1 +'#----------------------FN_DYNVARS_001_06------------------------#' +SELECT @@global.table_lock_wait_timeout= VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='table_lock_wait_timeout'; +@@global.table_lock_wait_timeout= VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_001_09----------------------#' +SET @@global.table_lock_wait_timeout= TRUE; +SELECT @@global.table_lock_wait_timeout; +@@global.table_lock_wait_timeout +1 +SET @@global.table_lock_wait_timeout= FALSE; +Warnings: +Warning 1292 Truncated incorrect table_lock_wait_timeout value: '0' +SELECT @@global.table_lock_wait_timeout; +@@global.table_lock_wait_timeout +1 +'#---------------------FN_DYNVARS_001_10----------------------#' +SET @@global.table_lock_wait_timeout= 10; +SELECT @@table_lock_wait_timeout= @@global.table_lock_wait_timeout; +@@table_lock_wait_timeout= @@global.table_lock_wait_timeout +1 +'#---------------------FN_DYNVARS_001_11----------------------#' +SET table_lock_wait_timeout= 8; +ERROR HY000: Variable 'table_lock_wait_timeout' is a GLOBAL variable and should be set with SET GLOBAL +SET global.table_lock_wait_timeout= 10; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'table_lock_wait_timeout= 10' at line 1 +SELECT global.table_lock_wait_timeout; +ERROR 42S02: Unknown table 'global' in field list +SELECT table_lock_wait_timeout= @@session.table_lock_wait_timeout; +ERROR 42S22: Unknown column 'table_lock_wait_timeout' in 'field list' +SET @@global.table_lock_wait_timeout= @start_value; +SELECT @@global.table_lock_wait_timeout; +@@global.table_lock_wait_timeout +50 diff --git a/mysql-test/r/table_open_cache_basic.result b/mysql-test/r/table_open_cache_basic.result new file mode 100644 index 00000000000..ca02d32386f --- /dev/null +++ b/mysql-test/r/table_open_cache_basic.result @@ -0,0 +1,108 @@ +SET @start_value = @@global.table_open_cache ; +SELECT @start_value; +@start_value +64 +'#--------------------FN_DYNVARS_001_01------------------------#' +SET @@global.table_open_cache = 99; +SET @@global.table_open_cache = DeFAULT; +SELECT @@global.table_open_cache; +@@global.table_open_cache +64 +'#---------------------FN_DYNVARS_001_02-------------------------#' +SET @@global.table_open_cache = Default; +SELECT @@global.table_open_cache = 64; +@@global.table_open_cache = 64 +1 +'#--------------------FN_DYNVARS_001_03------------------------#' +SET @@global.table_open_cache = 8; +SELECT @@global.table_open_cache ; +@@global.table_open_cache +8 +SET @@global.table_open_cache = 1; +SELECT @@global.table_open_cache ; +@@global.table_open_cache +1 +SET @@global.table_open_cache = 1073741824; +Warnings: +Warning 1292 Truncated incorrect table_open_cache value: '1073741824' +SELECT @@global.table_open_cache ; +@@global.table_open_cache +524288 +SET @@global.table_open_cache = 18000; +SELECT @@global.table_open_cache ; +@@global.table_open_cache +18000 +SET @@global.table_open_cache = 65535; +SELECT @@global.table_open_cache ; +@@global.table_open_cache +65535 +'#--------------------FN_DYNVARS_001_04-------------------------#' +SET @@global.table_open_cache = -1; +Warnings: +Warning 1292 Truncated incorrect table_open_cache value: '0' +SELECT @@global.table_open_cache ; +@@global.table_open_cache +1 +SET @@global.table_open_cache = 100000000000; +Warnings: +Warning 1292 Truncated incorrect table_open_cache value: '100000000000' +SELECT @@global.table_open_cache ; +@@global.table_open_cache +524288 +SET @@global.table_open_cache = -1024; +Warnings: +Warning 1292 Truncated incorrect table_open_cache value: '0' +SELECT @@global.table_open_cache ; +@@global.table_open_cache +1 +SET @@global.table_open_cache = 0; +Warnings: +Warning 1292 Truncated incorrect table_open_cache value: '0' +SELECT @@global.table_open_cache ; +@@global.table_open_cache +1 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@global.table_open_cache = 10000.01; +ERROR 42000: Incorrect argument type to variable 'table_open_cache' +SET @@global.table_open_cache = ON; +ERROR 42000: Incorrect argument type to variable 'table_open_cache' +SET @@global.table_open_cache= 'test'; +ERROR 42000: Incorrect argument type to variable 'table_open_cache' +SET @@global.table_open_cache = ''; +ERROR 42000: Incorrect argument type to variable 'table_open_cache' +'#-------------------FN_DYNVARS_001_05----------------------------#' +SET @@session.table_open_cache = 0; +ERROR HY000: Variable 'table_open_cache' is a GLOBAL variable and should be set with SET GLOBAL +'#----------------------FN_DYNVARS_001_06------------------------#' +SELECT @@global.table_open_cache = VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='table_open_cache '; +@@global.table_open_cache = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_001_09----------------------#' +SET @@global.table_open_cache = TRUE; +SELECT @@global.table_open_cache ; +@@global.table_open_cache +1 +SET @@global.table_open_cache = FALSE; +Warnings: +Warning 1292 Truncated incorrect table_open_cache value: '0' +SELECT @@global.table_open_cache ; +@@global.table_open_cache +1 +'#---------------------FN_DYNVARS_001_10----------------------#' +SET @@global.table_open_cache = 10; +SELECT @@table_open_cache = @@global.table_open_cache ; +@@table_open_cache = @@global.table_open_cache +1 +'#---------------------FN_DYNVARS_001_11----------------------#' +SET table_open_cache = 8; +ERROR HY000: Variable 'table_open_cache' is a GLOBAL variable and should be set with SET GLOBAL +SET global.table_open_cache = 10; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'table_open_cache = 10' at line 1 +SELECT global.table_open_cache ; +ERROR 42S02: Unknown table 'global' in field list +SELECT table_open_cache = @@session.table_open_cache ; +ERROR 42S22: Unknown column 'table_open_cache' in 'field list' +SET @@global.table_open_cache = @start_value; +SELECT @@global.table_open_cache ; +@@global.table_open_cache +64 diff --git a/mysql-test/r/thread_cache_size_func.result b/mysql-test/r/thread_cache_size_func.result new file mode 100644 index 00000000000..ccca75bd316 --- /dev/null +++ b/mysql-test/r/thread_cache_size_func.result @@ -0,0 +1,68 @@ +SET @global_thread_cache_size = @@GLOBAL.thread_cache_size; +FLUSH STATUS; +'# Test1#' +SET @@GLOBAL.thread_cache_size=3; +Saving threads cached, threads created values +SHOW STATUS LIKE 'Threads_cached'; +Variable_name Value +Threads_cached 0 +0 Expected +'#Old value for thread_cache'# +** Connecting conn1 using username 'root' ** +** Connecting conn2 using username 'root' ** +** Connecting conn3 using username 'root' ** +** Connecting conn4 using username 'root' ** +Saving threads cached, threads created values +Threads Created Difference +4 +4 Expected +SHOW STATUS LIKE 'Threads_cached'; +Variable_name Value +Threads_cached 0 +0 Expected +** Connection default ** +** Disconnecting conn1,conn2,conn3,conn4 ** +'#new values for thread cache after disconnecting'# +Saving threads cached, threads created values +Threads Created Difference +0 +0 Expected +SHOW STATUS LIKE 'Threads_cached'; +Variable_name Value +Threads_cached 3 +3 Expected +SET @@GLOBAL.thread_cache_size=1; +Saving threads cached, threads created values +Threads Created Difference +0 +0 Expected +SHOW STATUS LIKE 'Threads_cached'; +Variable_name Value +Threads_cached 3 +1 Expected +Bug: The number of threads cached should have decreased with cache size decrease. +** Connecting conn1 using username 'root' ** +** Connecting conn2 using username 'root' ** +Saving threads cached, threads created values +Threads Created Difference +0 +1 Expected +Bug: The number of threads created should have increased because the cache should have 1 thread only +SHOW STATUS LIKE 'Threads_cached'; +Variable_name Value +Threads_cached 1 +0 Expected +Bug: The number of threads created should have decreased because atleast 1 new connection came in +** Connection default ** +** Disconnecting conn1,conn2 ** +'#new status values for thread cache'# +Saving threads cached, threads created values +Threads Created Difference +0 +0 Expected +SHOW STATUS LIKE 'Threads_cached'; +Variable_name Value +Threads_cached 1 +1 Expected +Saving threads cached, threads created values +SET @@GLOBAL.thread_cache_size = @global_thread_cache_size; diff --git a/mysql-test/r/thread_handling_basic.result b/mysql-test/r/thread_handling_basic.result new file mode 100644 index 00000000000..f5a333ac033 --- /dev/null +++ b/mysql-test/r/thread_handling_basic.result @@ -0,0 +1,55 @@ +'#---------------------BS_STVARS_051_01----------------------#' +SELECT COUNT(@@GLOBAL.thread_handling); +COUNT(@@GLOBAL.thread_handling) +1 +1 Expected +'#---------------------BS_STVARS_051_02----------------------#' +SET @@GLOBAL.thread_handling=1; +ERROR HY000: Variable 'thread_handling' is a read only variable +Expected error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT COUNT(@@GLOBAL.thread_handling); +COUNT(@@GLOBAL.thread_handling) +1 +1 Expected +'#---------------------BS_STVARS_051_03----------------------#' +SELECT @@GLOBAL.thread_handling = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='thread_handling'; +@@GLOBAL.thread_handling = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.thread_handling); +COUNT(@@GLOBAL.thread_handling) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='thread_handling'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_051_04----------------------#' +SELECT @@thread_handling = @@GLOBAL.thread_handling; +@@thread_handling = @@GLOBAL.thread_handling +1 +1 Expected +'#---------------------BS_STVARS_051_05----------------------#' +SELECT COUNT(@@thread_handling); +COUNT(@@thread_handling) +1 +1 Expected +SELECT COUNT(@@local.thread_handling); +ERROR HY000: Variable 'thread_handling' is a GLOBAL variable +Bug:Variable is global so it can not be accessed by local there should be error ER_INCORRECT_GLOBAL_LOCAL_VAR +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.thread_handling); +ERROR HY000: Variable 'thread_handling' is a GLOBAL variable +Bug:Variable is global so it can not be accessed by session there should be error ER_INCORRECT_GLOBAL_LOCAL_VAR +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.thread_handling); +COUNT(@@GLOBAL.thread_handling) +1 +1 Expected +SELECT thread_handling = @@SESSION.thread_handling; +ERROR 42S22: Unknown column 'thread_handling' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/time_zone_basic.result b/mysql-test/r/time_zone_basic.result new file mode 100644 index 00000000000..e7d419f28b5 --- /dev/null +++ b/mysql-test/r/time_zone_basic.result @@ -0,0 +1,230 @@ +SET @global_start_value = @@global.time_zone; +SELECT @global_start_value; +@global_start_value +SYSTEM +SET @session_start_value = @@session.time_zone; +SELECT @session_start_value; +@session_start_value +SYSTEM +'#--------------------FN_DYNVARS_001_01------------------------#' +SET @@time_zone = "+02:00"; +SET @@time_zone = DEFAULT; +SELECT @@time_zone; +@@time_zone +SYSTEM +SET @@global.time_zone = "-00:30"; +SET @@global.time_zone = DEFAULT; +SELECT @@global.time_zone; +@@global.time_zone +SYSTEM +'#---------------------FN_DYNVARS_001_02-------------------------#' +SET @@session.time_zone = "+02:00"; +SELECT @@session.time_zone; +@@session.time_zone ++02:00 +SET @@global.time_zone = "+05:00"; +SELECT @@global.time_zone; +@@global.time_zone ++05:00 +SELECT @@session.time_zone AS res_is_02_00; +res_is_02_00 ++02:00 +SET @@session.time_zone = "-02:00"; +SELECT @@session.time_zone; +@@session.time_zone +-02:00 +SELECT @@global.time_zone AS res_is_05_00; +res_is_05_00 ++05:00 +SELECT @@global.time_zone=@@session.time_zone AS res_is_false; +res_is_false +0 +'#--------------------FN_DYNVARS_001_03------------------------#' +SET @@time_zone = "+13:00"; +SELECT @@time_zone; +@@time_zone ++13:00 +SET @@time_zone = "-12:00"; +SELECT @@time_zone; +@@time_zone +-12:00 +SET @@time_zone = "+12:59"; +SELECT @@time_zone; +@@time_zone ++12:59 +SET @@time_zone = "-11:30"; +SELECT @@time_zone; +@@time_zone +-11:30 +SET @@time_zone = "+00:00"; +SELECT @@time_zone; +@@time_zone ++00:00 +SET @@time_zone = "-12:59"; +SELECT @@time_zone; +@@time_zone +-12:59 +SET @@time_zone = "-00:00"; +SELECT @@time_zone; +@@time_zone ++00:00 +SET @@time_zone = "+10:00"; +SELECT @@time_zone; +@@time_zone ++10:00 +SET @@time_zone = "+0:0"; +SELECT @@time_zone; +@@time_zone ++00:00 +SET @@time_zone = "-10:00"; +SELECT @@time_zone; +@@time_zone +-10:00 +SET @@time_zone = "+2:00"; +SELECT @@time_zone; +@@time_zone ++02:00 +SET @@global.time_zone = "+13:00"; +SELECT @@global.time_zone; +@@global.time_zone ++13:00 +SET @@global.time_zone = "-12:00"; +SELECT @@global.time_zone; +@@global.time_zone +-12:00 +SET @@global.time_zone = "+12:59"; +SELECT @@global.time_zone; +@@global.time_zone ++12:59 +SET @@global.time_zone = "-11:30"; +SELECT @@global.time_zone; +@@global.time_zone +-11:30 +SET @@global.time_zone = "+00:00"; +SELECT @@global.time_zone; +@@global.time_zone ++00:00 +SET @@global.time_zone = "-12:59"; +SELECT @@global.time_zone; +@@global.time_zone +-12:59 +SET @@global.time_zone = "-00:00"; +SELECT @@global.time_zone; +@@global.time_zone ++00:00 +SET @@global.time_zone = "+10:00"; +SELECT @@global.time_zone; +@@global.time_zone ++10:00 +SET @@global.time_zone = "+0:0"; +SELECT @@global.time_zone; +@@global.time_zone ++00:00 +SET @@global.time_zone = "-10:00"; +SELECT @@global.time_zone; +@@global.time_zone +-10:00 +SET @@global.time_zone = "+2:00"; +SELECT @@global.time_zone; +@@global.time_zone ++02:00 +'#--------------------FN_DYNVARS_001_04-------------------------#' +SET @@time_zone = "+24:00"; +ERROR HY000: Unknown or incorrect time zone: '+24:00' +SET @@time_zone = "+23:59"; +ERROR HY000: Unknown or incorrect time zone: '+23:59' +SET @@time_zone = "+13:01"; +ERROR HY000: Unknown or incorrect time zone: '+13:01' +SET @@time_zone = "-13:01"; +ERROR HY000: Unknown or incorrect time zone: '-13:01' +SET @@global.time_zone = "+24:00"; +ERROR HY000: Unknown or incorrect time zone: '+24:00' +SET @@global.time_zone = "+23:59"; +ERROR HY000: Unknown or incorrect time zone: '+23:59' +SET @@global.time_zone = "+13:01"; +ERROR HY000: Unknown or incorrect time zone: '+13:01' +SET @@global.time_zone = "-13:01"; +ERROR HY000: Unknown or incorrect time zone: '-13:01' +'#-------------------FN_DYNVARS_001_05----------------------------#' +SET @@global.time_zone = 'SYSTEM'; +SELECT @@global.time_zone; +@@global.time_zone +SYSTEM +SET @@time_zone = 'SYSTEM'; +SELECT @@time_zone; +@@time_zone +SYSTEM +'#----------------------FN_DYNVARS_001_06------------------------#' +SELECT @@time_zone = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='time_zone'; +@@time_zone = VARIABLE_VALUE +1 +'#----------------------FN_DYNVARS_001_07------------------------#' +SELECT @@global.time_zone = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='time_zone'; +@@global.time_zone = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_001_08-------------------------#' +SET @@time_zone = OFF; +ERROR HY000: Unknown or incorrect time zone: 'OFF' +SET @@time_zone = ON; +ERROR HY000: Unknown or incorrect time zone: 'ON' +SET @@time_zone = TRUE; +ERROR 42000: Incorrect argument type to variable 'time_zone' +SET @@time_zone = FALSE; +ERROR 42000: Incorrect argument type to variable 'time_zone' +SET @@global.time_zone = OFF; +ERROR HY000: Unknown or incorrect time zone: 'OFF' +SET @@global.time_zone = ON; +ERROR HY000: Unknown or incorrect time zone: 'ON' +SET @@global.time_zone = TRUE; +ERROR 42000: Incorrect argument type to variable 'time_zone' +SET @@global.time_zone = FALSE; +ERROR 42000: Incorrect argument type to variable 'time_zone' +'#---------------------FN_DYNVARS_001_09----------------------#' +SET @@time_zone = 1; +ERROR 42000: Incorrect argument type to variable 'time_zone' +SET @@time_zone = +0200; +ERROR 42000: Incorrect argument type to variable 'time_zone' +SET @@time_zone = GMT+; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 +SET @@time_zone = ""; +ERROR HY000: Unknown or incorrect time zone: '' +SET @@global.time_zone = 1; +ERROR 42000: Incorrect argument type to variable 'time_zone' +SET @@global.time_zone = +0200; +ERROR 42000: Incorrect argument type to variable 'time_zone' +SET @@global.time_zone = GMT+; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 +SET @@global.time_zone = ""; +ERROR HY000: Unknown or incorrect time zone: '' +'#---------------------FN_DYNVARS_001_10----------------------#' +SET @@time_zone = '+02:30'; +SELECT @@time_zone = @@local.time_zone and @@time_zone = @@session.time_zone; +@@time_zone = @@local.time_zone and @@time_zone = @@session.time_zone +1 +SET @@time_zone = '-01:30'; +SELECT @@time_zone = @@local.time_zone and @@time_zone = @@session.time_zone; +@@time_zone = @@local.time_zone and @@time_zone = @@session.time_zone +1 +'#---------------------FN_DYNVARS_001_11----------------------#' +SET time_zone = "+01:00"; +SELECT @@time_zone; +@@time_zone ++01:00 +SELECT local.time_zone; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.time_zone; +ERROR 42S02: Unknown table 'session' in field list +SELECT time_zone = @@session.time_zone; +ERROR 42S22: Unknown column 'time_zone' in 'field list' +SET @@time_zone = @session_start_value; +SELECT @@time_zone; +@@time_zone +SYSTEM +SET @@global.time_zone = @global_start_value; +SELECT @@global.time_zone; +@@global.time_zone +SYSTEM diff --git a/mysql-test/r/time_zone_func.result b/mysql-test/r/time_zone_func.result new file mode 100644 index 00000000000..2153a3f58ff --- /dev/null +++ b/mysql-test/r/time_zone_func.result @@ -0,0 +1,185 @@ +** Setup ** + +SET @session_time_zone = @@SESSION.time_zone; +SET @global_time_zone = @@GLOBAL.time_zone; +CREATE TABLE t1 (a datetime); +CREATE TABLE t2 (a timestamp); +'#-----------------------------FN_DYNVARS_177_01--------------------#' +SET @@time_zone = DEFAULT; +SELECT @@time_zone; +@@time_zone +SYSTEM +SYSTEM Expected +'#-----------------------------FN_DYNVARS_177_02-------------------#' +SET @@time_zone = '+05:00'; +SELECT @@time_zone; +@@time_zone ++05:00 ++05:00 Expected +SET @@time_zone = '-01:00'; +SELECT @@time_zone; +@@time_zone +-01:00 +-01:00 Expected +SET @@time_zone = '+00:00'; +SELECT @@time_zone; +@@time_zone ++00:00 ++00:00 Expected +SET @@time_zone = '-00:00'; +SELECT @@time_zone; +@@time_zone ++00:00 +-00:00 Expected +'#-----------------------------FN_DYNVARS_177_03----------------#' +SET @@time_zone = '+00:00'; +INSERT INTO t1 VALUES('2008-03-05 16:28:00'); +INSERT INTO t1 VALUES('1970-01-01 00:05:00'),('1970-01-01 01:05:00'); +INSERT INTO t2 VALUES(20080305162800); +INSERT INTO t2 VALUES(19730101235900); +INSERT INTO t2 VALUES('1970-01-01 00:05:00'),('1970-01-01 01:05:00'); +INSERT INTO t2 VALUES(19700101000500); +SELECT a,UNIX_TIMESTAMP(a) FROM t1; +a UNIX_TIMESTAMP(a) +2008-03-05 16:28:00 1204734480 +1970-01-01 00:05:00 300 +1970-01-01 01:05:00 3900 +SELECT a,UNIX_TIMESTAMP(a) FROM t2; +a UNIX_TIMESTAMP(a) +2008-03-05 16:28:00 1204734480 +1973-01-01 23:59:00 94780740 +1970-01-01 00:05:00 300 +1970-01-01 01:05:00 3900 +1970-01-01 00:05:00 300 +SET @@time_zone = 'MET'; +SELECT a,UNIX_TIMESTAMP(a) FROM t1; +a UNIX_TIMESTAMP(a) +2008-03-05 16:28:00 1204730880 +1970-01-01 00:05:00 0 +1970-01-01 01:05:00 300 +SELECT a,UNIX_TIMESTAMP(a) FROM t2; +a UNIX_TIMESTAMP(a) +2008-03-05 17:28:00 1204734480 +1973-01-02 00:59:00 94780740 +1970-01-01 01:05:00 300 +1970-01-01 02:05:00 3900 +1970-01-01 01:05:00 300 +SET @@time_zone = '+05:00'; +SELECT a,UNIX_TIMESTAMP(a) FROM t1; +a UNIX_TIMESTAMP(a) +2008-03-05 16:28:00 1204716480 +1970-01-01 00:05:00 0 +1970-01-01 01:05:00 0 +SELECT a,UNIX_TIMESTAMP(a) FROM t2; +a UNIX_TIMESTAMP(a) +2008-03-05 21:28:00 1204734480 +1973-01-02 04:59:00 94780740 +1970-01-01 05:05:00 300 +1970-01-01 06:05:00 3900 +1970-01-01 05:05:00 300 +SET @@time_zone = '+06:00'; +SELECT a,UNIX_TIMESTAMP(a) FROM t1; +a UNIX_TIMESTAMP(a) +2008-03-05 16:28:00 1204712880 +1970-01-01 00:05:00 0 +1970-01-01 01:05:00 0 +SELECT a,UNIX_TIMESTAMP(a) FROM t2; +a UNIX_TIMESTAMP(a) +2008-03-05 22:28:00 1204734480 +1973-01-02 05:59:00 94780740 +1970-01-01 06:05:00 300 +1970-01-01 07:05:00 3900 +1970-01-01 06:05:00 300 +SET @@time_zone = '+01:00'; +SELECT a,UNIX_TIMESTAMP(a) FROM t1; +a UNIX_TIMESTAMP(a) +2008-03-05 16:28:00 1204730880 +1970-01-01 00:05:00 0 +1970-01-01 01:05:00 300 +SELECT a,UNIX_TIMESTAMP(a) FROM t2; +a UNIX_TIMESTAMP(a) +2008-03-05 17:28:00 1204734480 +1973-01-02 00:59:00 94780740 +1970-01-01 01:05:00 300 +1970-01-01 02:05:00 3900 +1970-01-01 01:05:00 300 +SET @@time_zone = '+02:00'; +SELECT a,UNIX_TIMESTAMP(a) FROM t1; +a UNIX_TIMESTAMP(a) +2008-03-05 16:28:00 1204727280 +1970-01-01 00:05:00 0 +1970-01-01 01:05:00 0 +SELECT a,UNIX_TIMESTAMP(a) FROM t2; +a UNIX_TIMESTAMP(a) +2008-03-05 18:28:00 1204734480 +1973-01-02 01:59:00 94780740 +1970-01-01 02:05:00 300 +1970-01-01 03:05:00 3900 +1970-01-01 02:05:00 300 +SET @@time_zone = '+00:00'; +SELECT a,UNIX_TIMESTAMP(a) FROM t1; +a UNIX_TIMESTAMP(a) +2008-03-05 16:28:00 1204734480 +1970-01-01 00:05:00 300 +1970-01-01 01:05:00 3900 +SELECT a,UNIX_TIMESTAMP(a) FROM t2; +a UNIX_TIMESTAMP(a) +2008-03-05 16:28:00 1204734480 +1973-01-01 23:59:00 94780740 +1970-01-01 00:05:00 300 +1970-01-01 01:05:00 3900 +1970-01-01 00:05:00 300 +SET @@time_zone = '+06:00'; +SELECT a,UNIX_TIMESTAMP(a) FROM t1; +a UNIX_TIMESTAMP(a) +2008-03-05 16:28:00 1204712880 +1970-01-01 00:05:00 0 +1970-01-01 01:05:00 0 +SELECT a,UNIX_TIMESTAMP(a) FROM t2; +a UNIX_TIMESTAMP(a) +2008-03-05 22:28:00 1204734480 +1973-01-02 05:59:00 94780740 +1970-01-01 06:05:00 300 +1970-01-01 07:05:00 3900 +1970-01-01 06:05:00 300 +Potential Feature: upon recovery of timezone, +the original value of the timestamp should be recovered. +'#-----------------------------FN_DYNVARS_177_04--------------------#' +SET @@time_zone = '6'; +ERROR HY000: Unknown or incorrect time zone: '6' +'#-----------------------------FN_DYNVARS_177_05---------------#' +SET GLOBAL time_zone = 'SYSTEM'; +** Connecting con_int1 using root ** +** Connection con_int1 ** +SELECT @@SESSION.time_zone; +@@SESSION.time_zone +SYSTEM +SYSTEM Expected +SET SESSION time_zone = '+05:00'; +** Connecting con_int2 using root ** +** Connection con_int2 ** +SELECT @@SESSION.time_zone; +@@SESSION.time_zone +SYSTEM +SYSTEM Expected +SET SESSION time_zone = '-10:00'; +** Connection con_int2 ** +SELECT @@SESSION.time_zone; +@@SESSION.time_zone +-10:00 +-10:00 Expected +** Connection con_int1 ** +SELECT @@SESSION.time_zone; +@@SESSION.time_zone ++05:00 ++05:00 Expected +SELECT @@GLOBAL.time_zone; +@@GLOBAL.time_zone +SYSTEM +SYSTEM Expected +** Connection default ** +Disconnecting Connections con_int1, con_int2 +SET @@SESSION.time_zone = @session_time_zone; +SET @@GLOBAL.time_zone = @global_time_zone; +DROP TABLE t1; +DROP TABLE t2; diff --git a/mysql-test/r/timed_mutexes_basic.result b/mysql-test/r/timed_mutexes_basic.result new file mode 100644 index 00000000000..d8bd2cd975f --- /dev/null +++ b/mysql-test/r/timed_mutexes_basic.result @@ -0,0 +1,104 @@ +SET @global_start_value = @@global.timed_mutexes; +SELECT @global_start_value; +@global_start_value +0 +'#--------------------FN_DYNVARS_177_01------------------------#' +SET @@global.timed_mutexes = 1; +SET @@global.timed_mutexes = DEFAULT; +SELECT @@global.timed_mutexes; +@@global.timed_mutexes +0 +'#---------------------FN_DYNVARS_177_02-------------------------#' +SET timed_mutexes = 1; +ERROR HY000: Variable 'timed_mutexes' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@timed_mutexes; +@@timed_mutexes +0 +SELECT global.timed_mutexes; +ERROR 42S02: Unknown table 'global' in field list +SET global timed_mutexes = 1; +SELECT @@global.timed_mutexes; +@@global.timed_mutexes +1 +'#--------------------FN_DYNVARS_177_03------------------------#' +SET @@global.timed_mutexes = 0; +SELECT @@global.timed_mutexes; +@@global.timed_mutexes +0 +SET @@global.timed_mutexes = 1; +SELECT @@global.timed_mutexes; +@@global.timed_mutexes +1 +'#--------------------FN_DYNVARS_177_04-------------------------#' +SET @@global.timed_mutexes = -1; +ERROR 42000: Variable 'timed_mutexes' can't be set to the value of '-1' +SET @@global.timed_mutexes = 2; +ERROR 42000: Variable 'timed_mutexes' can't be set to the value of '2' +SET @@global.timed_mutexes = "T"; +ERROR 42000: Variable 'timed_mutexes' can't be set to the value of 'T' +SET @@global.timed_mutexes = "Y"; +ERROR 42000: Variable 'timed_mutexes' can't be set to the value of 'Y' +SET @@global.timed_mutexes = _true; +ERROR 42000: Variable 'timed_mutexes' can't be set to the value of '_true' +SET @@global.timed_mutexes = 0N; +ERROR 42000: Variable 'timed_mutexes' can't be set to the value of '0N' +SET @@global.timed_mutexes = 1+1; +ERROR 42000: Variable 'timed_mutexes' can't be set to the value of '2' +SET @@global.timed_mutexes = 0FF; +ERROR 42000: Variable 'timed_mutexes' can't be set to the value of '0FF' +SET @@global.timed_mutexes = '0'; +ERROR 42000: Variable 'timed_mutexes' can't be set to the value of '0' +SET @@global.timed_mutexes = N; +ERROR 42000: Variable 'timed_mutexes' can't be set to the value of 'N' +'#-------------------FN_DYNVARS_177_05----------------------------#' +SET @@session.timed_mutexes = 0; +ERROR HY000: Variable 'timed_mutexes' is a GLOBAL variable and should be set with SET GLOBAL +SET @@timed_mutexes = 0; +ERROR HY000: Variable 'timed_mutexes' is a GLOBAL variable and should be set with SET GLOBAL +SET @@local.timed_mutexes = 0; +ERROR HY000: Variable 'timed_mutexes' is a GLOBAL variable and should be set with SET GLOBAL +SELECT @@session.timed_mutexes; +ERROR HY000: Variable 'timed_mutexes' is a GLOBAL variable +SELECT @@local.timed_mutexes; +ERROR HY000: Variable 'timed_mutexes' is a GLOBAL variable +'#----------------------FN_DYNVARS_177_06------------------------#' +SELECT count(VARIABLE_VALUE) FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='timed_mutexes'; +count(VARIABLE_VALUE) +1 +'#----------------------FN_DYNVARS_177_07------------------------#' +SELECT @@global.timed_mutexes = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='timed_mutexes'; +@@global.timed_mutexes = VARIABLE_VALUE +0 +SELECT @@global.timed_mutexes; +@@global.timed_mutexes +1 +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='timed_mutexes'; +VARIABLE_VALUE +ON +'#---------------------FN_DYNVARS_177_08-------------------------#' +SET @@global.timed_mutexes = OFF; +SELECT @@global.timed_mutexes; +@@global.timed_mutexes +0 +SET @@global.timed_mutexes = ON; +SELECT @@global.timed_mutexes; +@@global.timed_mutexes +1 +'#---------------------FN_DYNVARS_177_09----------------------#' +SET @@global.timed_mutexes = TRUE; +SELECT @@global.timed_mutexes; +@@global.timed_mutexes +1 +SET @@global.timed_mutexes = FALSE; +SELECT @@global.timed_mutexes; +@@global.timed_mutexes +0 +SET @@global.timed_mutexes = @global_start_value; +SELECT @@global.timed_mutexes; +@@global.timed_mutexes +0 diff --git a/mysql-test/r/timestamp_basic_32.result b/mysql-test/r/timestamp_basic_32.result new file mode 100644 index 00000000000..cc4f0324c0f --- /dev/null +++ b/mysql-test/r/timestamp_basic_32.result @@ -0,0 +1,73 @@ +SET @session_start_value = @@session.timestamp; +'#--------------------FN_DYNVARS_001_01------------------------#' +SET @@timestamp = DEFAULT; +'timestamp does not have any DEFAULT value' +'#---------------------FN_DYNVARS_001_02-------------------------#' +SET @@global.timestamp = "1000"; +ERROR HY000: Variable 'timestamp' is a SESSION variable and can't be used with SET GLOBAL +'#--------------------FN_DYNVARS_001_03------------------------#' +SET @@timestamp = 0; +'Setting 0 resets timestamp to session default timestamp' +SET @@timestamp = 123456789123456; +SELECT @@timestamp; +@@timestamp +2249167232 +SET @@timestamp = 60*60*60*60*365; +SELECT @@timestamp; +@@timestamp +435432704 +SET @@timestamp = -1000000000; +SELECT @@timestamp; +@@timestamp +3294967296 +SET @temp_ts = @@timestamp - @@timestamp; +SELECT @temp_ts; +@temp_ts +0 +'#--------------------FN_DYNVARS_001_04-------------------------#' +SET @@timestamp = "100"; +ERROR 42000: Incorrect argument type to variable 'timestamp' +'Bug# 34836: Documentation says its a string variable but infact its numeric' +SET @@timestamp = " "; +ERROR 42000: Incorrect argument type to variable 'timestamp' +SET @@timestamp = 1.1; +ERROR 42000: Incorrect argument type to variable 'timestamp' +SET @@timestamp = 9999999999999999999999; +ERROR 42000: Incorrect argument type to variable 'timestamp' +'#----------------------FN_DYNVARS_001_06------------------------#' +SELECT @@timestamp = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='timestamp'; +@@timestamp = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_001_08-------------------------#' +SET @@timestamp = OFF; +ERROR 42000: Incorrect argument type to variable 'timestamp' +SET @@timestamp = ON; +ERROR 42000: Incorrect argument type to variable 'timestamp' +SET @@timestamp = TRUE; +SELECT @@timestamp; +@@timestamp +1 +SET @@timestamp = FALSE; +'#---------------------FN_DYNVARS_001_10----------------------#' +SET @@timestamp = 123456; +SELECT @@timestamp = @@local.timestamp and @@timestamp = @@session.timestamp; +@@timestamp = @@local.timestamp and @@timestamp = @@session.timestamp +1 +SET @@timestamp = 654321; +SELECT @@timestamp = @@local.timestamp and @@timestamp = @@session.timestamp; +@@timestamp = @@local.timestamp and @@timestamp = @@session.timestamp +1 +'#---------------------FN_DYNVARS_001_11----------------------#' +SET timestamp = 1; +SELECT @@timestamp; +@@timestamp +1 +SELECT local.timestamp; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.timestamp; +ERROR 42S02: Unknown table 'session' in field list +SELECT timestamp = @@session.timestamp; +ERROR 42S22: Unknown column 'timestamp' in 'field list' +SET @@timestamp = @session_start_value; diff --git a/mysql-test/r/timestamp_basic_64.result b/mysql-test/r/timestamp_basic_64.result new file mode 100644 index 00000000000..df877cd455b --- /dev/null +++ b/mysql-test/r/timestamp_basic_64.result @@ -0,0 +1,73 @@ +SET @session_start_value = @@session.timestamp; +'#--------------------FN_DYNVARS_001_01------------------------#' +SET @@timestamp = DEFAULT; +'timestamp does not have any DEFAULT value' +'#---------------------FN_DYNVARS_001_02-------------------------#' +SET @@global.timestamp = "1000"; +ERROR HY000: Variable 'timestamp' is a SESSION variable and can't be used with SET GLOBAL +'#--------------------FN_DYNVARS_001_03------------------------#' +SET @@timestamp = 0; +'Setting 0 resets timestamp to session default timestamp' +SET @@timestamp = 123456789123456; +SELECT @@timestamp; +@@timestamp +123456789123456 +SET @@timestamp = 60*60*60*60*365; +SELECT @@timestamp; +@@timestamp +4730400000 +SET @@timestamp = -1000000000; +SELECT @@timestamp; +@@timestamp +18446744072709551616 +SET @temp_ts = @@timestamp - @@timestamp; +SELECT @temp_ts; +@temp_ts +0 +'#--------------------FN_DYNVARS_001_04-------------------------#' +SET @@timestamp = "100"; +ERROR 42000: Incorrect argument type to variable 'timestamp' +'Bug# 34836: Documentation says its a string variable but infact its numeric' +SET @@timestamp = " "; +ERROR 42000: Incorrect argument type to variable 'timestamp' +SET @@timestamp = 1.1; +ERROR 42000: Incorrect argument type to variable 'timestamp' +SET @@timestamp = 9999999999999999999999; +ERROR 42000: Incorrect argument type to variable 'timestamp' +'#----------------------FN_DYNVARS_001_06------------------------#' +SELECT @@timestamp = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='timestamp'; +@@timestamp = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_001_08-------------------------#' +SET @@timestamp = OFF; +ERROR 42000: Incorrect argument type to variable 'timestamp' +SET @@timestamp = ON; +ERROR 42000: Incorrect argument type to variable 'timestamp' +SET @@timestamp = TRUE; +SELECT @@timestamp; +@@timestamp +1 +SET @@timestamp = FALSE; +'#---------------------FN_DYNVARS_001_10----------------------#' +SET @@timestamp = 123456; +SELECT @@timestamp = @@local.timestamp and @@timestamp = @@session.timestamp; +@@timestamp = @@local.timestamp and @@timestamp = @@session.timestamp +1 +SET @@timestamp = 654321; +SELECT @@timestamp = @@local.timestamp and @@timestamp = @@session.timestamp; +@@timestamp = @@local.timestamp and @@timestamp = @@session.timestamp +1 +'#---------------------FN_DYNVARS_001_11----------------------#' +SET timestamp = 1; +SELECT @@timestamp; +@@timestamp +1 +SELECT local.timestamp; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.timestamp; +ERROR 42S02: Unknown table 'session' in field list +SELECT timestamp = @@session.timestamp; +ERROR 42S22: Unknown column 'timestamp' in 'field list' +SET @@timestamp = @session_start_value; diff --git a/mysql-test/r/timestamp_func.result b/mysql-test/r/timestamp_func.result new file mode 100644 index 00000000000..ed51cec4227 --- /dev/null +++ b/mysql-test/r/timestamp_func.result @@ -0,0 +1,33 @@ +** Setup ** + +** Connecting con0 using root ** +** Connecting con1 using root ** +'#-----------------------------FN_DYNVARS_179_01------------------#' +** Connection con0 ** +SET @ts_old = @@SESSION.timestamp; +waiting 1 sec +SET @ts_new = @@SESSION.timestamp; +SELECT @ts_new - @ts_old >= 1 AS 'Timestamp Difference'; +Timestamp Difference +1 +1 means >=1 expected is true +** Connection con1 ** +SET @ts_old = @@SESSION.timestamp; +waiting 4 sec +SET @ts_new = @@SESSION.timestamp; +SELECT @ts_new - @ts_old >= 4 AS 'Timestamp Difference'; +Timestamp Difference +1 +1 means >=4 expected is true +'#-----------------------------FN_DYNVARS_179_02---------------------#' +SET @ts_old = @@SESSION.timestamp; +Changing time zone +SET time_zone = 'MET'; +SET @ts_new = @@SESSION.timestamp; +SELECT @ts_new - @ts_old >= 1 AS 'Timestamp Difference'; +Timestamp Difference +1 +1 means >=1 expected is true +** Cleanup ** +** Connection default ** +Disconnecting Connections con0, con1 diff --git a/mysql-test/r/tmp_table_size_basic_32.result b/mysql-test/r/tmp_table_size_basic_32.result new file mode 100644 index 00000000000..aeafd95ed55 --- /dev/null +++ b/mysql-test/r/tmp_table_size_basic_32.result @@ -0,0 +1,172 @@ +SET @start_global_value = @@global.tmp_table_size; +SELECT @start_global_value; +@start_global_value +16777216 +SET @start_session_value = @@session.tmp_table_size; +SELECT @start_session_value; +@start_session_value +16777216 +'Bug# 34876: This variable has invalid default value as compared to documentation'; +'#--------------------FN_DYNVARS_005_01-------------------------#' +SET @@global.tmp_table_size = 100; +Warnings: +Warning 1292 Truncated incorrect tmp_table_size value: '100' +SET @@global.tmp_table_size = DEFAULT; +SELECT @@global.tmp_table_size; +@@global.tmp_table_size +16777216 +'Bug# 34876: This variable has invalid default value as compared to documentation'; +SET @@session.tmp_table_size = 200; +Warnings: +Warning 1292 Truncated incorrect tmp_table_size value: '200' +SET @@session.tmp_table_size = DEFAULT; +SELECT @@session.tmp_table_size; +@@session.tmp_table_size +16777216 +'Bug# 34876: This variable has invalid default value as compared to documentation'; +'#--------------------FN_DYNVARS_005_02-------------------------#' +SET @@global.tmp_table_size = DEFAULT; +SELECT @@global.tmp_table_size = 33554432; +@@global.tmp_table_size = 33554432 +0 +SET @@session.tmp_table_size = DEFAULT; +SELECT @@session.tmp_table_size = 33554432; +@@session.tmp_table_size = 33554432 +0 +'Bug# 34876: This variable has invalid default value as compared to documentation'; +'#--------------------FN_DYNVARS_005_03-------------------------#' +SET @@global.tmp_table_size = 1024; +SELECT @@global.tmp_table_size; +@@global.tmp_table_size +1024 +SET @@global.tmp_table_size = 60020; +SELECT @@global.tmp_table_size; +@@global.tmp_table_size +60020 +SET @@global.tmp_table_size = 4294967295; +SELECT @@global.tmp_table_size; +@@global.tmp_table_size +4294967295 +'#--------------------FN_DYNVARS_005_04-------------------------#' +SET @@session.tmp_table_size = 1024; +SELECT @@session.tmp_table_size; +@@session.tmp_table_size +1024 +SET @@session.tmp_table_size =4294967295; +SELECT @@session.tmp_table_size; +@@session.tmp_table_size +4294967295 +SET @@session.tmp_table_size = 65535; +SELECT @@session.tmp_table_size; +@@session.tmp_table_size +65535 +'#------------------FN_DYNVARS_005_05-----------------------#' +SET @@global.tmp_table_size = 0; +Warnings: +Warning 1292 Truncated incorrect tmp_table_size value: '0' +SELECT @@global.tmp_table_size; +@@global.tmp_table_size +1024 +SET @@global.tmp_table_size = -1024; +Warnings: +Warning 1292 Truncated incorrect tmp_table_size value: '0' +SELECT @@global.tmp_table_size; +@@global.tmp_table_size +1024 +SET @@global.tmp_table_size = 1000; +Warnings: +Warning 1292 Truncated incorrect tmp_table_size value: '1000' +SELECT @@global.tmp_table_size; +@@global.tmp_table_size +1024 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@global.tmp_table_size = ON; +ERROR 42000: Incorrect argument type to variable 'tmp_table_size' +SET @@global.tmp_table_size = OFF; +ERROR 42000: Incorrect argument type to variable 'tmp_table_size' +SET @@global.tmp_table_size = True; +Warnings: +Warning 1292 Truncated incorrect tmp_table_size value: '1' +SELECT @@global.tmp_table_size; +@@global.tmp_table_size +1024 +SET @@global.tmp_table_size = False; +Warnings: +Warning 1292 Truncated incorrect tmp_table_size value: '0' +SELECT @@global.tmp_table_size; +@@global.tmp_table_size +1024 +'Bug:Error should be shown that variable is numeric and can not assigned boolean value'; +SET @@global.tmp_table_size = 65530.34; +ERROR 42000: Incorrect argument type to variable 'tmp_table_size' +SET @@global.tmp_table_size ="Test"; +ERROR 42000: Incorrect argument type to variable 'tmp_table_size' +SET @@session.tmp_table_size = ON; +ERROR 42000: Incorrect argument type to variable 'tmp_table_size' +SET @@session.tmp_table_size = OFF; +ERROR 42000: Incorrect argument type to variable 'tmp_table_size' +SET @@session.tmp_table_size = True; +Warnings: +Warning 1292 Truncated incorrect tmp_table_size value: '1' +SELECT @@session.tmp_table_size; +@@session.tmp_table_size +1024 +SET @@session.tmp_table_size = False; +Warnings: +Warning 1292 Truncated incorrect tmp_table_size value: '0' +SELECT @@session.tmp_table_size; +@@session.tmp_table_size +1024 +SET @@session.tmp_table_size = "Test"; +ERROR 42000: Incorrect argument type to variable 'tmp_table_size' +SET @@session.tmp_table_size = 12345678901; +SELECT @@session.tmp_table_size; +@@session.tmp_table_size +4294967295 +'#------------------FN_DYNVARS_005_06-----------------------#' +SELECT @@global.tmp_table_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='tmp_table_size'; +@@global.tmp_table_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_005_07-----------------------#' +SELECT @@session.tmp_table_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='tmp_table_size'; +@@session.tmp_table_size = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_001_09----------------------#' +SET @@global.tmp_table_size = 1024; +SET @@tmp_table_size = 4294967295; +SELECT @@tmp_table_size = @@global.tmp_table_size; +@@tmp_table_size = @@global.tmp_table_size +0 +'#---------------------FN_DYNVARS_001_10----------------------#' +SET @@tmp_table_size = 100; +Warnings: +Warning 1292 Truncated incorrect tmp_table_size value: '100' +SELECT @@tmp_table_size = @@local.tmp_table_size; +@@tmp_table_size = @@local.tmp_table_size +1 +SELECT @@local.tmp_table_size = @@session.tmp_table_size; +@@local.tmp_table_size = @@session.tmp_table_size +1 +'#---------------------FN_DYNVARS_001_11----------------------#' +SET tmp_table_size = 1027; +SELECT @@tmp_table_size; +@@tmp_table_size +1027 +SELECT local.tmp_table_size; +ERROR 42S02: Unknown table 'local' in field list +SELECT global.tmp_table_size; +ERROR 42S02: Unknown table 'global' in field list +SELECT tmp_table_size = @@session.tmp_table_size; +ERROR 42S22: Unknown column 'tmp_table_size' in 'field list' +SET @@global.tmp_table_size = @start_global_value; +SELECT @@global.tmp_table_size; +@@global.tmp_table_size +16777216 +SET @@session.tmp_table_size = @start_session_value; +SELECT @@session.tmp_table_size; +@@session.tmp_table_size +16777216 diff --git a/mysql-test/r/tmp_table_size_basic_64.result b/mysql-test/r/tmp_table_size_basic_64.result new file mode 100644 index 00000000000..837b90fc143 --- /dev/null +++ b/mysql-test/r/tmp_table_size_basic_64.result @@ -0,0 +1,172 @@ +SET @start_global_value = @@global.tmp_table_size; +SELECT @start_global_value; +@start_global_value +16777216 +SET @start_session_value = @@session.tmp_table_size; +SELECT @start_session_value; +@start_session_value +16777216 +'Bug# 34876: This variable has invalid default value as compared to documentation'; +'#--------------------FN_DYNVARS_005_01-------------------------#' +SET @@global.tmp_table_size = 100; +Warnings: +Warning 1292 Truncated incorrect tmp_table_size value: '100' +SET @@global.tmp_table_size = DEFAULT; +SELECT @@global.tmp_table_size; +@@global.tmp_table_size +16777216 +'Bug# 34876: This variable has invalid default value as compared to documentation'; +SET @@session.tmp_table_size = 200; +Warnings: +Warning 1292 Truncated incorrect tmp_table_size value: '200' +SET @@session.tmp_table_size = DEFAULT; +SELECT @@session.tmp_table_size; +@@session.tmp_table_size +16777216 +'Bug# 34876: This variable has invalid default value as compared to documentation'; +'#--------------------FN_DYNVARS_005_02-------------------------#' +SET @@global.tmp_table_size = DEFAULT; +SELECT @@global.tmp_table_size = 33554432; +@@global.tmp_table_size = 33554432 +0 +SET @@session.tmp_table_size = DEFAULT; +SELECT @@session.tmp_table_size = 33554432; +@@session.tmp_table_size = 33554432 +0 +'Bug# 34876: This variable has invalid default value as compared to documentation'; +'#--------------------FN_DYNVARS_005_03-------------------------#' +SET @@global.tmp_table_size = 1024; +SELECT @@global.tmp_table_size; +@@global.tmp_table_size +1024 +SET @@global.tmp_table_size = 60020; +SELECT @@global.tmp_table_size; +@@global.tmp_table_size +60020 +SET @@global.tmp_table_size = 4294967295; +SELECT @@global.tmp_table_size; +@@global.tmp_table_size +4294967295 +'#--------------------FN_DYNVARS_005_04-------------------------#' +SET @@session.tmp_table_size = 1024; +SELECT @@session.tmp_table_size; +@@session.tmp_table_size +1024 +SET @@session.tmp_table_size =4294967295; +SELECT @@session.tmp_table_size; +@@session.tmp_table_size +4294967295 +SET @@session.tmp_table_size = 65535; +SELECT @@session.tmp_table_size; +@@session.tmp_table_size +65535 +'#------------------FN_DYNVARS_005_05-----------------------#' +SET @@global.tmp_table_size = 0; +Warnings: +Warning 1292 Truncated incorrect tmp_table_size value: '0' +SELECT @@global.tmp_table_size; +@@global.tmp_table_size +1024 +SET @@global.tmp_table_size = -1024; +Warnings: +Warning 1292 Truncated incorrect tmp_table_size value: '0' +SELECT @@global.tmp_table_size; +@@global.tmp_table_size +1024 +SET @@global.tmp_table_size = 1000; +Warnings: +Warning 1292 Truncated incorrect tmp_table_size value: '1000' +SELECT @@global.tmp_table_size; +@@global.tmp_table_size +1024 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@global.tmp_table_size = ON; +ERROR 42000: Incorrect argument type to variable 'tmp_table_size' +SET @@global.tmp_table_size = OFF; +ERROR 42000: Incorrect argument type to variable 'tmp_table_size' +SET @@global.tmp_table_size = True; +Warnings: +Warning 1292 Truncated incorrect tmp_table_size value: '1' +SELECT @@global.tmp_table_size; +@@global.tmp_table_size +1024 +SET @@global.tmp_table_size = False; +Warnings: +Warning 1292 Truncated incorrect tmp_table_size value: '0' +SELECT @@global.tmp_table_size; +@@global.tmp_table_size +1024 +'Bug:Error should be shown that variable is numeric and can not assigned boolean value'; +SET @@global.tmp_table_size = 65530.34; +ERROR 42000: Incorrect argument type to variable 'tmp_table_size' +SET @@global.tmp_table_size ="Test"; +ERROR 42000: Incorrect argument type to variable 'tmp_table_size' +SET @@session.tmp_table_size = ON; +ERROR 42000: Incorrect argument type to variable 'tmp_table_size' +SET @@session.tmp_table_size = OFF; +ERROR 42000: Incorrect argument type to variable 'tmp_table_size' +SET @@session.tmp_table_size = True; +Warnings: +Warning 1292 Truncated incorrect tmp_table_size value: '1' +SELECT @@session.tmp_table_size; +@@session.tmp_table_size +1024 +SET @@session.tmp_table_size = False; +Warnings: +Warning 1292 Truncated incorrect tmp_table_size value: '0' +SELECT @@session.tmp_table_size; +@@session.tmp_table_size +1024 +SET @@session.tmp_table_size = "Test"; +ERROR 42000: Incorrect argument type to variable 'tmp_table_size' +SET @@session.tmp_table_size = 12345678901; +SELECT @@session.tmp_table_size; +@@session.tmp_table_size +12345678901 +'#------------------FN_DYNVARS_005_06-----------------------#' +SELECT @@global.tmp_table_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='tmp_table_size'; +@@global.tmp_table_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_005_07-----------------------#' +SELECT @@session.tmp_table_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='tmp_table_size'; +@@session.tmp_table_size = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_001_09----------------------#' +SET @@global.tmp_table_size = 1024; +SET @@tmp_table_size = 4294967295; +SELECT @@tmp_table_size = @@global.tmp_table_size; +@@tmp_table_size = @@global.tmp_table_size +0 +'#---------------------FN_DYNVARS_001_10----------------------#' +SET @@tmp_table_size = 100; +Warnings: +Warning 1292 Truncated incorrect tmp_table_size value: '100' +SELECT @@tmp_table_size = @@local.tmp_table_size; +@@tmp_table_size = @@local.tmp_table_size +1 +SELECT @@local.tmp_table_size = @@session.tmp_table_size; +@@local.tmp_table_size = @@session.tmp_table_size +1 +'#---------------------FN_DYNVARS_001_11----------------------#' +SET tmp_table_size = 1027; +SELECT @@tmp_table_size; +@@tmp_table_size +1027 +SELECT local.tmp_table_size; +ERROR 42S02: Unknown table 'local' in field list +SELECT global.tmp_table_size; +ERROR 42S02: Unknown table 'global' in field list +SELECT tmp_table_size = @@session.tmp_table_size; +ERROR 42S22: Unknown column 'tmp_table_size' in 'field list' +SET @@global.tmp_table_size = @start_global_value; +SELECT @@global.tmp_table_size; +@@global.tmp_table_size +16777216 +SET @@session.tmp_table_size = @start_session_value; +SELECT @@session.tmp_table_size; +@@session.tmp_table_size +16777216 diff --git a/mysql-test/r/tmpdir_basic.result b/mysql-test/r/tmpdir_basic.result new file mode 100644 index 00000000000..613cc8ec3cd --- /dev/null +++ b/mysql-test/r/tmpdir_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_052_01----------------------#' +SELECT COUNT(@@GLOBAL.tmpdir); +COUNT(@@GLOBAL.tmpdir) +1 +1 Expected +'#---------------------BS_STVARS_052_02----------------------#' +SET @@GLOBAL.tmpdir=1; +ERROR HY000: Variable 'tmpdir' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.tmpdir); +COUNT(@@GLOBAL.tmpdir) +1 +1 Expected +'#---------------------BS_STVARS_052_03----------------------#' +SELECT @@GLOBAL.tmpdir = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='tmpdir'; +@@GLOBAL.tmpdir = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.tmpdir); +COUNT(@@GLOBAL.tmpdir) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='tmpdir'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_052_04----------------------#' +SELECT @@tmpdir = @@GLOBAL.tmpdir; +@@tmpdir = @@GLOBAL.tmpdir +1 +1 Expected +'#---------------------BS_STVARS_052_05----------------------#' +SELECT COUNT(@@tmpdir); +COUNT(@@tmpdir) +1 +1 Expected +SELECT COUNT(@@local.tmpdir); +ERROR HY000: Variable 'tmpdir' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.tmpdir); +ERROR HY000: Variable 'tmpdir' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.tmpdir); +COUNT(@@GLOBAL.tmpdir) +1 +1 Expected +SELECT tmpdir = @@SESSION.tmpdir; +ERROR 42S22: Unknown column 'tmpdir' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/transaction_alloc_block_size_basic_32.result b/mysql-test/r/transaction_alloc_block_size_basic_32.result new file mode 100644 index 00000000000..706d7802ed3 --- /dev/null +++ b/mysql-test/r/transaction_alloc_block_size_basic_32.result @@ -0,0 +1,180 @@ +SET @start_global_value = @@global.transaction_alloc_block_size; +SELECT @start_global_value; +@start_global_value +8192 +SET @start_session_value = @@session.transaction_alloc_block_size; +SELECT @start_session_value; +@start_session_value +8192 +'#--------------------FN_DYNVARS_005_01-------------------------#' +SET @@global.transaction_alloc_block_size = 100; +Warnings: +Warning 1292 Truncated incorrect transaction_alloc_block_size value: '100' +SET @@global.transaction_alloc_block_size = DEFAULT; +SELECT @@global.transaction_alloc_block_size; +@@global.transaction_alloc_block_size +8192 +SET @@session.transaction_alloc_block_size = 200; +Warnings: +Warning 1292 Truncated incorrect transaction_alloc_block_size value: '200' +SET @@session.transaction_alloc_block_size = DEFAULT; +SELECT @@session.transaction_alloc_block_size; +@@session.transaction_alloc_block_size +8192 +'#--------------------FN_DYNVARS_005_02-------------------------#' +SET @@global.transaction_alloc_block_size = DEFAULT; +SELECT @@global.transaction_alloc_block_size = 8192; +@@global.transaction_alloc_block_size = 8192 +1 +SET @@session.transaction_alloc_block_size = DEFAULT; +SELECT @@session.transaction_alloc_block_size = 8192; +@@session.transaction_alloc_block_size = 8192 +1 +'#--------------------FN_DYNVARS_005_03-------------------------#' +SET @@global.transaction_alloc_block_size = 1024; +SELECT @@global.transaction_alloc_block_size; +@@global.transaction_alloc_block_size +1024 +SET @@global.transaction_alloc_block_size = 60020; +SELECT @@global.transaction_alloc_block_size; +@@global.transaction_alloc_block_size +59392 +SET @@global.transaction_alloc_block_size = 4294967295; +SELECT @@global.transaction_alloc_block_size; +@@global.transaction_alloc_block_size +4294966272 +'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +'#--------------------FN_DYNVARS_005_04-------------------------#' +SET @@session.transaction_alloc_block_size = 1024; +SELECT @@session.transaction_alloc_block_size; +@@session.transaction_alloc_block_size +1024 +SET @@session.transaction_alloc_block_size =4294967295; +SELECT @@session.transaction_alloc_block_size; +@@session.transaction_alloc_block_size +4294966272 +SET @@session.transaction_alloc_block_size = 65535; +SELECT @@session.transaction_alloc_block_size; +@@session.transaction_alloc_block_size +64512 +'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +'#------------------FN_DYNVARS_005_05-----------------------#' +SET @@global.transaction_alloc_block_size = 0; +Warnings: +Warning 1292 Truncated incorrect transaction_alloc_block_size value: '0' +SELECT @@global.transaction_alloc_block_size; +@@global.transaction_alloc_block_size +1024 +SET @@global.transaction_alloc_block_size = -1024; +Warnings: +Warning 1292 Truncated incorrect transaction_alloc_block_size value: '0' +SELECT @@global.transaction_alloc_block_size; +@@global.transaction_alloc_block_size +1024 +SET @@global.transaction_alloc_block_size = 123456789201; +Warnings: +Warning 1292 Truncated incorrect transaction_alloc_block_size value: '123456789201' +SELECT @@global.transaction_alloc_block_size; +@@global.transaction_alloc_block_size +4294966272 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@global.transaction_alloc_block_size = ON; +ERROR 42000: Incorrect argument type to variable 'transaction_alloc_block_size' +SET @@global.transaction_alloc_block_size = OFF; +ERROR 42000: Incorrect argument type to variable 'transaction_alloc_block_size' +SET @@global.transaction_alloc_block_size = True; +Warnings: +Warning 1292 Truncated incorrect transaction_alloc_block_size value: '1' +SELECT @@global.transaction_alloc_block_size; +@@global.transaction_alloc_block_size +1024 +SET @@global.transaction_alloc_block_size = False; +Warnings: +Warning 1292 Truncated incorrect transaction_alloc_block_size value: '0' +SELECT @@global.transaction_alloc_block_size; +@@global.transaction_alloc_block_size +1024 +SET @@global.transaction_alloc_block_size = 65530.34; +ERROR 42000: Incorrect argument type to variable 'transaction_alloc_block_size' +SET @@global.transaction_alloc_block_size ="Test"; +ERROR 42000: Incorrect argument type to variable 'transaction_alloc_block_size' +SET @@global.transaction_alloc_block_size = 1000; +Warnings: +Warning 1292 Truncated incorrect transaction_alloc_block_size value: '1000' +SELECT @@global.transaction_alloc_block_size; +@@global.transaction_alloc_block_size +1024 +SET @@session.transaction_alloc_block_size = 12345678901; +Warnings: +Warning 1292 Truncated incorrect transaction_alloc_block_size value: '12345678901' +SELECT @@session.transaction_alloc_block_size; +@@session.transaction_alloc_block_size +4294966272 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@session.transaction_alloc_block_size = ON; +ERROR 42000: Incorrect argument type to variable 'transaction_alloc_block_size' +SET @@session.transaction_alloc_block_size = OFF; +ERROR 42000: Incorrect argument type to variable 'transaction_alloc_block_size' +SET @@session.transaction_alloc_block_size = True; +Warnings: +Warning 1292 Truncated incorrect transaction_alloc_block_size value: '1' +SELECT @@session.transaction_alloc_block_size; +@@session.transaction_alloc_block_size +1024 +SET @@session.transaction_alloc_block_size = False; +Warnings: +Warning 1292 Truncated incorrect transaction_alloc_block_size value: '0' +SELECT @@session.transaction_alloc_block_size; +@@session.transaction_alloc_block_size +1024 +SET @@session.transaction_alloc_block_size = "Test"; +ERROR 42000: Incorrect argument type to variable 'transaction_alloc_block_size' +SET @@session.transaction_alloc_block_size = 'test'; +ERROR 42000: Incorrect argument type to variable 'transaction_alloc_block_size' +'#------------------FN_DYNVARS_005_06-----------------------#' +SELECT @@global.transaction_alloc_block_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='transaction_alloc_block_size'; +@@global.transaction_alloc_block_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_005_07-----------------------#' +SELECT @@session.transaction_alloc_block_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='transaction_alloc_block_size'; +@@session.transaction_alloc_block_size = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_001_08----------------------#' +SET @@transaction_alloc_block_size = 1024; +SET @@global.transaction_alloc_block_size = 4294967295; +SELECT @@transaction_alloc_block_size = @@global.transaction_alloc_block_size; +@@transaction_alloc_block_size = @@global.transaction_alloc_block_size +0 +'#---------------------FN_DYNVARS_001_09----------------------#' +SET @@transaction_alloc_block_size = 100; +Warnings: +Warning 1292 Truncated incorrect transaction_alloc_block_size value: '100' +SELECT @@transaction_alloc_block_size = @@local.transaction_alloc_block_size; +@@transaction_alloc_block_size = @@local.transaction_alloc_block_size +1 +SELECT @@local.transaction_alloc_block_size = @@session.transaction_alloc_block_size; +@@local.transaction_alloc_block_size = @@session.transaction_alloc_block_size +1 +'#---------------------FN_DYNVARS_001_10----------------------#' +SET transaction_alloc_block_size = 1027; +SELECT @@transaction_alloc_block_size; +@@transaction_alloc_block_size +1024 +SELECT local.transaction_alloc_block_size; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.transaction_alloc_block_size; +ERROR 42S02: Unknown table 'session' in field list +SELECT transaction_alloc_block_size = @@session.transaction_alloc_block_size; +ERROR 42S22: Unknown column 'transaction_alloc_block_size' in 'field list' +SET @@global.transaction_alloc_block_size = @start_global_value; +SELECT @@global.transaction_alloc_block_size; +@@global.transaction_alloc_block_size +8192 +SET @@session.tmp_table_size = @start_session_value; +SELECT @@session.transaction_alloc_block_size; +@@session.transaction_alloc_block_size +1024 diff --git a/mysql-test/r/transaction_alloc_block_size_basic_64.result b/mysql-test/r/transaction_alloc_block_size_basic_64.result new file mode 100644 index 00000000000..c968d6f108c --- /dev/null +++ b/mysql-test/r/transaction_alloc_block_size_basic_64.result @@ -0,0 +1,176 @@ +SET @start_global_value = @@global.transaction_alloc_block_size; +SELECT @start_global_value; +@start_global_value +8192 +SET @start_session_value = @@session.transaction_alloc_block_size; +SELECT @start_session_value; +@start_session_value +8192 +'#--------------------FN_DYNVARS_005_01-------------------------#' +SET @@global.transaction_alloc_block_size = 100; +Warnings: +Warning 1292 Truncated incorrect transaction_alloc_block_size value: '100' +SET @@global.transaction_alloc_block_size = DEFAULT; +SELECT @@global.transaction_alloc_block_size; +@@global.transaction_alloc_block_size +8192 +SET @@session.transaction_alloc_block_size = 200; +Warnings: +Warning 1292 Truncated incorrect transaction_alloc_block_size value: '200' +SET @@session.transaction_alloc_block_size = DEFAULT; +SELECT @@session.transaction_alloc_block_size; +@@session.transaction_alloc_block_size +8192 +'#--------------------FN_DYNVARS_005_02-------------------------#' +SET @@global.transaction_alloc_block_size = DEFAULT; +SELECT @@global.transaction_alloc_block_size = 8192; +@@global.transaction_alloc_block_size = 8192 +1 +SET @@session.transaction_alloc_block_size = DEFAULT; +SELECT @@session.transaction_alloc_block_size = 8192; +@@session.transaction_alloc_block_size = 8192 +1 +'#--------------------FN_DYNVARS_005_03-------------------------#' +SET @@global.transaction_alloc_block_size = 1024; +SELECT @@global.transaction_alloc_block_size; +@@global.transaction_alloc_block_size +1024 +SET @@global.transaction_alloc_block_size = 60020; +SELECT @@global.transaction_alloc_block_size; +@@global.transaction_alloc_block_size +59392 +SET @@global.transaction_alloc_block_size = 4294967295; +SELECT @@global.transaction_alloc_block_size; +@@global.transaction_alloc_block_size +4294966272 +'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +'#--------------------FN_DYNVARS_005_04-------------------------#' +SET @@session.transaction_alloc_block_size = 1024; +SELECT @@session.transaction_alloc_block_size; +@@session.transaction_alloc_block_size +1024 +SET @@session.transaction_alloc_block_size =4294967295; +SELECT @@session.transaction_alloc_block_size; +@@session.transaction_alloc_block_size +4294966272 +SET @@session.transaction_alloc_block_size = 65535; +SELECT @@session.transaction_alloc_block_size; +@@session.transaction_alloc_block_size +64512 +'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; +'#------------------FN_DYNVARS_005_05-----------------------#' +SET @@global.transaction_alloc_block_size = 0; +Warnings: +Warning 1292 Truncated incorrect transaction_alloc_block_size value: '0' +SELECT @@global.transaction_alloc_block_size; +@@global.transaction_alloc_block_size +1024 +SET @@global.transaction_alloc_block_size = -1024; +Warnings: +Warning 1292 Truncated incorrect transaction_alloc_block_size value: '0' +SELECT @@global.transaction_alloc_block_size; +@@global.transaction_alloc_block_size +1024 +SET @@global.transaction_alloc_block_size = 123456789201; +SELECT @@global.transaction_alloc_block_size; +@@global.transaction_alloc_block_size +123456788480 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@global.transaction_alloc_block_size = ON; +ERROR 42000: Incorrect argument type to variable 'transaction_alloc_block_size' +SET @@global.transaction_alloc_block_size = OFF; +ERROR 42000: Incorrect argument type to variable 'transaction_alloc_block_size' +SET @@global.transaction_alloc_block_size = True; +Warnings: +Warning 1292 Truncated incorrect transaction_alloc_block_size value: '1' +SELECT @@global.transaction_alloc_block_size; +@@global.transaction_alloc_block_size +1024 +SET @@global.transaction_alloc_block_size = False; +Warnings: +Warning 1292 Truncated incorrect transaction_alloc_block_size value: '0' +SELECT @@global.transaction_alloc_block_size; +@@global.transaction_alloc_block_size +1024 +SET @@global.transaction_alloc_block_size = 65530.34; +ERROR 42000: Incorrect argument type to variable 'transaction_alloc_block_size' +SET @@global.transaction_alloc_block_size ="Test"; +ERROR 42000: Incorrect argument type to variable 'transaction_alloc_block_size' +SET @@global.transaction_alloc_block_size = 1000; +Warnings: +Warning 1292 Truncated incorrect transaction_alloc_block_size value: '1000' +SELECT @@global.transaction_alloc_block_size; +@@global.transaction_alloc_block_size +1024 +SET @@session.transaction_alloc_block_size = 12345678901; +SELECT @@session.transaction_alloc_block_size; +@@session.transaction_alloc_block_size +12345678848 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@session.transaction_alloc_block_size = ON; +ERROR 42000: Incorrect argument type to variable 'transaction_alloc_block_size' +SET @@session.transaction_alloc_block_size = OFF; +ERROR 42000: Incorrect argument type to variable 'transaction_alloc_block_size' +SET @@session.transaction_alloc_block_size = True; +Warnings: +Warning 1292 Truncated incorrect transaction_alloc_block_size value: '1' +SELECT @@session.transaction_alloc_block_size; +@@session.transaction_alloc_block_size +1024 +SET @@session.transaction_alloc_block_size = False; +Warnings: +Warning 1292 Truncated incorrect transaction_alloc_block_size value: '0' +SELECT @@session.transaction_alloc_block_size; +@@session.transaction_alloc_block_size +1024 +SET @@session.transaction_alloc_block_size = "Test"; +ERROR 42000: Incorrect argument type to variable 'transaction_alloc_block_size' +SET @@session.transaction_alloc_block_size = 'test'; +ERROR 42000: Incorrect argument type to variable 'transaction_alloc_block_size' +'#------------------FN_DYNVARS_005_06-----------------------#' +SELECT @@global.transaction_alloc_block_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='transaction_alloc_block_size'; +@@global.transaction_alloc_block_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_005_07-----------------------#' +SELECT @@session.transaction_alloc_block_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='transaction_alloc_block_size'; +@@session.transaction_alloc_block_size = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_001_08----------------------#' +SET @@transaction_alloc_block_size = 1024; +SET @@global.transaction_alloc_block_size = 4294967295; +SELECT @@transaction_alloc_block_size = @@global.transaction_alloc_block_size; +@@transaction_alloc_block_size = @@global.transaction_alloc_block_size +0 +'#---------------------FN_DYNVARS_001_09----------------------#' +SET @@transaction_alloc_block_size = 100; +Warnings: +Warning 1292 Truncated incorrect transaction_alloc_block_size value: '100' +SELECT @@transaction_alloc_block_size = @@local.transaction_alloc_block_size; +@@transaction_alloc_block_size = @@local.transaction_alloc_block_size +1 +SELECT @@local.transaction_alloc_block_size = @@session.transaction_alloc_block_size; +@@local.transaction_alloc_block_size = @@session.transaction_alloc_block_size +1 +'#---------------------FN_DYNVARS_001_10----------------------#' +SET transaction_alloc_block_size = 1027; +SELECT @@transaction_alloc_block_size; +@@transaction_alloc_block_size +1024 +SELECT local.transaction_alloc_block_size; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.transaction_alloc_block_size; +ERROR 42S02: Unknown table 'session' in field list +SELECT transaction_alloc_block_size = @@session.transaction_alloc_block_size; +ERROR 42S22: Unknown column 'transaction_alloc_block_size' in 'field list' +SET @@global.transaction_alloc_block_size = @start_global_value; +SELECT @@global.transaction_alloc_block_size; +@@global.transaction_alloc_block_size +8192 +SET @@session.tmp_table_size = @start_session_value; +SELECT @@session.transaction_alloc_block_size; +@@session.transaction_alloc_block_size +1024 diff --git a/mysql-test/r/transaction_prealloc_size_basic_32.result b/mysql-test/r/transaction_prealloc_size_basic_32.result new file mode 100644 index 00000000000..3df7a55595e --- /dev/null +++ b/mysql-test/r/transaction_prealloc_size_basic_32.result @@ -0,0 +1,172 @@ +SET @start_global_value = @@global.transaction_prealloc_size; +SELECT @start_global_value; +@start_global_value +4096 +SET @start_session_value = @@session.transaction_prealloc_size; +SELECT @start_session_value; +@start_session_value +4096 +'Bug# 34876: This variable has invalid default value as compared to documentation'; +'#--------------------FN_DYNVARS_005_01-------------------------#' +SET @@global.transaction_prealloc_size = 100; +Warnings: +Warning 1292 Truncated incorrect transaction_prealloc_size value: '100' +SET @@global.transaction_prealloc_size = DEFAULT; +SELECT @@global.transaction_prealloc_size; +@@global.transaction_prealloc_size +4096 +SET @@session.transaction_prealloc_size = 200; +Warnings: +Warning 1292 Truncated incorrect transaction_prealloc_size value: '200' +SET @@session.transaction_prealloc_size = DEFAULT; +SELECT @@session.transaction_prealloc_size; +@@session.transaction_prealloc_size +4096 +'#--------------------FN_DYNVARS_005_02-------------------------#' +SET @@global.transaction_prealloc_size = DEFAULT; +SELECT @@global.transaction_prealloc_size = 4096; +@@global.transaction_prealloc_size = 4096 +1 +SET @@session.transaction_prealloc_size = DEFAULT; +SELECT @@session.transaction_prealloc_size = 4096; +@@session.transaction_prealloc_size = 4096 +1 +'#--------------------FN_DYNVARS_005_03-------------------------#' +SET @@global.transaction_prealloc_size = 1024; +SELECT @@global.transaction_prealloc_size; +@@global.transaction_prealloc_size +1024 +SET @@global.transaction_prealloc_size = 60020; +SELECT @@global.transaction_prealloc_size; +@@global.transaction_prealloc_size +59392 +SET @@global.transaction_prealloc_size = 4294966272; +SELECT @@global.transaction_prealloc_size; +@@global.transaction_prealloc_size +4294966272 +'#--------------------FN_DYNVARS_005_04-------------------------#' +SET @@session.transaction_prealloc_size = 1024; +SELECT @@session.transaction_prealloc_size; +@@session.transaction_prealloc_size +1024 +SET @@session.transaction_prealloc_size =4294966272; +SELECT @@session.transaction_prealloc_size; +@@session.transaction_prealloc_size +4294966272 +SET @@session.transaction_prealloc_size = 65535; +SELECT @@session.transaction_prealloc_size; +@@session.transaction_prealloc_size +64512 +'#------------------FN_DYNVARS_005_05-----------------------#' +SET @@global.transaction_prealloc_size = 0; +Warnings: +Warning 1292 Truncated incorrect transaction_prealloc_size value: '0' +SELECT @@global.transaction_prealloc_size; +@@global.transaction_prealloc_size +1024 +SET @@global.transaction_prealloc_size = -1024; +Warnings: +Warning 1292 Truncated incorrect transaction_prealloc_size value: '0' +SELECT @@global.transaction_prealloc_size; +@@global.transaction_prealloc_size +1024 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@global.transaction_prealloc_size = ON; +ERROR 42000: Incorrect argument type to variable 'transaction_prealloc_size' +SET @@global.transaction_prealloc_size = OFF; +ERROR 42000: Incorrect argument type to variable 'transaction_prealloc_size' +SET @@global.transaction_prealloc_size = True; +Warnings: +Warning 1292 Truncated incorrect transaction_prealloc_size value: '1' +SELECT @@global.transaction_prealloc_size; +@@global.transaction_prealloc_size +1024 +SET @@global.transaction_prealloc_size = False; +Warnings: +Warning 1292 Truncated incorrect transaction_prealloc_size value: '0' +SELECT @@global.transaction_prealloc_size; +@@global.transaction_prealloc_size +1024 +SET @@global.transaction_prealloc_size = 65530.34; +ERROR 42000: Incorrect argument type to variable 'transaction_prealloc_size' +SET @@global.transaction_prealloc_size ="Test"; +ERROR 42000: Incorrect argument type to variable 'transaction_prealloc_size' +SET @@global.transaction_prealloc_size = 1000; +Warnings: +Warning 1292 Truncated incorrect transaction_prealloc_size value: '1000' +SELECT @@global.transaction_prealloc_size; +@@global.transaction_prealloc_size +1024 +SET @@session.transaction_prealloc_size = ON; +ERROR 42000: Incorrect argument type to variable 'transaction_prealloc_size' +SET @@session.transaction_prealloc_size = OFF; +ERROR 42000: Incorrect argument type to variable 'transaction_prealloc_size' +SET @@session.transaction_prealloc_size = True; +Warnings: +Warning 1292 Truncated incorrect transaction_prealloc_size value: '1' +SELECT @@session.transaction_prealloc_size; +@@session.transaction_prealloc_size +1024 +SET @@session.transaction_prealloc_size = False; +Warnings: +Warning 1292 Truncated incorrect transaction_prealloc_size value: '0' +SELECT @@session.transaction_prealloc_size; +@@session.transaction_prealloc_size +1024 +SET @@session.transaction_prealloc_size = "Test"; +ERROR 42000: Incorrect argument type to variable 'transaction_prealloc_size' +SET @@session.transaction_prealloc_size = 123456789031; +Warnings: +Warning 1292 Truncated incorrect transaction_prealloc_size value: '123456789031' +SELECT @@session.transaction_prealloc_size; +@@session.transaction_prealloc_size +4294966272 +'#------------------FN_DYNVARS_005_06-----------------------#' +SELECT @@global.transaction_prealloc_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='transaction_prealloc_size'; +@@global.transaction_prealloc_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_005_07-----------------------#' +SELECT @@session.transaction_prealloc_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='transaction_prealloc_size'; +@@session.transaction_prealloc_size = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_001_09----------------------#' +SET @@global.transaction_prealloc_size = 1024; +SET @@global.transaction_prealloc_size = 10; +Warnings: +Warning 1292 Truncated incorrect transaction_prealloc_size value: '10' +SELECT @@transaction_prealloc_size = @@global.transaction_prealloc_size; +@@transaction_prealloc_size = @@global.transaction_prealloc_size +0 +'#---------------------FN_DYNVARS_001_10----------------------#' +SET @@transaction_prealloc_size = 100; +Warnings: +Warning 1292 Truncated incorrect transaction_prealloc_size value: '100' +SELECT @@transaction_prealloc_size = @@local.transaction_prealloc_size; +@@transaction_prealloc_size = @@local.transaction_prealloc_size +1 +SELECT @@local.transaction_prealloc_size = @@session.transaction_prealloc_size; +@@local.transaction_prealloc_size = @@session.transaction_prealloc_size +1 +'#---------------------FN_DYNVARS_001_11----------------------#' +SET transaction_prealloc_size = 1027; +SELECT @@transaction_prealloc_size; +@@transaction_prealloc_size +1024 +SELECT local.transaction_prealloc_size; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.transaction_prealloc_size; +ERROR 42S02: Unknown table 'session' in field list +SELECT transaction_prealloc_size = @@session.transaction_prealloc_size; +ERROR 42S22: Unknown column 'transaction_prealloc_size' in 'field list' +SET @@global.transaction_prealloc_size = @start_global_value; +SELECT @@global.transaction_prealloc_size; +@@global.transaction_prealloc_size +4096 +SET @@session.transaction_prealloc_size = @start_session_value; +SELECT @@session.transaction_prealloc_size; +@@session.transaction_prealloc_size +4096 diff --git a/mysql-test/r/transaction_prealloc_size_basic_64.result b/mysql-test/r/transaction_prealloc_size_basic_64.result new file mode 100644 index 00000000000..2fb6451372f --- /dev/null +++ b/mysql-test/r/transaction_prealloc_size_basic_64.result @@ -0,0 +1,170 @@ +SET @start_global_value = @@global.transaction_prealloc_size; +SELECT @start_global_value; +@start_global_value +4096 +SET @start_session_value = @@session.transaction_prealloc_size; +SELECT @start_session_value; +@start_session_value +4096 +'Bug# 34876: This variable has invalid default value as compared to documentation'; +'#--------------------FN_DYNVARS_005_01-------------------------#' +SET @@global.transaction_prealloc_size = 100; +Warnings: +Warning 1292 Truncated incorrect transaction_prealloc_size value: '100' +SET @@global.transaction_prealloc_size = DEFAULT; +SELECT @@global.transaction_prealloc_size; +@@global.transaction_prealloc_size +4096 +SET @@session.transaction_prealloc_size = 200; +Warnings: +Warning 1292 Truncated incorrect transaction_prealloc_size value: '200' +SET @@session.transaction_prealloc_size = DEFAULT; +SELECT @@session.transaction_prealloc_size; +@@session.transaction_prealloc_size +4096 +'#--------------------FN_DYNVARS_005_02-------------------------#' +SET @@global.transaction_prealloc_size = DEFAULT; +SELECT @@global.transaction_prealloc_size = 4096; +@@global.transaction_prealloc_size = 4096 +1 +SET @@session.transaction_prealloc_size = DEFAULT; +SELECT @@session.transaction_prealloc_size = 4096; +@@session.transaction_prealloc_size = 4096 +1 +'#--------------------FN_DYNVARS_005_03-------------------------#' +SET @@global.transaction_prealloc_size = 1024; +SELECT @@global.transaction_prealloc_size; +@@global.transaction_prealloc_size +1024 +SET @@global.transaction_prealloc_size = 60020; +SELECT @@global.transaction_prealloc_size; +@@global.transaction_prealloc_size +59392 +SET @@global.transaction_prealloc_size = 4294966272; +SELECT @@global.transaction_prealloc_size; +@@global.transaction_prealloc_size +4294966272 +'#--------------------FN_DYNVARS_005_04-------------------------#' +SET @@session.transaction_prealloc_size = 1024; +SELECT @@session.transaction_prealloc_size; +@@session.transaction_prealloc_size +1024 +SET @@session.transaction_prealloc_size =4294966272; +SELECT @@session.transaction_prealloc_size; +@@session.transaction_prealloc_size +4294966272 +SET @@session.transaction_prealloc_size = 65535; +SELECT @@session.transaction_prealloc_size; +@@session.transaction_prealloc_size +64512 +'#------------------FN_DYNVARS_005_05-----------------------#' +SET @@global.transaction_prealloc_size = 0; +Warnings: +Warning 1292 Truncated incorrect transaction_prealloc_size value: '0' +SELECT @@global.transaction_prealloc_size; +@@global.transaction_prealloc_size +1024 +SET @@global.transaction_prealloc_size = -1024; +Warnings: +Warning 1292 Truncated incorrect transaction_prealloc_size value: '0' +SELECT @@global.transaction_prealloc_size; +@@global.transaction_prealloc_size +1024 +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@global.transaction_prealloc_size = ON; +ERROR 42000: Incorrect argument type to variable 'transaction_prealloc_size' +SET @@global.transaction_prealloc_size = OFF; +ERROR 42000: Incorrect argument type to variable 'transaction_prealloc_size' +SET @@global.transaction_prealloc_size = True; +Warnings: +Warning 1292 Truncated incorrect transaction_prealloc_size value: '1' +SELECT @@global.transaction_prealloc_size; +@@global.transaction_prealloc_size +1024 +SET @@global.transaction_prealloc_size = False; +Warnings: +Warning 1292 Truncated incorrect transaction_prealloc_size value: '0' +SELECT @@global.transaction_prealloc_size; +@@global.transaction_prealloc_size +1024 +SET @@global.transaction_prealloc_size = 65530.34; +ERROR 42000: Incorrect argument type to variable 'transaction_prealloc_size' +SET @@global.transaction_prealloc_size ="Test"; +ERROR 42000: Incorrect argument type to variable 'transaction_prealloc_size' +SET @@global.transaction_prealloc_size = 1000; +Warnings: +Warning 1292 Truncated incorrect transaction_prealloc_size value: '1000' +SELECT @@global.transaction_prealloc_size; +@@global.transaction_prealloc_size +1024 +SET @@session.transaction_prealloc_size = ON; +ERROR 42000: Incorrect argument type to variable 'transaction_prealloc_size' +SET @@session.transaction_prealloc_size = OFF; +ERROR 42000: Incorrect argument type to variable 'transaction_prealloc_size' +SET @@session.transaction_prealloc_size = True; +Warnings: +Warning 1292 Truncated incorrect transaction_prealloc_size value: '1' +SELECT @@session.transaction_prealloc_size; +@@session.transaction_prealloc_size +1024 +SET @@session.transaction_prealloc_size = False; +Warnings: +Warning 1292 Truncated incorrect transaction_prealloc_size value: '0' +SELECT @@session.transaction_prealloc_size; +@@session.transaction_prealloc_size +1024 +SET @@session.transaction_prealloc_size = "Test"; +ERROR 42000: Incorrect argument type to variable 'transaction_prealloc_size' +SET @@session.transaction_prealloc_size = 123456789031; +SELECT @@session.transaction_prealloc_size; +@@session.transaction_prealloc_size +123456788480 +'#------------------FN_DYNVARS_005_06-----------------------#' +SELECT @@global.transaction_prealloc_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='transaction_prealloc_size'; +@@global.transaction_prealloc_size = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_005_07-----------------------#' +SELECT @@session.transaction_prealloc_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='transaction_prealloc_size'; +@@session.transaction_prealloc_size = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_001_09----------------------#' +SET @@global.transaction_prealloc_size = 1024; +SET @@global.transaction_prealloc_size = 10; +Warnings: +Warning 1292 Truncated incorrect transaction_prealloc_size value: '10' +SELECT @@transaction_prealloc_size = @@global.transaction_prealloc_size; +@@transaction_prealloc_size = @@global.transaction_prealloc_size +0 +'#---------------------FN_DYNVARS_001_10----------------------#' +SET @@transaction_prealloc_size = 100; +Warnings: +Warning 1292 Truncated incorrect transaction_prealloc_size value: '100' +SELECT @@transaction_prealloc_size = @@local.transaction_prealloc_size; +@@transaction_prealloc_size = @@local.transaction_prealloc_size +1 +SELECT @@local.transaction_prealloc_size = @@session.transaction_prealloc_size; +@@local.transaction_prealloc_size = @@session.transaction_prealloc_size +1 +'#---------------------FN_DYNVARS_001_11----------------------#' +SET transaction_prealloc_size = 1027; +SELECT @@transaction_prealloc_size; +@@transaction_prealloc_size +1024 +SELECT local.transaction_prealloc_size; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.transaction_prealloc_size; +ERROR 42S02: Unknown table 'session' in field list +SELECT transaction_prealloc_size = @@session.transaction_prealloc_size; +ERROR 42S22: Unknown column 'transaction_prealloc_size' in 'field list' +SET @@global.transaction_prealloc_size = @start_global_value; +SELECT @@global.transaction_prealloc_size; +@@global.transaction_prealloc_size +4096 +SET @@session.transaction_prealloc_size = @start_session_value; +SELECT @@session.transaction_prealloc_size; +@@session.transaction_prealloc_size +4096 diff --git a/mysql-test/r/trigger.result b/mysql-test/r/trigger.result index 0e7df0a89a2..2290919f191 100644 --- a/mysql-test/r/trigger.result +++ b/mysql-test/r/trigger.result @@ -820,7 +820,6 @@ call p1(); drop trigger t1_bi; create trigger t1_bi after insert on t1 for each row insert into t3 values (new.id); execute stmt1; -ERROR 42S02: Table 'test.t3' doesn't exist call p1(); ERROR 42S02: Table 'test.t3' doesn't exist deallocate prepare stmt1; diff --git a/mysql-test/r/tx_isolation_basic.result b/mysql-test/r/tx_isolation_basic.result new file mode 100644 index 00000000000..d487a6d92a8 --- /dev/null +++ b/mysql-test/r/tx_isolation_basic.result @@ -0,0 +1,176 @@ +SET @global_start_value = @@global.tx_isolation; +SELECT @global_start_value; +@global_start_value +REPEATABLE-READ +SET @session_start_value = @@session.tx_isolation; +SELECT @session_start_value; +@session_start_value +REPEATABLE-READ +'#--------------------FN_DYNVARS_183_01------------------------#' +SET @@global.tx_isolation = 'READ-UNCOMMITTED'; +SET @@global.tx_isolation = DEFAULT; +ERROR 42000: Variable 'tx_isolation' doesn't have a default value +'Bug# 34878: Documentation specifies a DEFAULT value of REPEATABLE-READ'; +'where as DEFAULT is not supported here.'; +SET @@session.tx_isolation = 'SERIALIZABLE'; +SET @@session.tx_isolation = DEFAULT; +SELECT @@session.tx_isolation; +@@session.tx_isolation +READ-UNCOMMITTED +'Bug# 34876: Documentation specifies a DEFAULT value of REPEATABLE-READ'; +'where as DEFAULT here as no effect.'; +'#---------------------FN_DYNVARS_183_02-------------------------#' +SET @@global.tx_isolation = NULL; +ERROR 42000: Variable 'tx_isolation' can't be set to the value of 'NULL' +SET @@global.tx_isolation = ''; +ERROR 42000: Variable 'tx_isolation' can't be set to the value of '' +SET @@session.tx_isolation = NULL; +ERROR 42000: Variable 'tx_isolation' can't be set to the value of 'NULL' +SET @@session.tx_isolation = ''; +ERROR 42000: Variable 'tx_isolation' can't be set to the value of '' +'#--------------------FN_DYNVARS_183_03------------------------#' +SET @@global.tx_isolation = 'READ-UNCOMMITTED'; +SELECT @@global.tx_isolation; +@@global.tx_isolation +READ-UNCOMMITTED +SET @@global.tx_isolation = 'read-COMMITTED'; +SELECT @@global.tx_isolation; +@@global.tx_isolation +READ-COMMITTED +SET @@global.tx_isolation = 'REPEATABLE-READ'; +SELECT @@global.tx_isolation; +@@global.tx_isolation +REPEATABLE-READ +SET @@global.tx_isolation = 'SERIALIZable'; +SELECT @@global.tx_isolation; +@@global.tx_isolation +SERIALIZABLE +SET @@session.tx_isolation = 'READ-UNCOMMITTED'; +SELECT @@session.tx_isolation; +@@session.tx_isolation +READ-UNCOMMITTED +SET @@session.tx_isolation = 'READ-COMMITTED'; +SELECT @@session.tx_isolation; +@@session.tx_isolation +READ-COMMITTED +SET @@session.tx_isolation = 'REPEATABLE-READ'; +SELECT @@session.tx_isolation; +@@session.tx_isolation +REPEATABLE-READ +SET @@session.tx_isolation = 'serializable'; +SELECT @@session.tx_isolation; +@@session.tx_isolation +SERIALIZABLE +'#--------------------FN_DYNVARS_183_04-------------------------#' +SET @@global.tx_isolation = -1; +ERROR 42000: Variable 'tx_isolation' can't be set to the value of '-1' +SET @@global.tx_isolation = READUNCOMMITTED; +ERROR 42000: Variable 'tx_isolation' can't be set to the value of 'READUNCOMMITTED' +SET @@global.tx_isolation = 'REPEATABLE'; +SELECT @@global.tx_isolation; +@@global.tx_isolation +REPEATABLE-READ +'Bug# 34833: REPEATABLE is not documented as as valid tx_isolation level' +SET @@global.tx_isolation = OFF; +ERROR 42000: Variable 'tx_isolation' can't be set to the value of 'OFF' +SET @@global.tx_isolation = ON; +ERROR 42000: Variable 'tx_isolation' can't be set to the value of 'ON' +SET @@global.tx_isolation = 'NON-SERIALIZABLE'; +ERROR 42000: Variable 'tx_isolation' can't be set to the value of 'NON-SERIALIZABLE' +SET @@tx_isolation = -1; +ERROR 42000: Variable 'tx_isolation' can't be set to the value of '-1' +SET @@tx_isolation = READUNCOMMITTED; +ERROR 42000: Variable 'tx_isolation' can't be set to the value of 'READUNCOMMITTED' +SET @@tx_isolation = 'REPEATABLE'; +SELECT @@tx_isolation; +@@tx_isolation +REPEATABLE-READ +'Bug# 34833: REPEATABLE is not documented as as valid tx_isolation level' +SET @@tx_isolation = 'NONE'; +ERROR 42000: Variable 'tx_isolation' can't be set to the value of 'NONE' +SET @@tx_isolation = 'ALL'; +ERROR 42000: Variable 'tx_isolation' can't be set to the value of 'ALL' +'#-------------------FN_DYNVARS_183_05----------------------------#' +SELECT @@session.tx_isolation = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='tx_isolation'; +@@session.tx_isolation = VARIABLE_VALUE +1 +'#----------------------FN_DYNVARS_183_06------------------------#' +SELECT @@global.tx_isolation = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='tx_isolation'; +@@global.tx_isolation = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_183_07-------------------------#' +SET @@global.tx_isolation = 0; +SELECT @@global.tx_isolation; +@@global.tx_isolation +READ-UNCOMMITTED +SET @@global.tx_isolation = 1; +SELECT @@global.tx_isolation; +@@global.tx_isolation +READ-COMMITTED +SET @@global.tx_isolation = 2; +SELECT @@global.tx_isolation; +@@global.tx_isolation +REPEATABLE-READ +SET @@global.tx_isolation = 3; +SELECT @@global.tx_isolation; +@@global.tx_isolation +SERIALIZABLE +SET @@global.tx_isolation = 0.4; +SELECT @@global.tx_isolation; +@@global.tx_isolation +READ-UNCOMMITTED +SET @@global.tx_isolation = 1.1; +SELECT @@global.tx_isolation; +@@global.tx_isolation +READ-COMMITTED +SET @@global.tx_isolation = 1.5; +SELECT @@global.tx_isolation; +@@global.tx_isolation +REPEATABLE-READ +SET @@global.tx_isolation = 2.9; +SELECT @@global.tx_isolation; +@@global.tx_isolation +SERIALIZABLE +SET @@session.tx_isolation = 3.49; +SELECT @@session.tx_isolation; +@@session.tx_isolation +SERIALIZABLE +SET @@session.tx_isolation = 3.6; +ERROR 42000: Variable 'tx_isolation' can't be set to the value of '4' +'Bug: Decimal values can be used within the range [0.0-3.5).'; +'Values are rounded to 0,1,2,3 as evident from outcome.'; +'#---------------------FN_DYNVARS_183_08----------------------#' +SET @@global.tx_isolation = TRUE; +SELECT @@global.tx_isolation; +@@global.tx_isolation +READ-COMMITTED +SET @@global.tx_isolation = FALSE; +SELECT @@global.tx_isolation; +@@global.tx_isolation +READ-UNCOMMITTED +'#---------------------FN_DYNVARS_183_09----------------------#' +SET tx_isolation = 'REPEATABLE-READ'; +SET session.tx_isolation = 'REPEATABLE-READ'; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'tx_isolation = 'REPEATABLE-READ'' at line 1 +SET global.tx_isolation = 'REPEATABLE-READ'; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'tx_isolation = 'REPEATABLE-READ'' at line 1 +SET session tx_isolation = 'REPEATABLE-READ'; +SELECT @@tx_isolation; +@@tx_isolation +REPEATABLE-READ +SET global tx_isolation = 'REPEATABLE-READ'; +SELECT @@global.tx_isolation; +@@global.tx_isolation +REPEATABLE-READ +SET @@global.tx_isolation = @global_start_value; +SELECT @@global.tx_isolation; +@@global.tx_isolation +REPEATABLE-READ +SET @@session.tx_isolation = @session_start_value; +SELECT @@session.tx_isolation; +@@session.tx_isolation +REPEATABLE-READ diff --git a/mysql-test/r/tx_isolation_func.result b/mysql-test/r/tx_isolation_func.result new file mode 100644 index 00000000000..8b763edd70c --- /dev/null +++ b/mysql-test/r/tx_isolation_func.result @@ -0,0 +1,380 @@ +** Setup ** +SET @session_tx_isolation = @@SESSION.tx_isolation; +SET @global_tx_isolation = @@GLOBAL.tx_isolation; +** Connecting con0 using root ** +** Connection con0 ** +SET SESSION AUTOCOMMIT = OFF; +** Connecting con1 using root ** +** Connection con1 ** +SET SESSION AUTOCOMMIT = OFF; +** Connection default ** +CREATE TABLE t1 (a int PRIMARY KEY, b int) ENGINE=INNODB; +INSERT INTO t1 VALUES(2, 2); +INSERT INTO t1 VALUES(4, 4); +INSERT INTO t1 VALUES(6, 6); +INSERT INTO t1 VALUES(8, 8); +INSERT INTO t1 VALUES(16, 16); +INSERT INTO t1 VALUES(18, 18); +INSERT INTO t1 VALUES(20, 20); +INSERT INTO t1 VALUES(22, 22); +INSERT INTO t1 VALUES(24, 24); +'#----------------------------FN_DYNVARS_184_01--------------------------------------#' +** Connection con0 ** +SET SESSION tx_isolation = 'READ-UNCOMMITTED'; +** Connection con1 ** +SET SESSION tx_isolation = 'READ-UNCOMMITTED'; +** Connection con0 ** +START TRANSACTION; +SELECT * FROM t1 WHERE a IN (2,4,6,8) FOR UPDATE; +a b +2 2 +4 4 +6 6 +8 8 +UPDATE t1 SET b = 10 WHERE a IN (2,4,6,8); +** Connection con1 ** +START TRANSACTION; +SELECT * FROM t1; +a b +2 10 +4 10 +6 10 +8 10 +16 16 +18 18 +20 20 +22 22 +24 24 +INSERT INTO t1 VALUES(1, 1); +INSERT INTO t1 VALUES(3, 3); +SELECT * FROM t1; +a b +1 1 +2 10 +3 3 +4 10 +6 10 +8 10 +16 16 +18 18 +20 20 +22 22 +24 24 +COMMIT; +** Connection con0 ** +DELETE FROM t1 WHERE a = 1 OR a = 3; +COMMIT; +'#----------------------------FN_DYNVARS_184_02--------------------------------------#' +** Connection con0 ** +START TRANSACTION; +SELECT * FROM t1 WHERE a % 2 = 0 FOR UPDATE; +a b +2 10 +4 10 +6 10 +8 10 +16 16 +18 18 +20 20 +22 22 +24 24 +UPDATE t1 SET b = 10 WHERE a % 2 = 0; +** Connection con1 ** +START TRANSACTION; +SELECT * FROM t1; +a b +2 10 +4 10 +6 10 +8 10 +16 10 +18 10 +20 10 +22 10 +24 10 +INSERT INTO t1 VALUES(23, 23); +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +INSERT INTO t1 VALUES(25, 25); +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +Bug: Only even rows are being locked, error 1205 should'nt have occured +SELECT * FROM t1; +a b +2 10 +4 10 +6 10 +8 10 +16 10 +18 10 +20 10 +22 10 +24 10 +COMMIT; +** Connection con0 ** +COMMIT; +'#----------------------------FN_DYNVARS_184_03--------------------------------------#' +** Connection con0 ** +SET SESSION tx_isolation = 'READ-COMMITTED'; +** Connection con1 ** +SET SESSION tx_isolation = 'READ-COMMITTED'; +** Connection con0 ** +START TRANSACTION; +SELECT * FROM t1 WHERE a % 2 = 0 FOR UPDATE; +a b +2 10 +4 10 +6 10 +8 10 +16 10 +18 10 +20 10 +22 10 +24 10 +UPDATE t1 SET b = 11 WHERE a % 2 = 0; +** Connection con1 ** +START TRANSACTION; +SELECT * FROM t1; +a b +2 10 +4 10 +6 10 +8 10 +16 10 +18 10 +20 10 +22 10 +24 10 +INSERT INTO t1 VALUES(5, 5); +INSERT INTO t1 VALUES(7, 7); +SELECT * FROM t1; +a b +2 10 +4 10 +5 5 +6 10 +7 7 +8 10 +16 10 +18 10 +20 10 +22 10 +24 10 +COMMIT; +** Connection con0 ** +COMMIT; +'#----------------------------FN_DYNVARS_184_04--------------------------------------#' +** Connection con0 ** +SET SESSION tx_isolation = 'REPEATABLE-READ'; +** Connection con1 ** +SET SESSION tx_isolation = 'REPEATABLE-READ'; +** Connection con0 ** +START TRANSACTION; +SELECT * FROM t1 WHERE a % 2 = 0 FOR UPDATE; +a b +2 11 +4 11 +6 11 +8 11 +16 11 +18 11 +20 11 +22 11 +24 11 +UPDATE t1 SET b = 12 WHERE a % 2 = 0; +** Connection con1 ** +START TRANSACTION; +SELECT * FROM t1; +a b +2 11 +4 11 +5 5 +6 11 +7 7 +8 11 +16 11 +18 11 +20 11 +22 11 +24 11 +INSERT INTO t1 VALUES(9, 9); +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +INSERT INTO t1 VALUES(13, 13); +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +Expected error "Lock wait timeout" +SELECT * FROM t1; +a b +2 11 +4 11 +5 5 +6 11 +7 7 +8 11 +16 11 +18 11 +20 11 +22 11 +24 11 +COMMIT; +** Connection con0 ** +COMMIT; +'#----------------------------FN_DYNVARS_184_05--------------------------------------#' +** Connection con0 ** +START TRANSACTION; +SELECT * FROM t1 WHERE a IN (2,4,6,8,10,12,14,16,18,20,22,24,26) = 0 FOR UPDATE; +a b +5 5 +7 7 +UPDATE t1 SET b = 13 WHERE a IN (2,4,6,8,10,12,14,16,18,20,22,24,26) = 0; +** Connection con1 ** +START TRANSACTION; +SELECT * FROM t1; +a b +2 12 +4 12 +5 5 +6 12 +7 7 +8 12 +16 12 +18 12 +20 12 +22 12 +24 12 +INSERT INTO t1 VALUES(9, 9); +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +INSERT INTO t1 VALUES(13, 13); +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +Expected error "Lock wait timeout" +SELECT * FROM t1; +a b +2 12 +4 12 +5 5 +6 12 +7 7 +8 12 +16 12 +18 12 +20 12 +22 12 +24 12 +COMMIT; +** Connection con0 ** +COMMIT; +'#----------------------------FN_DYNVARS_184_06--------------------------------------#' +** Connection con0 ** +START TRANSACTION; +SELECT * FROM t1 WHERE a IN (2,4,6,8) = 0 FOR UPDATE; +a b +5 13 +7 13 +16 12 +18 12 +20 12 +22 12 +24 12 +UPDATE t1 SET b = 14 WHERE a IN (2,4,6,8) = 0; +** Connection con1 ** +START TRANSACTION; +SELECT * FROM t1; +a b +2 12 +4 12 +5 13 +6 12 +7 13 +8 12 +16 12 +18 12 +20 12 +22 12 +24 12 +INSERT INTO t1 VALUES(9, 9); +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +INSERT INTO t1 VALUES(13, 13); +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +Expected error "Lock wait timeout" +SELECT * FROM t1; +a b +2 12 +4 12 +5 13 +6 12 +7 13 +8 12 +16 12 +18 12 +20 12 +22 12 +24 12 +COMMIT; +** Connection con0 ** +COMMIT; +'#----------------------------FN_DYNVARS_184_07--------------------------------------#' +** Connection con0 ** +SET SESSION tx_isolation = 'SERIALIZABLE'; +** Connection con0 ** +SET SESSION tx_isolation = 'SERIALIZABLE'; +** Connection con0 ** +START TRANSACTION; +SELECT * FROM t1 WHERE a % 2 = 0 FOR UPDATE; +a b +2 12 +4 12 +6 12 +8 12 +16 14 +18 14 +20 14 +22 14 +24 14 +UPDATE t1 SET b = 15 WHERE a % 2 = 0; +** Connection con0 ** +START TRANSACTION; +SELECT * FROM t1; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +INSERT INTO t1 VALUES(15, 15); +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +INSERT INTO t1 VALUES(17, 17); +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +SELECT * FROM t1; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +COMMIT; +** Connection con0 ** +COMMIT; +'#----------------------------FN_DYNVARS_184_08--------------------------------------#' +SET GLOBAL tx_isolation = 'READ-UNCOMMITTED'; +** Connecting con_int1 using root ** +** Connection con_int1 ** +SELECT @@SESSION.tx_isolation; +@@SESSION.tx_isolation +READ-UNCOMMITTED +READ-UNCOMMITTED Expected +SET SESSION tx_isolation = 'SERIALIZABLE'; +** Connecting con_int2 using root ** +** Connection con_int2 ** +SELECT @@SESSION.tx_isolation; +@@SESSION.tx_isolation +READ-UNCOMMITTED +READ-UNCOMMITTED Expected +SET SESSION tx_isolation = 'REPEATABLE-READ'; +** Connection con_int2 ** +SELECT @@SESSION.tx_isolation; +@@SESSION.tx_isolation +REPEATABLE-READ +REPEATABLE-READ Expected +** Connection con_int1 ** +SELECT @@SESSION.tx_isolation; +@@SESSION.tx_isolation +SERIALIZABLE +SERIALIZABLE Expected +SELECT @@GLOBAL.tx_isolation; +@@GLOBAL.tx_isolation +READ-UNCOMMITTED +READ-UNCOMMITTED Expected +** Connection default ** +Disconnecting Connections con_int1, con_int2 +SET @@SESSION.tx_isolation = @session_tx_isolation; +SET @@GLOBAL.tx_isolation = @global_tx_isolation; +** Connection default ** +Disconnecting Connections con0, con1 +DROP TABLE t1; diff --git a/mysql-test/r/type_binary.result b/mysql-test/r/type_binary.result index 00f4183aec3..432c58272a2 100644 --- a/mysql-test/r/type_binary.result +++ b/mysql-test/r/type_binary.result @@ -125,7 +125,6 @@ create table t1 (c char(2), vc varchar(2)); insert into t1 values(0x4120, 0x4120); insert into t1 values(0x412020, 0x412020); Warnings: -Note 1265 Data truncated for column 'c' at row 1 Note 1265 Data truncated for column 'vc' at row 1 drop table t1; set @old_sql_mode= @@sql_mode, sql_mode= 'traditional'; diff --git a/mysql-test/r/type_blob.result b/mysql-test/r/type_blob.result index 232ee334227..a80adab1f87 100644 --- a/mysql-test/r/type_blob.result +++ b/mysql-test/r/type_blob.result @@ -821,4 +821,156 @@ LENGTH(c) CHAR_LENGTH(c) 65535 65535 65535 65535 DROP TABLE t; +drop table if exists b15776; +create table b15776 (data blob(2147483647)); +drop table b15776; +create table b15776 (data blob(-1)); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-1))' at line 1 +create table b15776 (data blob(2147483648)); +drop table b15776; +create table b15776 (data blob(4294967294)); +drop table b15776; +create table b15776 (data blob(4294967295)); +drop table b15776; +create table b15776 (data blob(4294967296)); +ERROR 42000: Display width out of range for column 'data' (max = 4294967295) +CREATE TABLE b15776 (a blob(2147483647), b blob(2147483648), c blob(4294967295), a1 text(2147483647), b1 text(2147483648), c1 text(4294967295) ); +show columns from b15776; +Field Type Null Key Default Extra +a longblob YES NULL +b longblob YES NULL +c longblob YES NULL +a1 longtext YES NULL +b1 longtext YES NULL +c1 longtext YES NULL +drop table b15776; +CREATE TABLE b15776 (a blob(4294967296)); +ERROR 42000: Display width out of range for column 'a' (max = 4294967295) +CREATE TABLE b15776 (a text(4294967296)); +ERROR 42000: Display width out of range for column 'a' (max = 4294967295) +CREATE TABLE b15776 (a blob(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999)); +ERROR 42000: Display width out of range for column 'a' (max = 4294967295) +CREATE TABLE b15776 (a text(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999)); +ERROR 42000: Display width out of range for column 'a' (max = 4294967295) +CREATE TABLE b15776 (a int(0)); +INSERT INTO b15776 values (NULL), (1), (42), (654); +SELECT * from b15776 ORDER BY a; +a +NULL +1 +42 +654 +DROP TABLE b15776; +CREATE TABLE b15776 (a int(-1)); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-1))' at line 1 +CREATE TABLE b15776 (a int(255)); +DROP TABLE b15776; +CREATE TABLE b15776 (a int(256)); +ERROR 42000: Display width out of range for column 'a' (max = 255) +CREATE TABLE b15776 (data blob(-1)); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-1))' at line 1 +CREATE TABLE b15776 (a char(2147483647)); +ERROR 42000: Column length too big for column 'a' (max = 255); use BLOB or TEXT instead +CREATE TABLE b15776 (a char(2147483648)); +ERROR 42000: Column length too big for column 'a' (max = 255); use BLOB or TEXT instead +CREATE TABLE b15776 (a char(4294967295)); +ERROR 42000: Column length too big for column 'a' (max = 255); use BLOB or TEXT instead +CREATE TABLE b15776 (a char(4294967296)); +ERROR 42000: Display width out of range for column 'a' (max = 4294967295) +CREATE TABLE b15776 (a year(4294967295)); +INSERT INTO b15776 VALUES (42); +SELECT * FROM b15776; +a +2042 +DROP TABLE b15776; +CREATE TABLE b15776 (a year(4294967296)); +ERROR 42000: Display width out of range for column 'a' (max = 4294967295) +CREATE TABLE b15776 (a year(0)); +DROP TABLE b15776; +CREATE TABLE b15776 (a year(-2)); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-2))' at line 1 +CREATE TABLE b15776 (a timestamp(4294967294)); +Warnings: +Warning 1287 The syntax 'TIMESTAMP(4294967294)' is deprecated and will be removed in MySQL 5.2. Please use 'TIMESTAMP' instead +DROP TABLE b15776; +CREATE TABLE b15776 (a timestamp(4294967295)); +Warnings: +Warning 1287 The syntax 'TIMESTAMP(4294967295)' is deprecated and will be removed in MySQL 5.2. Please use 'TIMESTAMP' instead +DROP TABLE b15776; +CREATE TABLE b15776 (a timestamp(4294967296)); +ERROR 42000: Display width out of range for column 'a' (max = 4294967295) +CREATE TABLE b15776 (a timestamp(-1)); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-1))' at line 1 +CREATE TABLE b15776 (a timestamp(-2)); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-2))' at line 1 +CREATE TABLE b15776 (a int(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999)); +ERROR 42000: Display width out of range for column 'a' (max = 4294967295) +CREATE TABLE b15776 (a char(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999)); +ERROR 42000: Display width out of range for column 'a' (max = 4294967295) +CREATE TABLE b15776 (a year(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999)); +ERROR 42000: Display width out of range for column 'a' (max = 4294967295) +CREATE TABLE b15776 (a timestamp(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999)); +ERROR 42000: Display width out of range for column 'a' (max = 4294967295) +CREATE TABLE b15776 select cast(null as char(4294967295)); +show columns from b15776; +Field Type Null Key Default Extra +cast(null as char(4294967295)) char(0) YES NULL +drop table b15776; +CREATE TABLE b15776 select cast(null as nchar(4294967295)); +show columns from b15776; +Field Type Null Key Default Extra +cast(null as nchar(4294967295)) char(0) YES NULL +drop table b15776; +CREATE TABLE b15776 select cast(null as binary(4294967295)); +show columns from b15776; +Field Type Null Key Default Extra +cast(null as binary(4294967295)) binary(0) YES NULL +drop table b15776; +explain select cast(1 as char(4294967295)); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used +explain select cast(1 as nchar(4294967295)); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used +explain select cast(1 as binary(4294967295)); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used +explain select cast(1 as char(4294967296)); +ERROR 42000: Display width out of range for column 'cast as char' (max = 4294967295) +explain select cast(1 as nchar(4294967296)); +ERROR 42000: Display width out of range for column 'cast as char' (max = 4294967295) +explain select cast(1 as binary(4294967296)); +ERROR 42000: Display width out of range for column 'cast as char' (max = 4294967295) +explain select cast(1 as decimal(-1)); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-1))' at line 1 +explain select cast(1 as decimal(64, 30)); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used +explain select cast(1 as decimal(64, 999999999999999999999999999999)); +Got one of the listed errors +explain select cast(1 as decimal(4294967296)); +Got one of the listed errors +explain select cast(1 as decimal(999999999999999999999999999999999999)); +Got one of the listed errors +explain select convert(1, char(4294967295)); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used +explain select convert(1, char(4294967296)); +ERROR 42000: Display width out of range for column 'cast as char' (max = 4294967295) +explain select convert(1, char(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999)); +ERROR 42000: Display width out of range for column 'cast as char' (max = 4294967295) +explain select convert(1, nchar(4294967295)); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used +explain select convert(1, nchar(4294967296)); +ERROR 42000: Display width out of range for column 'cast as char' (max = 4294967295) +explain select convert(1, nchar(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999)); +ERROR 42000: Display width out of range for column 'cast as char' (max = 4294967295) +explain select convert(1, binary(4294967295)); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used +explain select convert(1, binary(4294967296)); +ERROR 42000: Display width out of range for column 'cast as char' (max = 4294967295) +explain select convert(1, binary(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999)); +ERROR 42000: Display width out of range for column 'cast as char' (max = 4294967295) End of 5.0 tests diff --git a/mysql-test/r/type_decimal.result b/mysql-test/r/type_decimal.result index 3e5f6a9b504..76c5ea8f756 100644 --- a/mysql-test/r/type_decimal.result +++ b/mysql-test/r/type_decimal.result @@ -946,4 +946,11 @@ SELECT ROUND(20061108085411.000002); ROUND(20061108085411.000002) 20061108085411 DROP TABLE t1, t2, t3, t4, t5, t6; +create table t1(`c` decimal(9,2)); +insert into t1 values (300),(201.11); +select max(case 1 when 1 then c else null end) from t1 group by c; +max(case 1 when 1 then c else null end) +201.11 +300.00 +drop table t1; End of 5.0 tests diff --git a/mysql-test/r/union.result b/mysql-test/r/union.result index 295451867c8..3f99a053df4 100644 --- a/mysql-test/r/union.result +++ b/mysql-test/r/union.result @@ -153,6 +153,48 @@ ERROR 42S22: Unknown column 'a' in 'field list' 1 3 1 3 2 1 +CREATE TABLE t1 (a INT); +INSERT INTO t1 VALUES (1); +SELECT a INTO @v FROM ( +SELECT a FROM t1 +UNION +SELECT a FROM t1 +) alias; +SELECT a INTO OUTFILE 'union.out.file' FROM ( +SELECT a FROM t1 +UNION +SELECT a FROM t1 WHERE 0 +) alias; +SELECT a INTO DUMPFILE 'union.out.file2' FROM ( +SELECT a FROM t1 +UNION +SELECT a FROM t1 WHERE 0 +) alias; +SELECT a FROM ( +SELECT a FROM t1 +UNION +SELECT a INTO @v FROM t1 +) alias; +SELECT a FROM ( +SELECT a FROM t1 +UNION +SELECT a INTO OUTFILE 'union.out.file3' FROM t1 +) alias; +SELECT a FROM ( +SELECT a FROM t1 +UNION +SELECT a INTO DUMPFILE 'union.out.file4' FROM t1 +) alias; +SELECT a FROM t1 UNION SELECT a INTO @v FROM t1; +SELECT a FROM t1 UNION SELECT a INTO OUTFILE 'union.out.file5' FROM t1; +SELECT a FROM t1 UNION SELECT a INTO OUTFILE 'union.out.file6' FROM t1; +SELECT a INTO @v FROM t1 UNION SELECT a FROM t1; +ERROR HY000: Incorrect usage of UNION and INTO +SELECT a INTO OUTFILE 'union.out.file7' FROM t1 UNION SELECT a FROM t1; +ERROR HY000: Incorrect usage of UNION and INTO +SELECT a INTO DUMPFILE 'union.out.file8' FROM t1 UNION SELECT a FROM t1; +ERROR HY000: Incorrect usage of UNION and INTO +DROP TABLE t1; CREATE TABLE t1 ( `pseudo` char(35) NOT NULL default '', `pseudo1` char(35) NOT NULL default '', diff --git a/mysql-test/r/unique_checks_basic.result b/mysql-test/r/unique_checks_basic.result new file mode 100644 index 00000000000..cc22c1c7f98 --- /dev/null +++ b/mysql-test/r/unique_checks_basic.result @@ -0,0 +1,89 @@ +SET @start_session_value = @@session.unique_checks; +SELECT @start_session_value; +@start_session_value +1 +'#--------------------FN_DYNVARS_005_01-------------------------#' +SET @@session.unique_checks= 1; +SET @@session.unique_checks= DEFAULT; +SELECT @@session.unique_checks; +@@session.unique_checks +1 +'#--------------------FN_DYNVARS_005_02-------------------------#' +SET @@session.unique_checks = DEFAULT; +SELECT @@session.unique_checks =1; +@@session.unique_checks =1 +1 +'#--------------------FN_DYNVARS_005_04-------------------------#' +SET @@session.unique_checks =1; +SELECT @@session.unique_checks; +@@session.unique_checks +1 +SET @@session.unique_checks = 0; +SELECT @@session.unique_checks; +@@session.unique_checks +0 +SET @@session.unique_checks = True; +SELECT @@session.unique_checks; +@@session.unique_checks +1 +SET @@session.unique_checks = False; +SELECT @@session.unique_checks; +@@session.unique_checks +0 +SET @@session.unique_checks = "ON"; +SELECT @@session.unique_checks; +@@session.unique_checks +1 +SET @@session.unique_checks = "OFF"; +SELECT @@session.unique_checks; +@@session.unique_checks +0 +'#------------------FN_DYNVARS_005_05-----------------------#' +SET @@session.unique_checks = 'No'; +ERROR 42000: Variable 'unique_checks' can't be set to the value of 'No' +SET @@session.unique_checks = "yes"; +ERROR 42000: Variable 'unique_checks' can't be set to the value of 'yes' +SET @@session.unique_checks = yes; +ERROR 42000: Variable 'unique_checks' can't be set to the value of 'yes' +SET @@session.unique_checks = NO; +ERROR 42000: Variable 'unique_checks' can't be set to the value of 'NO' +SET @@session.unique_checks = "True"; +ERROR 42000: Variable 'unique_checks' can't be set to the value of 'True' +SET @@session.unique_checks = "False"; +ERROR 42000: Variable 'unique_checks' can't be set to the value of 'False' +SET @@session.unique_checks = "Test"; +ERROR 42000: Variable 'unique_checks' can't be set to the value of 'Test' +SET @@session.unique_checks = 'test'; +ERROR 42000: Variable 'unique_checks' can't be set to the value of 'test' +SET @@session.unique_checks = 123456789031; +ERROR 42000: Variable 'unique_checks' can't be set to the value of '123456789031' +'#------------------FN_DYNVARS_005_07-----------------------#' +SELECT @@session.unique_checks = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='unique_checks'; +@@session.unique_checks = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_001_08----------------------#' +SET @@unique_checks = 1; +SELECT @@unique_checks = @@local.unique_checks; +@@unique_checks = @@local.unique_checks +1 +SELECT @@local.unique_checks = @@session.unique_checks; +@@local.unique_checks = @@session.unique_checks +1 +'#---------------------FN_DYNVARS_001_09----------------------#' +SET unique_checks = 1027; +ERROR 42000: Variable 'unique_checks' can't be set to the value of '1027' +SELECT @@unique_checks; +@@unique_checks +1 +SELECT local.unique_checks; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.unique_checks; +ERROR 42S02: Unknown table 'session' in field list +SELECT unique_checks = @@session.unique_checks; +ERROR 42S22: Unknown column 'unique_checks' in 'field list' +SET @@session.unique_checks = @start_session_value; +SELECT @@session.unique_checks; +@@session.unique_checks +1 diff --git a/mysql-test/r/updatable_views_with_limit_basic.result b/mysql-test/r/updatable_views_with_limit_basic.result new file mode 100644 index 00000000000..e2eebbd7a2c --- /dev/null +++ b/mysql-test/r/updatable_views_with_limit_basic.result @@ -0,0 +1,183 @@ +SET @start_global_value = @@global.updatable_views_with_limit; +SELECT @start_global_value; +@start_global_value +YES +SET @start_session_value = @@session.updatable_views_with_limit; +SELECT @start_session_value; +@start_session_value +YES +'#--------------------FN_DYNVARS_005_01-------------------------#' +SET @@global.updatable_views_with_limit = 'NO'; +SET @@global.updatable_views_with_limit = DEFAULT; +SELECT @@global.updatable_views_with_limit; +@@global.updatable_views_with_limit +YES +SET @@session.updatable_views_with_limit = 'NO'; +SET @@session.updatable_views_with_limit = DEFAULT; +SELECT @@session.updatable_views_with_limit; +@@session.updatable_views_with_limit +YES +'#--------------------FN_DYNVARS_005_02-------------------------#' +SET @@global.updatable_views_with_limit = DEFAULT; +SELECT @@global.updatable_views_with_limit = 'Yes'; +@@global.updatable_views_with_limit = 'Yes' +1 +SET @@session.updatable_views_with_limit = DEFAULT; +SELECT @@session.updatable_views_with_limit ='Yes'; +@@session.updatable_views_with_limit ='Yes' +1 +'#--------------------FN_DYNVARS_005_03-------------------------#' +SET @@global.updatable_views_with_limit = NO; +SELECT @@global.updatable_views_with_limit; +@@global.updatable_views_with_limit +NO +SET @@global.updatable_views_with_limit = 'NO'; +SELECT @@global.updatable_views_with_limit; +@@global.updatable_views_with_limit +NO +SET @@global.updatable_views_with_limit = YES; +SELECT @@global.updatable_views_with_limit; +@@global.updatable_views_with_limit +YES +SET @@global.updatable_views_with_limit = 'YES'; +SELECT @@global.updatable_views_with_limit; +@@global.updatable_views_with_limit +YES +SET @@global.updatable_views_with_limit = "NO"; +SELECT @@global.updatable_views_with_limit; +@@global.updatable_views_with_limit +NO +SET @@global.updatable_views_with_limit = "YES"; +SELECT @@global.updatable_views_with_limit; +@@global.updatable_views_with_limit +YES +SET @@global.updatable_views_with_limit = 1; +SELECT @@global.updatable_views_with_limit; +@@global.updatable_views_with_limit +YES +SET @@global.updatable_views_with_limit = 0; +SELECT @@global.updatable_views_with_limit; +@@global.updatable_views_with_limit +NO +SET @@global.updatable_views_with_limit = TRUE; +SELECT @@global.updatable_views_with_limit; +@@global.updatable_views_with_limit +YES +SET @@global.updatable_views_with_limit = False; +SELECT @@global.updatable_views_with_limit; +@@global.updatable_views_with_limit +NO +'#--------------------FN_DYNVARS_005_04-------------------------#' +SET @@session.updatable_views_with_limit = NO; +SELECT @@session.updatable_views_with_limit; +@@session.updatable_views_with_limit +NO +SET @@session.updatable_views_with_limit = 'NO'; +SELECT @@session.updatable_views_with_limit; +@@session.updatable_views_with_limit +NO +SET @@session.updatable_views_with_limit = YES; +SELECT @@session.updatable_views_with_limit; +@@session.updatable_views_with_limit +YES +SET @@session.updatable_views_with_limit = 'YES'; +SELECT @@session.updatable_views_with_limit; +@@session.updatable_views_with_limit +YES +SET @@session.updatable_views_with_limit = "YES"; +SELECT @@session.updatable_views_with_limit; +@@session.updatable_views_with_limit +YES +SET @@session.updatable_views_with_limit = "NO"; +SELECT @@session.updatable_views_with_limit; +@@session.updatable_views_with_limit +NO +SET @@session.updatable_views_with_limit =1; +SELECT @@session.updatable_views_with_limit; +@@session.updatable_views_with_limit +YES +SET @@session.updatable_views_with_limit = 0; +SELECT @@session.updatable_views_with_limit; +@@session.updatable_views_with_limit +NO +SET @@session.updatable_views_with_limit = True; +SELECT @@session.updatable_views_with_limit; +@@session.updatable_views_with_limit +YES +SET @@session.updatable_views_with_limit = False; +SELECT @@session.updatable_views_with_limit; +@@session.updatable_views_with_limit +NO +'#------------------FN_DYNVARS_005_05-----------------------#' +SET @@global.updatable_views_with_limit = "TRUE"; +ERROR 42000: Variable 'updatable_views_with_limit' can't be set to the value of 'TRUE' +SET @@global.updatable_views_with_limit = -1024; +ERROR 42000: Variable 'updatable_views_with_limit' can't be set to the value of '-1024' +SET @@global.updatable_views_with_limit = 2345; +ERROR 42000: Variable 'updatable_views_with_limit' can't be set to the value of '2345' +SET @@global.updatable_views_with_limit = "FALSE"; +ERROR 42000: Variable 'updatable_views_with_limit' can't be set to the value of 'FALSE' +SET @@global.updatable_views_with_limit = 65530.34; +ERROR 42000: Variable 'updatable_views_with_limit' can't be set to the value of '65530' +SET @@global.updatable_views_with_limit ="Testing"; +ERROR 42000: Variable 'updatable_views_with_limit' can't be set to the value of 'Testing' +SET @@session.updatable_views_with_limit = "ON"; +ERROR 42000: Variable 'updatable_views_with_limit' can't be set to the value of 'ON' +SET @@session.updatable_views_with_limit = "OFF"; +ERROR 42000: Variable 'updatable_views_with_limit' can't be set to the value of 'OFF' +SET @@session.updatable_views_with_limit = "True"; +ERROR 42000: Variable 'updatable_views_with_limit' can't be set to the value of 'True' +SET @@session.updatable_views_with_limit = "False"; +ERROR 42000: Variable 'updatable_views_with_limit' can't be set to the value of 'False' +SET @@session.updatable_views_with_limit = "Test"; +ERROR 42000: Variable 'updatable_views_with_limit' can't be set to the value of 'Test' +SET @@session.updatable_views_with_limit = 'test'; +ERROR 42000: Variable 'updatable_views_with_limit' can't be set to the value of 'test' +SET @@session.updatable_views_with_limit = 123456789031; +ERROR 42000: Variable 'updatable_views_with_limit' can't be set to the value of '123456789031' +'#------------------FN_DYNVARS_005_06-----------------------#' +SELECT @@global.updatable_views_with_limit = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='updatable_views_with_limit'; +@@global.updatable_views_with_limit = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_005_07-----------------------#' +SELECT @@session.updatable_views_with_limit = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='updatable_views_with_limit'; +@@session.updatable_views_with_limit = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_001_08----------------------#' +SET @@global.updatable_views_with_limit = NO; +SET @@session.updatable_views_with_limit = YES; +SELECT @@updatable_views_with_limit = @@global.updatable_views_with_limit; +@@updatable_views_with_limit = @@global.updatable_views_with_limit +0 +'#---------------------FN_DYNVARS_001_09----------------------#' +SET @@updatable_views_with_limit = YES; +SELECT @@updatable_views_with_limit = @@local.updatable_views_with_limit; +@@updatable_views_with_limit = @@local.updatable_views_with_limit +1 +SELECT @@local.updatable_views_with_limit = @@session.updatable_views_with_limit; +@@local.updatable_views_with_limit = @@session.updatable_views_with_limit +1 +'#---------------------FN_DYNVARS_001_10----------------------#' +SET updatable_views_with_limit = 1027; +ERROR 42000: Variable 'updatable_views_with_limit' can't be set to the value of '1027' +SELECT @@updatable_views_with_limit; +@@updatable_views_with_limit +YES +SELECT local.updatable_views_with_limit; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.updatable_views_with_limit; +ERROR 42S02: Unknown table 'session' in field list +SELECT updatable_views_with_limit = @@session.updatable_views_with_limit; +ERROR 42S22: Unknown column 'updatable_views_with_limit' in 'field list' +SET @@global.updatable_views_with_limit = @start_global_value; +SELECT @@global.updatable_views_with_limit; +@@global.updatable_views_with_limit +YES +SET @@session.updatable_views_with_limit = @start_session_value; +SELECT @@session.updatable_views_with_limit; +@@session.updatable_views_with_limit +YES diff --git a/mysql-test/r/updatable_views_with_limit_func.result b/mysql-test/r/updatable_views_with_limit_func.result new file mode 100644 index 00000000000..0fdd4cbbb1b --- /dev/null +++ b/mysql-test/r/updatable_views_with_limit_func.result @@ -0,0 +1,66 @@ +SET @session_updatable_views_with_limit = @@Session.UPDATABLE_VIEWS_WITH_LIMIT; +DROP TABLE IF EXISTS t1; +CREATE TABLE t1 (a INT, b INT, c INT, PRIMARY KEY(a,b)); +INSERT INTO t1 VALUES (10,2,-1), (20,3,-2), +(30,4,-3), (40,5,-4); +CREATE VIEW v1 (x,y) AS SELECT a, c FROM t1; +** Connecting test_con1 using username 'root' ** +** Connection test_con1 ** +SET @@Session.UPDATABLE_VIEWS_WITH_LIMIT=YES; +Warning expected, 'View does not contain complete key of the table' +UPDATE v1 SET x=x+6 LIMIT 1; +Warnings: +Note 1355 View being updated does not have complete key of underlying table in it +SELECT * FROM t1; +a b c +16 2 -1 +20 3 -2 +30 4 -3 +40 5 -4 +UPDATE v1 SET x=x+5; +SELECT * FROM t1; +a b c +21 2 -1 +25 3 -2 +35 4 -3 +45 5 -4 +** Connecting test_con2 using username 'root' ** +** Connection test_con2 ** +SET @@Session.UPDATABLE_VIEWS_WITH_LIMIT=NO; +SELECT @@SESSION.UPDATABLE_VIEWS_WITH_LIMIT; +@@SESSION.UPDATABLE_VIEWS_WITH_LIMIT +NO +UPDATE v1 SET x=x+10 LIMIT 1; +ERROR HY000: The target table v1 of the UPDATE is not updatable +Expected error 'Non updatable table' +SELECT * FROM t1; +a b c +21 2 -1 +25 3 -2 +35 4 -3 +45 5 -4 +'#---------------------FN_DYNVARS_039_01----------------------#' +SET UPDATABLE_VIEWS_WITH_LIMIT=NO; +UPDATE v1 SET x=x+1 LIMIT 1; +ERROR HY000: The target table v1 of the UPDATE is not updatable +Expected error 'Non updatable table' +SET UPDATABLE_VIEWS_WITH_LIMIT=0; +UPDATE v1 SET x=x+1 LIMIT 1; +ERROR HY000: The target table v1 of the UPDATE is not updatable +Expected error 'Non updatable table' +'#---------------------FN_DYNVARS_039_02----------------------#' +Warning expected, 'View does not contain complete key of the table' +SET UPDATABLE_VIEWS_WITH_LIMIT=DEFAULT; +UPDATE v1 SET x=x+1 LIMIT 1; +Warnings: +Note 1355 View being updated does not have complete key of underlying table in it +Warning expected, 'View does not contain complete key of the table' +SET UPDATABLE_VIEWS_WITH_LIMIT=YES; +UPDATE v1 SET x=x+2 LIMIT 1; +Warnings: +Note 1355 View being updated does not have complete key of underlying table in it +** Connection default ** +** Disconnecting test_con1, test_con2 ** +SET @@SESSION.updatable_views_with_limit = @session_updatable_views_with_limit; +DROP VIEW IF EXISTS v1; +DROP TABLE IF EXISTS t1; diff --git a/mysql-test/r/variables.result b/mysql-test/r/variables.result index e5c3c860c93..3f66599751d 100644 --- a/mysql-test/r/variables.result +++ b/mysql-test/r/variables.result @@ -1014,3 +1014,13 @@ Variable_name='table_lock_wait_timeout'; Variable_name Value table_definition_cache # table_lock_wait_timeout # + +# -- +# -- Bug#34820: log_output can be set to illegal value. +# -- +SET GLOBAL log_output = ''; +ERROR 42000: Variable 'log_output' can't be set to the value of '' +SET GLOBAL log_output = 0; +ERROR 42000: Variable 'log_output' can't be set to the value of '0' + +# -- End of Bug#34820. diff --git a/mysql-test/r/version_basic.result b/mysql-test/r/version_basic.result new file mode 100644 index 00000000000..01710426ac9 --- /dev/null +++ b/mysql-test/r/version_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_053_01----------------------#' +SELECT COUNT(@@GLOBAL.version); +COUNT(@@GLOBAL.version) +1 +1 Expected +'#---------------------BS_STVARS_053_02----------------------#' +SET @@GLOBAL.version=1; +ERROR HY000: Variable 'version' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.version); +COUNT(@@GLOBAL.version) +1 +1 Expected +'#---------------------BS_STVARS_053_03----------------------#' +SELECT @@GLOBAL.version = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='version'; +@@GLOBAL.version = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.version); +COUNT(@@GLOBAL.version) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='version'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_053_04----------------------#' +SELECT @@version = @@GLOBAL.version; +@@version = @@GLOBAL.version +1 +1 Expected +'#---------------------BS_STVARS_053_05----------------------#' +SELECT COUNT(@@version); +COUNT(@@version) +1 +1 Expected +SELECT COUNT(@@local.version); +ERROR HY000: Variable 'version' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.version); +ERROR HY000: Variable 'version' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.version); +COUNT(@@GLOBAL.version) +1 +1 Expected +SELECT version = @@SESSION.version; +ERROR 42S22: Unknown column 'version' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/version_comment_basic.result b/mysql-test/r/version_comment_basic.result new file mode 100644 index 00000000000..5ef4bdbdd87 --- /dev/null +++ b/mysql-test/r/version_comment_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_054_01----------------------#' +SELECT COUNT(@@GLOBAL.version_comment); +COUNT(@@GLOBAL.version_comment) +1 +1 Expected +'#---------------------BS_STVARS_054_02----------------------#' +SET @@GLOBAL.version_comment=1; +ERROR HY000: Variable 'version_comment' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.version_comment); +COUNT(@@GLOBAL.version_comment) +1 +1 Expected +'#---------------------BS_STVARS_054_03----------------------#' +SELECT @@GLOBAL.version_comment = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='version_comment'; +@@GLOBAL.version_comment = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.version_comment); +COUNT(@@GLOBAL.version_comment) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='version_comment'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_054_04----------------------#' +SELECT @@version_comment = @@GLOBAL.version_comment; +@@version_comment = @@GLOBAL.version_comment +1 +1 Expected +'#---------------------BS_STVARS_054_05----------------------#' +SELECT COUNT(@@version_comment); +COUNT(@@version_comment) +1 +1 Expected +SELECT COUNT(@@local.version_comment); +ERROR HY000: Variable 'version_comment' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.version_comment); +ERROR HY000: Variable 'version_comment' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.version_comment); +COUNT(@@GLOBAL.version_comment) +1 +1 Expected +SELECT version_comment = @@SESSION.version_comment; +ERROR 42S22: Unknown column 'version_comment' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/version_compile_machine_basic.result b/mysql-test/r/version_compile_machine_basic.result new file mode 100644 index 00000000000..eb239041929 --- /dev/null +++ b/mysql-test/r/version_compile_machine_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_055_01----------------------#' +SELECT COUNT(@@GLOBAL.version_compile_machine); +COUNT(@@GLOBAL.version_compile_machine) +1 +1 Expected +'#---------------------BS_STVARS_055_02----------------------#' +SET @@GLOBAL.version_compile_machine=1; +ERROR HY000: Variable 'version_compile_machine' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.version_compile_machine); +COUNT(@@GLOBAL.version_compile_machine) +1 +1 Expected +'#---------------------BS_STVARS_055_03----------------------#' +SELECT @@GLOBAL.version_compile_machine = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='version_compile_machine'; +@@GLOBAL.version_compile_machine = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.version_compile_machine); +COUNT(@@GLOBAL.version_compile_machine) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='version_compile_machine'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_055_04----------------------#' +SELECT @@version_compile_machine = @@GLOBAL.version_compile_machine; +@@version_compile_machine = @@GLOBAL.version_compile_machine +1 +1 Expected +'#---------------------BS_STVARS_055_05----------------------#' +SELECT COUNT(@@version_compile_machine); +COUNT(@@version_compile_machine) +1 +1 Expected +SELECT COUNT(@@local.version_compile_machine); +ERROR HY000: Variable 'version_compile_machine' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.version_compile_machine); +ERROR HY000: Variable 'version_compile_machine' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.version_compile_machine); +COUNT(@@GLOBAL.version_compile_machine) +1 +1 Expected +SELECT version_compile_machine = @@SESSION.version_compile_machine; +ERROR 42S22: Unknown column 'version_compile_machine' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/version_compile_os_basic.result b/mysql-test/r/version_compile_os_basic.result new file mode 100644 index 00000000000..64dcb761ae1 --- /dev/null +++ b/mysql-test/r/version_compile_os_basic.result @@ -0,0 +1,53 @@ +'#---------------------BS_STVARS_056_01----------------------#' +SELECT COUNT(@@GLOBAL.version_compile_os); +COUNT(@@GLOBAL.version_compile_os) +1 +1 Expected +'#---------------------BS_STVARS_056_02----------------------#' +SET @@GLOBAL.version_compile_os=1; +ERROR HY000: Variable 'version_compile_os' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@GLOBAL.version_compile_os); +COUNT(@@GLOBAL.version_compile_os) +1 +1 Expected +'#---------------------BS_STVARS_056_03----------------------#' +SELECT @@GLOBAL.version_compile_os = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='version_compile_os'; +@@GLOBAL.version_compile_os = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@GLOBAL.version_compile_os); +COUNT(@@GLOBAL.version_compile_os) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='version_compile_os'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_056_04----------------------#' +SELECT @@version_compile_os = @@GLOBAL.version_compile_os; +@@version_compile_os = @@GLOBAL.version_compile_os +1 +1 Expected +'#---------------------BS_STVARS_056_05----------------------#' +SELECT COUNT(@@version_compile_os); +COUNT(@@version_compile_os) +1 +1 Expected +SELECT COUNT(@@local.version_compile_os); +ERROR HY000: Variable 'version_compile_os' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@SESSION.version_compile_os); +ERROR HY000: Variable 'version_compile_os' is a GLOBAL variable +Expected error 'Variable is a GLOBAL variable' +SELECT COUNT(@@GLOBAL.version_compile_os); +COUNT(@@GLOBAL.version_compile_os) +1 +1 Expected +SELECT version_compile_os = @@SESSION.version_compile_os; +ERROR 42S22: Unknown column 'version_compile_os' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/wait_timeout_basic_32.result b/mysql-test/r/wait_timeout_basic_32.result new file mode 100644 index 00000000000..ae03e677e56 --- /dev/null +++ b/mysql-test/r/wait_timeout_basic_32.result @@ -0,0 +1,129 @@ +SET @start_global_value = @@global.wait_timeout; +SET @start_session_value = @@session.wait_timeout; +'#--------------------FN_DYNVARS_005_01-------------------------#' +SET @@global.wait_timeout = 100; +SET @@global.wait_timeout = DEFAULT; +SELECT @@global.wait_timeout; +@@global.wait_timeout +28800 +SET @@session.wait_timeout = 200; +SET @@session.wait_timeout = DEFAULT; +SELECT @@session.wait_timeout; +@@session.wait_timeout +28800 +'#--------------------FN_DYNVARS_005_02-------------------------#' +SET @@global.wait_timeout = DEFAULT; +SELECT @@global.wait_timeout = @default_wait_timeout; +@@global.wait_timeout = @default_wait_timeout +1 +SET @@session.wait_timeout = DEFAULT; +SELECT @@session.wait_timeout = @default_wait_timeout; +@@session.wait_timeout = @default_wait_timeout +1 +'#--------------------FN_DYNVARS_005_03-------------------------#' +SET @@global.wait_timeout= 1; +SELECT @@global.wait_timeout; +@@global.wait_timeout +1 +SET @@global.wait_timeout = 60020; +SELECT @@global.wait_timeout; +@@global.wait_timeout +60020 +SET @@global.wait_timeout = 31536000; +SELECT @@global.wait_timeout = @max_wait_timeout; +@@global.wait_timeout = @max_wait_timeout +1 +'#--------------------FN_DYNVARS_005_04-------------------------#' +SET @@session.wait_timeout =6000; +SELECT @@session.wait_timeout; +@@session.wait_timeout +6000 +'#------------------FN_DYNVARS_005_05-----------------------#' +SET @@global.wait_timeout = 0; +Warnings: +Warning 1292 Truncated incorrect wait_timeout value: '0' +SET @@global.wait_timeout = -1024; +Warnings: +Warning 1292 Truncated incorrect wait_timeout value: '0' +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@global.wait_timeout = ON; +ERROR 42000: Incorrect argument type to variable 'wait_timeout' +SET @@global.wait_timeout = OFF; +ERROR 42000: Incorrect argument type to variable 'wait_timeout' +SET @@global.wait_timeout = True; +SELECT @@global.wait_timeout; +@@global.wait_timeout +1 +SET @@global.wait_timeout = False; +Warnings: +Warning 1292 Truncated incorrect wait_timeout value: '0' +SELECT @@global.wait_timeout; +@@global.wait_timeout +1 +SET @@global.wait_timeout = 65530.34; +ERROR 42000: Incorrect argument type to variable 'wait_timeout' +SET @@global.wait_timeout ="Test"; +ERROR 42000: Incorrect argument type to variable 'wait_timeout' +SET @@session.wait_timeout = ON; +ERROR 42000: Incorrect argument type to variable 'wait_timeout' +SET @@session.wait_timeout = OFF; +ERROR 42000: Incorrect argument type to variable 'wait_timeout' +SET @@session.wait_timeout = True; +SELECT @@session.wait_timeout; +@@session.wait_timeout +1 +SET @@session.wait_timeout = False; +Warnings: +Warning 1292 Truncated incorrect wait_timeout value: '0' +SELECT @@session.wait_timeout; +@@session.wait_timeout +1 +SET @@session.wait_timeout = "Test"; +ERROR 42000: Incorrect argument type to variable 'wait_timeout' +SET @@session.wait_timeout = 'test'; +ERROR 42000: Incorrect argument type to variable 'wait_timeout' +SET @@session.wait_timeout = 123456789031; +Warnings: +Warning 1292 Truncated incorrect wait_timeout value: '123456789031' +SELECT @@session.wait_timeout = @max_wait_timeout; +@@session.wait_timeout = @max_wait_timeout +1 +'#------------------FN_DYNVARS_005_06-----------------------#' +SELECT @@global.wait_timeout = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='wait_timeout'; +@@global.wait_timeout = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_005_07-----------------------#' +SELECT @@session.wait_timeout = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='wait_timeout'; +@@session.wait_timeout = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_001_09----------------------#' +SET @@global.wait_timeout = 30000; +SET @@global.wait_timeout = 40000; +SELECT @@wait_timeout = @@global.wait_timeout; +@@wait_timeout = @@global.wait_timeout +0 +'#---------------------FN_DYNVARS_001_10----------------------#' +SET @@wait_timeout = 100; +SELECT @@wait_timeout = @@local.wait_timeout; +@@wait_timeout = @@local.wait_timeout +1 +SELECT @@local.wait_timeout = @@session.wait_timeout; +@@local.wait_timeout = @@session.wait_timeout +1 +'#---------------------FN_DYNVARS_001_11----------------------#' +SET wait_timeout = 1027; +SELECT @@wait_timeout; +@@wait_timeout +1027 +SELECT local.wait_timeout; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.wait_timeout; +ERROR 42S02: Unknown table 'session' in field list +SELECT wait_timeout = @@session.wait_timeout; +ERROR 42S22: Unknown column 'wait_timeout' in 'field list' +SET @@global.wait_timeout = @start_global_value; +SET @@session.wait_timeout = @start_session_value; diff --git a/mysql-test/r/wait_timeout_basic_64.result b/mysql-test/r/wait_timeout_basic_64.result new file mode 100644 index 00000000000..ae03e677e56 --- /dev/null +++ b/mysql-test/r/wait_timeout_basic_64.result @@ -0,0 +1,129 @@ +SET @start_global_value = @@global.wait_timeout; +SET @start_session_value = @@session.wait_timeout; +'#--------------------FN_DYNVARS_005_01-------------------------#' +SET @@global.wait_timeout = 100; +SET @@global.wait_timeout = DEFAULT; +SELECT @@global.wait_timeout; +@@global.wait_timeout +28800 +SET @@session.wait_timeout = 200; +SET @@session.wait_timeout = DEFAULT; +SELECT @@session.wait_timeout; +@@session.wait_timeout +28800 +'#--------------------FN_DYNVARS_005_02-------------------------#' +SET @@global.wait_timeout = DEFAULT; +SELECT @@global.wait_timeout = @default_wait_timeout; +@@global.wait_timeout = @default_wait_timeout +1 +SET @@session.wait_timeout = DEFAULT; +SELECT @@session.wait_timeout = @default_wait_timeout; +@@session.wait_timeout = @default_wait_timeout +1 +'#--------------------FN_DYNVARS_005_03-------------------------#' +SET @@global.wait_timeout= 1; +SELECT @@global.wait_timeout; +@@global.wait_timeout +1 +SET @@global.wait_timeout = 60020; +SELECT @@global.wait_timeout; +@@global.wait_timeout +60020 +SET @@global.wait_timeout = 31536000; +SELECT @@global.wait_timeout = @max_wait_timeout; +@@global.wait_timeout = @max_wait_timeout +1 +'#--------------------FN_DYNVARS_005_04-------------------------#' +SET @@session.wait_timeout =6000; +SELECT @@session.wait_timeout; +@@session.wait_timeout +6000 +'#------------------FN_DYNVARS_005_05-----------------------#' +SET @@global.wait_timeout = 0; +Warnings: +Warning 1292 Truncated incorrect wait_timeout value: '0' +SET @@global.wait_timeout = -1024; +Warnings: +Warning 1292 Truncated incorrect wait_timeout value: '0' +'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +SET @@global.wait_timeout = ON; +ERROR 42000: Incorrect argument type to variable 'wait_timeout' +SET @@global.wait_timeout = OFF; +ERROR 42000: Incorrect argument type to variable 'wait_timeout' +SET @@global.wait_timeout = True; +SELECT @@global.wait_timeout; +@@global.wait_timeout +1 +SET @@global.wait_timeout = False; +Warnings: +Warning 1292 Truncated incorrect wait_timeout value: '0' +SELECT @@global.wait_timeout; +@@global.wait_timeout +1 +SET @@global.wait_timeout = 65530.34; +ERROR 42000: Incorrect argument type to variable 'wait_timeout' +SET @@global.wait_timeout ="Test"; +ERROR 42000: Incorrect argument type to variable 'wait_timeout' +SET @@session.wait_timeout = ON; +ERROR 42000: Incorrect argument type to variable 'wait_timeout' +SET @@session.wait_timeout = OFF; +ERROR 42000: Incorrect argument type to variable 'wait_timeout' +SET @@session.wait_timeout = True; +SELECT @@session.wait_timeout; +@@session.wait_timeout +1 +SET @@session.wait_timeout = False; +Warnings: +Warning 1292 Truncated incorrect wait_timeout value: '0' +SELECT @@session.wait_timeout; +@@session.wait_timeout +1 +SET @@session.wait_timeout = "Test"; +ERROR 42000: Incorrect argument type to variable 'wait_timeout' +SET @@session.wait_timeout = 'test'; +ERROR 42000: Incorrect argument type to variable 'wait_timeout' +SET @@session.wait_timeout = 123456789031; +Warnings: +Warning 1292 Truncated incorrect wait_timeout value: '123456789031' +SELECT @@session.wait_timeout = @max_wait_timeout; +@@session.wait_timeout = @max_wait_timeout +1 +'#------------------FN_DYNVARS_005_06-----------------------#' +SELECT @@global.wait_timeout = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='wait_timeout'; +@@global.wait_timeout = VARIABLE_VALUE +1 +'#------------------FN_DYNVARS_005_07-----------------------#' +SELECT @@session.wait_timeout = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='wait_timeout'; +@@session.wait_timeout = VARIABLE_VALUE +1 +'#---------------------FN_DYNVARS_001_09----------------------#' +SET @@global.wait_timeout = 30000; +SET @@global.wait_timeout = 40000; +SELECT @@wait_timeout = @@global.wait_timeout; +@@wait_timeout = @@global.wait_timeout +0 +'#---------------------FN_DYNVARS_001_10----------------------#' +SET @@wait_timeout = 100; +SELECT @@wait_timeout = @@local.wait_timeout; +@@wait_timeout = @@local.wait_timeout +1 +SELECT @@local.wait_timeout = @@session.wait_timeout; +@@local.wait_timeout = @@session.wait_timeout +1 +'#---------------------FN_DYNVARS_001_11----------------------#' +SET wait_timeout = 1027; +SELECT @@wait_timeout; +@@wait_timeout +1027 +SELECT local.wait_timeout; +ERROR 42S02: Unknown table 'local' in field list +SELECT session.wait_timeout; +ERROR 42S02: Unknown table 'session' in field list +SELECT wait_timeout = @@session.wait_timeout; +ERROR 42S22: Unknown column 'wait_timeout' in 'field list' +SET @@global.wait_timeout = @start_global_value; +SET @@session.wait_timeout = @start_session_value; diff --git a/mysql-test/r/wait_timeout_func.result b/mysql-test/r/wait_timeout_func.result new file mode 100644 index 00000000000..35fe10a1889 --- /dev/null +++ b/mysql-test/r/wait_timeout_func.result @@ -0,0 +1,30 @@ +drop table if exists t1; +## Creating new table t1 ## +CREATE TABLE t1 +( +id INT NOT NULL auto_increment, +PRIMARY KEY (id), +name VARCHAR(30) +); +'#--------------------FN_DYNVARS_186_01-------------------------#' +## Creating new connection test_con1 ## +## Setting value of variable to 5 ## +SET @@session.wait_timeout = 5; +## Inserting record in table t1 ## +INSERT into t1(name) values('Record_1'); +## Using sleep to check timeout ## +'#--------------------FN_DYNVARS_186_02-------------------------#' +## Setting value of variable ## +SET @@global.wait_timeout = 5; +## Creating new connection test_con2 ## +INSERT into t1(name) values('Record_2'); +## Using sleep to check timeout ## +'#--------------------FN_DYNVARS_186_03-------------------------#' +## Setting value of variable to 1 ## +SET @@global.wait_timeout = 1; +## Creating new connection ## +INSERT into t1(name) values('Record_3'); +## Using sleep to check timeout ## +## We cannot test it further because the server stops due to wait_timeout ## +SELECT * from t1; +ERROR HY000: MySQL server has gone away diff --git a/mysql-test/r/warning_count_basic.result b/mysql-test/r/warning_count_basic.result new file mode 100644 index 00000000000..0ce85c7bbf9 --- /dev/null +++ b/mysql-test/r/warning_count_basic.result @@ -0,0 +1,54 @@ +'#---------------------BS_STVARS_057_01----------------------#' +SELECT COUNT(@@SESSION.warning_count); +COUNT(@@SESSION.warning_count) +1 +1 Expected +'#---------------------BS_STVARS_057_02----------------------#' +SET @@SESSION.warning_count=1; +ERROR HY000: Variable 'warning_count' is a read only variable +Expected error 'Read only variable' +SELECT COUNT(@@SESSION.warning_count); +COUNT(@@SESSION.warning_count) +1 +1 Expected +'#---------------------BS_STVARS_057_03----------------------#' +SELECT @@SESSION.warning_count = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='warning_count'; +@@SESSION.warning_count = VARIABLE_VALUE +1 +1 Expected +SELECT COUNT(@@SESSION.warning_count); +COUNT(@@SESSION.warning_count) +1 +1 Expected +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='warning_count'; +COUNT(VARIABLE_VALUE) +1 +1 Expected +'#---------------------BS_STVARS_057_04----------------------#' +SELECT @@warning_count = @@SESSION.warning_count; +@@warning_count = @@SESSION.warning_count +1 +1 Expected +'#---------------------BS_STVARS_057_05----------------------#' +SELECT COUNT(@@warning_count); +COUNT(@@warning_count) +1 +1 Expected +SELECT COUNT(@@local.warning_count); +COUNT(@@local.warning_count) +1 +1 Expected +SELECT COUNT(@@SESSION.warning_count); +COUNT(@@SESSION.warning_count) +1 +1 Expected +SELECT COUNT(@@GLOBAL.warning_count); +ERROR HY000: Variable 'warning_count' is a SESSION variable +Expected error 'Variable is a SESSION variable' +SELECT COUNT(warning_count = @@GLOBAL.warning_count); +ERROR 42S22: Unknown column 'warning_count' in 'field list' +Expected error 'Readonly variable' diff --git a/mysql-test/r/warnings.result b/mysql-test/r/warnings.result index 46fdace9125..a4237597646 100644 --- a/mysql-test/r/warnings.result +++ b/mysql-test/r/warnings.result @@ -283,7 +283,6 @@ set @q = repeat('q', 256); set sql_mode = ''; insert into t1 values(@c, @c, @c); Warnings: -Note 1265 Data truncated for column 'c_char' at row 1 Note 1265 Data truncated for column 'c_varchar' at row 1 Note 1265 Data truncated for column 'c_tinytext' at row 1 insert into t2 values(@c); @@ -300,7 +299,6 @@ Warning 1265 Data truncated for column 'c_tinyblob' at row 1 set sql_mode = 'traditional'; insert into t1 values(@c, @c, @c); Warnings: -Note 1265 Data truncated for column 'c_char' at row 1 Note 1265 Data truncated for column 'c_varchar' at row 1 Note 1265 Data truncated for column 'c_tinytext' at row 1 insert into t2 values(@c); diff --git a/mysql-test/std_data/bug36055.MYD b/mysql-test/std_data/bug36055.MYD new file mode 100644 index 00000000000..4932a077113 Binary files /dev/null and b/mysql-test/std_data/bug36055.MYD differ diff --git a/mysql-test/std_data/bug36055.MYI b/mysql-test/std_data/bug36055.MYI new file mode 100644 index 00000000000..531c505c102 Binary files /dev/null and b/mysql-test/std_data/bug36055.MYI differ diff --git a/mysql-test/std_data/bug36055.frm b/mysql-test/std_data/bug36055.frm new file mode 100644 index 00000000000..11c9cb31dad Binary files /dev/null and b/mysql-test/std_data/bug36055.frm differ diff --git a/mysql-test/std_data/charset_utf8.txt b/mysql-test/std_data/charset_utf8.txt new file mode 100644 index 00000000000..3fd23d10f04 --- /dev/null +++ b/mysql-test/std_data/charset_utf8.txt @@ -0,0 +1,2527 @@ +! +" +# +$ +% +& +' +( +) +* ++ +, +- +. +/ +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +: +; +< += +> +? +@ +A +B +C +D +E +F +G +H +I +J +K +L +M +N +O +P +Q +R +S +T +U +V +W +X +Y +Z +[ +\ +] +^ +_ +` +a +b +c +d +e +f +g +h +i +j +k +l +m +n +o +p +q +r +s +t +u +v +w +x +y +z +{ +| +} +~ + +€ + +‚ +ƒ +„ +Â… +† +‡ +ˆ +‰ +Š +‹ +ÂŒ + +ÂŽ + + +‘ +Â’ +“ +” +• +– +— +˜ +™ +š +› +œ + +ž +Ÿ +  +¡ +¢ +£ +¤ +Â¥ +¦ +§ +¨ +© +ª +« +¬ +­ +® +¯ +° +± +² +³ +´ +µ +¶ +· +¸ +¹ +º +» +¼ +½ +¾ +¿ +À +à + +à +Ä +Ã… +Æ +Ç +È +É +Ê +Ë +ÃŒ +à +ÃŽ +à +à +Ñ +Ã’ +Ó +Ô +Õ +Ö +× +Ø +Ù +Ú +Û +Ü +à +Þ +ß +à +á +â +ã +ä +Ã¥ +æ +ç +è +é +ê +ë +ì +í +î +ï +ð +ñ +ò +ó +ô +õ +ö +÷ +ø +ù +ú +û +ü +ý +þ +ÿ +Ä€ +Ä +Ä‚ +ă +Ä„ +Ä… +Ć +ć +Ĉ +ĉ +ÄŠ +Ä‹ +ÄŒ +Ä +ÄŽ +Ä +Ä +Ä‘ +Ä’ +Ä“ +Ä” +Ä• +Ä– +Ä— +Ę +Ä™ +Äš +Ä› +Äœ +Ä +Äž +ÄŸ +Ä  +Ä¡ +Ä¢ +Ä£ +Ĥ +Ä¥ +Ħ +ħ +Ĩ +Ä© +Ī +Ä« +Ĭ +Ä­ +Ä® +į +İ +ı +IJ +ij +Ä´ +ĵ +Ķ +Ä· +ĸ +Ĺ +ĺ +Ä» +ļ +Ľ +ľ +Ä¿ +Å€ +Å +Å‚ +Ń +Å„ +Å… +ņ +Ň +ň +ʼn +ÅŠ +Å‹ +ÅŒ +Å +ÅŽ +Å +Å +Å‘ +Å’ +Å“ +Å” +Å• +Å– +Å— +Ř +Å™ +Åš +Å› +Åœ +Å +Åž +ÅŸ +Å  +Å¡ +Å¢ +Å£ +Ť +Å¥ +Ŧ +ŧ +Ũ +Å© +Ū +Å« +Ŭ +Å­ +Å® +ů +Ű +ű +Ų +ų +Å´ +ŵ +Ŷ +Å· +Ÿ +Ź +ź +Å» +ż +Ž +ž +Å¿ +Æ€ +Æ +Æ‚ +ƃ +Æ„ +Æ… +Ɔ +Ƈ +ƈ +Ɖ +ÆŠ +Æ‹ +ÆŒ +Æ +ÆŽ +Æ +Æ +Æ‘ +Æ’ +Æ“ +Æ” +Æ• +Æ– +Æ— +Ƙ +Æ™ +Æš +Æ› +Æœ +Æ +Æž +ÆŸ +Æ  +Æ¡ +Æ¢ +Æ£ +Ƥ +Æ¥ +Ʀ +Ƨ +ƨ +Æ© +ƪ +Æ« +Ƭ +Æ­ +Æ® +Ư +ư +Ʊ +Ʋ +Ƴ +Æ´ +Ƶ +ƶ +Æ· +Ƹ +ƹ +ƺ +Æ» +Ƽ +ƽ +ƾ +Æ¿ +Ç€ +Ç +Ç‚ +ǃ +Ç„ +Ç… +dž +LJ +Lj +lj +ÇŠ +Ç‹ +ÇŒ +Ç +ÇŽ +Ç +Ç +Ç‘ +Ç’ +Ç“ +Ç” +Ç• +Ç– +Ç— +ǘ +Ç™ +Çš +Ç› +Çœ +Ç +Çž +ÇŸ +Ç  +Ç¡ +Ç¢ +Ç£ +Ǥ +Ç¥ +Ǧ +ǧ +Ǩ +Ç© +Ǫ +Ç« +Ǭ +Ç­ +Ç® +ǯ +ǰ +DZ +Dz +dz +Ç´ +ǵ +Ƕ +Ç· +Ǹ +ǹ +Ǻ +Ç» +Ǽ +ǽ +Ǿ +Ç¿ +È€ +È +È‚ +ȃ +È„ +È… +Ȇ +ȇ +Ȉ +ȉ +ÈŠ +È‹ +ÈŒ +È +ÈŽ +È +È +È‘ +È’ +È“ +È” +È• +È– +È— +Ș +È™ +Èš +È› +Èœ +È +Èž +ÈŸ +È  +È¡ +È¢ +È£ +Ȥ +È¥ +Ȧ +ȧ +Ȩ +È© +Ȫ +È« +Ȭ +È­ +È® +ȯ +Ȱ +ȱ +Ȳ +ȳ +È´ +ȵ +ȶ +È· +ȸ +ȹ +Ⱥ +È» +ȼ +Ƚ +Ⱦ +È¿ +É€ +É +É‚ +Ƀ +É„ +É… +Ɇ +ɇ +Ɉ +ɉ +ÉŠ +É‹ +ÉŒ +É +ÉŽ +É +É +É‘ +É’ +É“ +É” +É• +É– +É— +ɘ +É™ +Éš +É› +Éœ +É +Éž +ÉŸ +É  +É¡ +É¢ +É£ +ɤ +É¥ +ɦ +ɧ +ɨ +É© +ɪ +É« +ɬ +É­ +É® +ɯ +ɰ +ɱ +ɲ +ɳ +É´ +ɵ +ɶ +É· +ɸ +ɹ +ɺ +É» +ɼ +ɽ +ɾ +É¿ +Ê€ +Ê +Ê‚ +ʃ +Ê„ +Ê… +ʆ +ʇ +ʈ +ʉ +ÊŠ +Ê‹ +ÊŒ +Ê +ÊŽ +Ê +Ê +Ê‘ +Ê’ +Ê“ +Ê” +Ê• +Ê– +Ê— +ʘ +Ê™ +Êš +Ê› +Êœ +Ê +Êž +ÊŸ +Ê  +Ê¡ +Ê¢ +Ê£ +ʤ +Ê¥ +ʦ +ʧ +ʨ +Ê© +ʪ +Ê« +ʬ +Ê­ +Ê® +ʯ +ʰ +ʱ +ʲ +ʳ +Ê´ +ʵ +ʶ +Ê· +ʸ +ʹ +ʺ +Ê» +ʼ +ʽ +ʾ +Ê¿ +Ë€ +Ë +Ë‚ +˃ +Ë„ +Ë… +ˆ +ˇ +ˈ +ˉ +ËŠ +Ë‹ +ËŒ +Ë +ËŽ +Ë +Ë +Ë‘ +Ë’ +Ë“ +Ë” +Ë• +Ë– +Ë— +˘ +Ë™ +Ëš +Ë› +Ëœ +Ë +Ëž +ËŸ +Ë  +Ë¡ +Ë¢ +Ë£ +ˤ +Ë¥ +˦ +˧ +˨ +Ë© +˪ +Ë« +ˬ +Ë­ +Ë® +˯ +˰ +˱ +˲ +˳ +Ë´ +˵ +˶ +Ë· +˸ +˹ +˺ +Ë» +˼ +˽ +˾ +Ë¿ +Ì€ +Ì +Ì‚ +̃ +Ì„ +Ì… +̆ +̇ +̈ +̉ +ÌŠ +Ì‹ +ÌŒ +Ì +ÌŽ +Ì +Ì +Ì‘ +Ì’ +Ì“ +Ì” +Ì• +Ì– +Ì— +̘ +Ì™ +Ìš +Ì› +Ìœ +Ì +Ìž +ÌŸ +Ì  +Ì¡ +Ì¢ +Ì£ +̤ +Ì¥ +̦ +̧ +̨ +Ì© +̪ +Ì« +̬ +Ì­ +Ì® +̯ +̰ +̱ +̲ +̳ +Ì´ +̵ +̶ +Ì· +̸ +̹ +̺ +Ì» +̼ +̽ +̾ +Ì¿ +Í€ +Í +Í‚ +̓ +Í„ +Í… +͆ +͇ +͈ +͉ +ÍŠ +Í‹ +ÍŒ +Í +ÍŽ +Í +Í +Í‘ +Í’ +Í“ +Í” +Í• +Í– +Í— +͘ +Í™ +Íš +Í› +Íœ +Í +Íž +ÍŸ +Í  +Í¡ +Í¢ +Í£ +ͤ +Í¥ +ͦ +ͧ +ͨ +Í© +ͪ +Í« +ͬ +Í­ +Í® +ͯ +Ͱ +ͱ +Ͳ +ͳ +Í´ +͵ +Ͷ +Í· +͸ +͹ +ͺ +Í» +ͼ +ͽ +; +Í¿ +΀ +Î +΂ +΃ +΄ +Î… +Ά +· +Έ +Ή +Ί +΋ +ÎŒ +Î +ÎŽ +Î +Î +Α +Î’ +Γ +Δ +Ε +Ζ +Η +Θ +Ι +Κ +Λ +Μ +Î +Ξ +Ο +Π +Ρ +΢ +Σ +Τ +Î¥ +Φ +Χ +Ψ +Ω +Ϊ +Ϋ +ά +έ +ή +ί +ΰ +α +β +γ +δ +ε +ζ +η +θ +ι +κ +λ +μ +ν +ξ +ο +Ï€ +Ï +Ï‚ +σ +Ï„ +Ï… +φ +χ +ψ +ω +ÏŠ +Ï‹ +ÏŒ +Ï +ÏŽ +Ï +Ï +Ï‘ +Ï’ +Ï“ +Ï” +Ï• +Ï– +Ï— +Ϙ +Ï™ +Ïš +Ï› +Ïœ +Ï +Ïž +ÏŸ +Ï  +Ï¡ +Ï¢ +Ï£ +Ϥ +Ï¥ +Ϧ +ϧ +Ϩ +Ï© +Ϫ +Ï« +Ϭ +Ï­ +Ï® +ϯ +ϰ +ϱ +ϲ +ϳ +Ï´ +ϵ +϶ +Ï· +ϸ +Ϲ +Ϻ +Ï» +ϼ +Ͻ +Ͼ +Ï¿ +Ѐ +Ð +Ђ +Ѓ +Є +Ð… +І +Ї +Ј +Љ +Њ +Ћ +ÐŒ +Ð +ÐŽ +Ð +Ð +Б +Ð’ +Г +Д +Е +Ж +З +И +Й +К +Л +М +Ð +О +П +Р +С +Т +У +Ф +Ð¥ +Ц +Ч +Ш +Щ +Ъ +Ы +Ь +Э +Ю +Я +а +б +в +г +д +е +ж +з +и +й +к +л +м +н +о +п +Ñ€ +Ñ +Ñ‚ +у +Ñ„ +Ñ… +ц +ч +ш +щ +ÑŠ +Ñ‹ +ÑŒ +Ñ +ÑŽ +Ñ +Ñ +Ñ‘ +Ñ’ +Ñ“ +Ñ” +Ñ• +Ñ– +Ñ— +ј +Ñ™ +Ñš +Ñ› +Ñœ +Ñ +Ñž +ÑŸ +Ñ  +Ñ¡ +Ñ¢ +Ñ£ +Ѥ +Ñ¥ +Ѧ +ѧ +Ѩ +Ñ© +Ѫ +Ñ« +Ѭ +Ñ­ +Ñ® +ѯ +Ѱ +ѱ +Ѳ +ѳ +Ñ´ +ѵ +Ѷ +Ñ· +Ѹ +ѹ +Ѻ +Ñ» +Ѽ +ѽ +Ѿ +Ñ¿ +Ò€ +Ò +Ò‚ +Òƒ +Ò„ +Ò… +Ò† +Ò‡ +Òˆ +Ò‰ +ÒŠ +Ò‹ +ÒŒ +Ò +ÒŽ +Ò +Ò +Ò‘ +Ò’ +Ò“ +Ò” +Ò• +Ò– +Ò— +Ò˜ +Ò™ +Òš +Ò› +Òœ +Ò +Òž +ÒŸ +Ò  +Ò¡ +Ò¢ +Ò£ +Ò¤ +Ò¥ +Ò¦ +Ò§ +Ò¨ +Ò© +Òª +Ò« +Ò¬ +Ò­ +Ò® +Ò¯ +Ò° +Ò± +Ò² +Ò³ +Ò´ +Òµ +Ò¶ +Ò· +Ò¸ +Ò¹ +Òº +Ò» +Ò¼ +Ò½ +Ò¾ +Ò¿ +Ó€ +Ó +Ó‚ +Óƒ +Ó„ +Ó… +Ó† +Ó‡ +Óˆ +Ó‰ +ÓŠ +Ó‹ +ÓŒ +Ó +ÓŽ +Ó +Ó +Ó‘ +Ó’ +Ó“ +Ó” +Ó• +Ó– +Ó— +Ó˜ +Ó™ +Óš +Ó› +Óœ +Ó +Óž +ÓŸ +Ó  +Ó¡ +Ó¢ +Ó£ +Ó¤ +Ó¥ +Ó¦ +Ó§ +Ó¨ +Ó© +Óª +Ó« +Ó¬ +Ó­ +Ó® +Ó¯ +Ó° +Ó± +Ó² +Ó³ +Ó´ +Óµ +Ó¶ +Ó· +Ó¸ +Ó¹ +Óº +Ó» +Ó¼ +Ó½ +Ó¾ +Ó¿ +Ô€ +Ô +Ô‚ +Ôƒ +Ô„ +Ô… +Ô† +Ô‡ +Ôˆ +Ô‰ +ÔŠ +Ô‹ +ÔŒ +Ô +ÔŽ +Ô +Ô +Ô‘ +Ô’ +Ô“ +Ô” +Ô• +Ô– +Ô— +Ô˜ +Ô™ +Ôš +Ô› +Ôœ +Ô +Ôž +ÔŸ +Ô  +Ô¡ +Ô¢ +Ô£ +Ô¤ +Ô¥ +Ô¦ +Ô§ +Ô¨ +Ô© +Ôª +Ô« +Ô¬ +Ô­ +Ô® +Ô¯ +Ô° +Ô± +Ô² +Ô³ +Ô´ +Ôµ +Ô¶ +Ô· +Ô¸ +Ô¹ +Ôº +Ô» +Ô¼ +Ô½ +Ô¾ +Ô¿ +Õ€ +Õ +Õ‚ +Õƒ +Õ„ +Õ… +Õ† +Õ‡ +Õˆ +Õ‰ +ÕŠ +Õ‹ +ÕŒ +Õ +ÕŽ +Õ +Õ +Õ‘ +Õ’ +Õ“ +Õ” +Õ• +Õ– +Õ— +Õ˜ +Õ™ +Õš +Õ› +Õœ +Õ +Õž +ÕŸ +Õ  +Õ¡ +Õ¢ +Õ£ +Õ¤ +Õ¥ +Õ¦ +Õ§ +Õ¨ +Õ© +Õª +Õ« +Õ¬ +Õ­ +Õ® +Õ¯ +Õ° +Õ± +Õ² +Õ³ +Õ´ +Õµ +Õ¶ +Õ· +Õ¸ +Õ¹ +Õº +Õ» +Õ¼ +Õ½ +Õ¾ +Õ¿ +Ö€ +Ö +Ö‚ +Öƒ +Ö„ +Ö… +Ö† +Ö‡ +Öˆ +Ö‰ +ÖŠ +Ö‹ +ÖŒ +Ö +ÖŽ +Ö +Ö +Ö‘ +Ö’ +Ö“ +Ö” +Ö• +Ö– +Ö— +Ö˜ +Ö™ +Öš +Ö› +Öœ +Ö +Öž +ÖŸ +Ö  +Ö¡ +Ö¢ +Ö£ +Ö¤ +Ö¥ +Ö¦ +Ö§ +Ö¨ +Ö© +Öª +Ö« +Ö¬ +Ö­ +Ö® +Ö¯ +Ö° +Ö± +Ö² +Ö³ +Ö´ +Öµ +Ö¶ +Ö· +Ö¸ +Ö¹ +Öº +Ö» +Ö¼ +Ö½ +Ö¾ +Ö¿ +×€ +× +ׂ +׃ +ׄ +×… +׆ +ׇ +׈ +׉ +׊ +׋ +׌ +× +׎ +× +× +ב +×’ +ד +×” +ו +×– +×— +ט +×™ +ך +×› +ל +× +מ +ן +×  +ס +×¢ +×£ +פ +×¥ +צ +×§ +ר +ש +ת +׫ +׬ +×­ +×® +ׯ +×° +×± +ײ +׳ +×´ +×µ +×¶ +×· +׸ +×¹ +׺ +×» +×¼ +×½ +×¾ +׿ +Ø€ +Ø +Ø‚ +؃ +Ø„ +Ø… +؆ +؇ +؈ +؉ +ØŠ +Ø‹ +ØŒ +Ø +ØŽ +Ø +Ø +Ø‘ +Ø’ +Ø“ +Ø” +Ø• +Ø– +Ø— +ؘ +Ø™ +Øš +Ø› +Øœ +Ø +Øž +ØŸ +Ø  +Ø¡ +Ø¢ +Ø£ +ؤ +Ø¥ +ئ +ا +ب +Ø© +ت +Ø« +ج +Ø­ +Ø® +د +ذ +ر +ز +س +Ø´ +ص +ض +Ø· +ظ +ع +غ +Ø» +ؼ +ؽ +ؾ +Ø¿ +Ù€ +Ù +Ù‚ +Ùƒ +Ù„ +Ù… +Ù† +Ù‡ +Ùˆ +Ù‰ +ÙŠ +Ù‹ +ÙŒ +Ù +ÙŽ +Ù +Ù +Ù‘ +Ù’ +Ù“ +Ù” +Ù• +Ù– +Ù— +Ù˜ +Ù™ +Ùš +Ù› +Ùœ +Ù +Ùž +ÙŸ +Ù  +Ù¡ +Ù¢ +Ù£ +Ù¤ +Ù¥ +Ù¦ +Ù§ +Ù¨ +Ù© +Ùª +Ù« +Ù¬ +Ù­ +Ù® +Ù¯ +Ù° +Ù± +Ù² +Ù³ +Ù´ +Ùµ +Ù¶ +Ù· +Ù¸ +Ù¹ +Ùº +Ù» +Ù¼ +Ù½ +Ù¾ +Ù¿ +Ú€ +Ú +Ú‚ +Úƒ +Ú„ +Ú… +Ú† +Ú‡ +Úˆ +Ú‰ +ÚŠ +Ú‹ +ÚŒ +Ú +ÚŽ +Ú +Ú +Ú‘ +Ú’ +Ú“ +Ú” +Ú• +Ú– +Ú— +Ú˜ +Ú™ +Úš +Ú› +Úœ +Ú +Úž +ÚŸ +Ú  +Ú¡ +Ú¢ +Ú£ +Ú¤ +Ú¥ +Ú¦ +Ú§ +Ú¨ +Ú© +Úª +Ú« +Ú¬ +Ú­ +Ú® +Ú¯ +Ú° +Ú± +Ú² +Ú³ +Ú´ +Úµ +Ú¶ +Ú· +Ú¸ +Ú¹ +Úº +Ú» +Ú¼ +Ú½ +Ú¾ +Ú¿ +Û€ +Û +Û‚ +Ûƒ +Û„ +Û… +Û† +Û‡ +Ûˆ +Û‰ +ÛŠ +Û‹ +ÛŒ +Û +ÛŽ +Û +Û +Û‘ +Û’ +Û“ +Û” +Û• +Û– +Û— +Û˜ +Û™ +Ûš +Û› +Ûœ +Û +Ûž +ÛŸ +Û  +Û¡ +Û¢ +Û£ +Û¤ +Û¥ +Û¦ +Û§ +Û¨ +Û© +Ûª +Û« +Û¬ +Û­ +Û® +Û¯ +Û° +Û± +Û² +Û³ +Û´ +Ûµ +Û¶ +Û· +Û¸ +Û¹ +Ûº +Û» +Û¼ +Û½ +Û¾ +Û¿ +Ü€ +Ü +Ü‚ +܃ +Ü„ +Ü… +܆ +܇ +܈ +܉ +ÜŠ +Ü‹ +ÜŒ +Ü +ÜŽ +Ü +Ü +Ü‘ +Ü’ +Ü“ +Ü” +Ü• +Ü– +Ü— +ܘ +Ü™ +Üš +Ü› +Üœ +Ü +Üž +ÜŸ +Ü  +Ü¡ +Ü¢ +Ü£ +ܤ +Ü¥ +ܦ +ܧ +ܨ +Ü© +ܪ +Ü« +ܬ +Ü­ +Ü® +ܯ +ܰ +ܱ +ܲ +ܳ +Ü´ +ܵ +ܶ +Ü· +ܸ +ܹ +ܺ +Ü» +ܼ +ܽ +ܾ +Ü¿ +Ý€ +Ý +Ý‚ +݃ +Ý„ +Ý… +݆ +݇ +݈ +݉ +ÝŠ +Ý‹ +ÝŒ +Ý +ÝŽ +Ý +Ý +Ý‘ +Ý’ +Ý“ +Ý” +Ý• +Ý– +Ý— +ݘ +Ý™ +Ýš +Ý› +Ýœ +Ý +Ýž +ÝŸ +Ý  +Ý¡ +Ý¢ +Ý£ +ݤ +Ý¥ +ݦ +ݧ +ݨ +Ý© +ݪ +Ý« +ݬ +Ý­ +Ý® +ݯ +ݰ +ݱ +ݲ +ݳ +Ý´ +ݵ +ݶ +Ý· +ݸ +ݹ +ݺ +Ý» +ݼ +ݽ +ݾ +Ý¿ +Þ€ +Þ +Þ‚ +Þƒ +Þ„ +Þ… +Þ† +Þ‡ +Þˆ +Þ‰ +ÞŠ +Þ‹ +ÞŒ +Þ +ÞŽ +Þ +Þ +Þ‘ +Þ’ +Þ“ +Þ” +Þ• +Þ– +Þ— +Þ˜ +Þ™ +Þš +Þ› +Þœ +Þ +Þž +ÞŸ +Þ  +Þ¡ +Þ¢ +Þ£ +Þ¤ +Þ¥ +Þ¦ +Þ§ +Þ¨ +Þ© +Þª +Þ« +Þ¬ +Þ­ +Þ® +Þ¯ +Þ° +Þ± +Þ² +Þ³ +Þ´ +Þµ +Þ¶ +Þ· +Þ¸ +Þ¹ +Þº +Þ» +Þ¼ +Þ½ +Þ¾ +Þ¿ +߀ +ß +ß‚ +߃ +ß„ +ß… +߆ +߇ +߈ +߉ +ߊ +ß‹ +ߌ +ß +ߎ +ß +ß +ß‘ +ß’ +ß“ +ß” +ß• +ß– +ß— +ߘ +ß™ +ßš +ß› +ßœ +ß +ßž +ߟ +ß  +ß¡ +ߢ +ߣ +ߤ +ߥ +ߦ +ß§ +ߨ +ß© +ߪ +ß« +߬ +ß­ +ß® +߯ +ß° +ß± +ß² +ß³ +ß´ +ßµ +ß¶ +ß· +߸ +ß¹ +ߺ +ß» +ß¼ +ß½ +ß¾ +ß¿ +一 +ä¸ +丂 +七 +丄 +丅 +丆 +万 +丈 +三 +上 +下 +丌 +ä¸ +与 +ä¸ +ä¸ +丑 +丒 +专 +且 +丕 +世 +丗 +丘 +丙 +业 +丛 +东 +ä¸ +丞 +丟 +丠 +両 +丢 +丣 +两 +严 +並 +丧 +丨 +丩 +个 +丫 +丬 +中 +丮 +丯 +丰 +丱 +串 +丳 +临 +丵 +丶 +丷 +丸 +丹 +为 +主 +丼 +丽 +举 +丿 +ä¹€ +ä¹ +乂 +乃 +乄 +ä¹… +乆 +乇 +么 +义 +乊 +之 +乌 +ä¹ +乎 +ä¹ +ä¹ +乑 +ä¹’ +乓 +ä¹” +乕 +ä¹– +ä¹— +乘 +ä¹™ +乚 +ä¹› +乜 +ä¹ +乞 +也 +ä¹  +乡 +ä¹¢ +ä¹£ +乤 +ä¹¥ +书 +ä¹§ +乨 +乩 +乪 +乫 +乬 +ä¹­ +ä¹® +乯 +ä¹° +ä¹± +ä¹² +ä¹³ +ä¹´ +ä¹µ +ä¹¶ +ä¹· +乸 +ä¹¹ +乺 +ä¹» +ä¹¼ +ä¹½ +ä¹¾ +乿 +亀 +äº +亂 +亃 +亄 +亅 +了 +亇 +予 +争 +亊 +事 +二 +äº +于 +äº +äº +云 +互 +亓 +五 +井 +亖 +亗 +亘 +亙 +亚 +些 +亜 +äº +亞 +亟 +亠 +亡 +亢 +亣 +交 +亥 +亦 +产 +亨 +亩 +亪 +享 +京 +亭 +亮 +亯 +亰 +亱 +亲 +亳 +亴 +亵 +亶 +亷 +亸 +亹 +人 +亻 +亼 +亽 +亾 +亿 +什 +ä» +仂 +仃 +仄 +ä»… +仆 +仇 +仈 +仉 +今 +介 +仌 +ä» +从 +ä» +ä» +仑 +ä»’ +仓 +ä»” +仕 +ä»– +ä»— +付 +ä»™ +仚 +ä»› +仜 +ä» +仞 +仟 +ä»  +仡 +仢 +代 +令 +以 +仦 +ä»§ +仨 +仩 +仪 +仫 +们 +ä»­ +ä»® +仯 +ä»° +ä»± +仲 +仳 +ä»´ +仵 +ä»¶ +ä»· +仸 +仹 +仺 +ä»» +仼 +份 +仾 +仿 +ä¼€ +ä¼ +伂 +伃 +伄 +ä¼… +伆 +伇 +伈 +伉 +伊 +伋 +伌 +ä¼ +伎 +ä¼ +ä¼ +休 +ä¼’ +伓 +ä¼” +伕 +ä¼– +ä¼— +优 +ä¼™ +会 +ä¼› +伜 +ä¼ +伞 +伟 +ä¼  +伡 +ä¼¢ +ä¼£ +伤 +ä¼¥ +伦 +ä¼§ +伨 +伩 +伪 +伫 +伬 +ä¼­ +ä¼® +伯 +ä¼° +ä¼± +ä¼² +ä¼³ +ä¼´ +ä¼µ +ä¼¶ +ä¼· +伸 +ä¼¹ +伺 +ä¼» +ä¼¼ +ä¼½ +ä¼¾ +伿 +ä½€ +ä½ +佂 +佃 +佄 +ä½… +但 +佇 +佈 +佉 +佊 +佋 +佌 +ä½ +低 +ä½ +ä½ +佑 +ä½’ +体 +ä½” +何 +ä½– +ä½— +佘 +ä½™ +佚 +ä½› +作 +ä½ +佞 +佟 +ä½  +佡 +ä½¢ +ä½£ +佤 +ä½¥ +佦 +ä½§ +佨 +佩 +佪 +佫 +佬 +ä½­ +ä½® +佯 +ä½° +ä½± +ä½² +ä½³ +ä½´ +ä½µ +ä½¶ +ä½· +佸 +ä½¹ +佺 +ä½» +ä½¼ +ä½½ +ä½¾ +使 +ä¾€ +ä¾ +侂 +侃 +侄 +ä¾… +來 +侇 +侈 +侉 +侊 +例 +侌 +ä¾ +侎 +ä¾ +ä¾ +侑 +ä¾’ +侓 +ä¾” +侕 +ä¾– +ä¾— +侘 +ä¾™ +侚 +ä¾› +侜 +ä¾ +侞 +侟 +ä¾  +価 +ä¾¢ +ä¾£ +侤 +ä¾¥ +侦 +ä¾§ +侨 +侩 +侪 +侫 +侬 +ä¾­ +ä¾® +侯 +ä¾° +ä¾± +ä¾² +ä¾³ +ä¾´ +ä¾µ +ä¾¶ +ä¾· +侸 +ä¾¹ +侺 +ä¾» +ä¾¼ +ä¾½ +ä¾¾ +便 +ä¿€ +ä¿ +ä¿‚ +促 +ä¿„ +ä¿… +俆 +俇 +俈 +俉 +俊 +ä¿‹ +俌 +ä¿ +俎 +ä¿ +ä¿ +ä¿‘ +ä¿’ +ä¿“ +ä¿” +ä¿• +ä¿– +ä¿— +俘 +ä¿™ +俚 +ä¿› +俜 +ä¿ +俞 +俟 +ä¿  +ä¿¡ +ä¿¢ +ä¿£ +俤 +ä¿¥ +俦 +ä¿§ +俨 +ä¿© +俪 +ä¿« +俬 +ä¿­ +ä¿® +俯 +ä¿° +俱 +俲 +俳 +ä¿´ +俵 +ä¿¶ +ä¿· +俸 +俹 +俺 +ä¿» +俼 +俽 +俾 +ä¿¿ diff --git a/mysql-test/suite/funcs_1/data/innodb_tb1.txt b/mysql-test/std_data/funcs_1/innodb_tb1.txt similarity index 100% rename from mysql-test/suite/funcs_1/data/innodb_tb1.txt rename to mysql-test/std_data/funcs_1/innodb_tb1.txt diff --git a/mysql-test/suite/funcs_1/data/innodb_tb2.txt b/mysql-test/std_data/funcs_1/innodb_tb2.txt similarity index 100% rename from mysql-test/suite/funcs_1/data/innodb_tb2.txt rename to mysql-test/std_data/funcs_1/innodb_tb2.txt diff --git a/mysql-test/suite/funcs_1/data/innodb_tb3.txt b/mysql-test/std_data/funcs_1/innodb_tb3.txt similarity index 100% rename from mysql-test/suite/funcs_1/data/innodb_tb3.txt rename to mysql-test/std_data/funcs_1/innodb_tb3.txt diff --git a/mysql-test/suite/funcs_1/data/innodb_tb4.txt b/mysql-test/std_data/funcs_1/innodb_tb4.txt similarity index 100% rename from mysql-test/suite/funcs_1/data/innodb_tb4.txt rename to mysql-test/std_data/funcs_1/innodb_tb4.txt diff --git a/mysql-test/std_data/funcs_1/load_file.txt b/mysql-test/std_data/funcs_1/load_file.txt new file mode 100644 index 00000000000..930ac1cf371 --- /dev/null +++ b/mysql-test/std_data/funcs_1/load_file.txt @@ -0,0 +1 @@ +Here is content from load_file diff --git a/mysql-test/suite/funcs_1/data/memory_tb1.txt b/mysql-test/std_data/funcs_1/memory_tb1.txt similarity index 100% rename from mysql-test/suite/funcs_1/data/memory_tb1.txt rename to mysql-test/std_data/funcs_1/memory_tb1.txt diff --git a/mysql-test/suite/funcs_1/data/memory_tb2.txt b/mysql-test/std_data/funcs_1/memory_tb2.txt similarity index 100% rename from mysql-test/suite/funcs_1/data/memory_tb2.txt rename to mysql-test/std_data/funcs_1/memory_tb2.txt diff --git a/mysql-test/suite/funcs_1/data/memory_tb3.txt b/mysql-test/std_data/funcs_1/memory_tb3.txt similarity index 100% rename from mysql-test/suite/funcs_1/data/memory_tb3.txt rename to mysql-test/std_data/funcs_1/memory_tb3.txt diff --git a/mysql-test/suite/funcs_1/data/memory_tb4.txt b/mysql-test/std_data/funcs_1/memory_tb4.txt similarity index 100% rename from mysql-test/suite/funcs_1/data/memory_tb4.txt rename to mysql-test/std_data/funcs_1/memory_tb4.txt diff --git a/mysql-test/suite/funcs_1/data/myisam_tb1.txt b/mysql-test/std_data/funcs_1/myisam_tb1.txt similarity index 100% rename from mysql-test/suite/funcs_1/data/myisam_tb1.txt rename to mysql-test/std_data/funcs_1/myisam_tb1.txt diff --git a/mysql-test/suite/funcs_1/data/myisam_tb2.txt b/mysql-test/std_data/funcs_1/myisam_tb2.txt similarity index 100% rename from mysql-test/suite/funcs_1/data/myisam_tb2.txt rename to mysql-test/std_data/funcs_1/myisam_tb2.txt diff --git a/mysql-test/suite/funcs_1/data/myisam_tb3.txt b/mysql-test/std_data/funcs_1/myisam_tb3.txt similarity index 100% rename from mysql-test/suite/funcs_1/data/myisam_tb3.txt rename to mysql-test/std_data/funcs_1/myisam_tb3.txt diff --git a/mysql-test/suite/funcs_1/data/myisam_tb4.txt b/mysql-test/std_data/funcs_1/myisam_tb4.txt similarity index 100% rename from mysql-test/suite/funcs_1/data/myisam_tb4.txt rename to mysql-test/std_data/funcs_1/myisam_tb4.txt diff --git a/mysql-test/suite/funcs_1/data/ndb_tb1.txt b/mysql-test/std_data/funcs_1/ndb_tb1.txt similarity index 100% rename from mysql-test/suite/funcs_1/data/ndb_tb1.txt rename to mysql-test/std_data/funcs_1/ndb_tb1.txt diff --git a/mysql-test/suite/funcs_1/data/ndb_tb2.txt b/mysql-test/std_data/funcs_1/ndb_tb2.txt similarity index 100% rename from mysql-test/suite/funcs_1/data/ndb_tb2.txt rename to mysql-test/std_data/funcs_1/ndb_tb2.txt diff --git a/mysql-test/suite/funcs_1/data/ndb_tb3.txt b/mysql-test/std_data/funcs_1/ndb_tb3.txt similarity index 100% rename from mysql-test/suite/funcs_1/data/ndb_tb3.txt rename to mysql-test/std_data/funcs_1/ndb_tb3.txt diff --git a/mysql-test/suite/funcs_1/data/ndb_tb4.txt b/mysql-test/std_data/funcs_1/ndb_tb4.txt similarity index 100% rename from mysql-test/suite/funcs_1/data/ndb_tb4.txt rename to mysql-test/std_data/funcs_1/ndb_tb4.txt diff --git a/mysql-test/suite/funcs_1/data/t3.txt b/mysql-test/std_data/funcs_1/t3.txt similarity index 100% rename from mysql-test/suite/funcs_1/data/t3.txt rename to mysql-test/std_data/funcs_1/t3.txt diff --git a/mysql-test/suite/funcs_1/data/t4.txt b/mysql-test/std_data/funcs_1/t4.txt similarity index 100% rename from mysql-test/suite/funcs_1/data/t4.txt rename to mysql-test/std_data/funcs_1/t4.txt diff --git a/mysql-test/suite/funcs_1/data/t7.txt b/mysql-test/std_data/funcs_1/t7.txt similarity index 100% rename from mysql-test/suite/funcs_1/data/t7.txt rename to mysql-test/std_data/funcs_1/t7.txt diff --git a/mysql-test/suite/funcs_1/data/t9.txt b/mysql-test/std_data/funcs_1/t9.txt similarity index 100% rename from mysql-test/suite/funcs_1/data/t9.txt rename to mysql-test/std_data/funcs_1/t9.txt diff --git a/mysql-test/std_data/numbers.txt b/mysql-test/std_data/numbers.txt new file mode 100644 index 00000000000..483dd4ad31d --- /dev/null +++ b/mysql-test/std_data/numbers.txt @@ -0,0 +1,9 @@ +2 +3 +5 +7 +11 +13 +17 +23 +29 diff --git a/mysql-test/suite/binlog/r/binlog_database.result b/mysql-test/suite/binlog/r/binlog_database.result index c43d3bc6f57..7121d458077 100644 --- a/mysql-test/suite/binlog/r/binlog_database.result +++ b/mysql-test/suite/binlog/r/binlog_database.result @@ -11,9 +11,11 @@ show binlog events from ; Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Query # # create database testing_1 master-bin.000001 # Query # # use `testing_1`; create table t1 (a int) -master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` function sf1 (a int) returns int return a+1 +master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` FUNCTION `sf1`(a int) RETURNS int(11) +return a+1 master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` trigger tr1 before insert on t1 for each row insert into t2 values (2*new.a) -master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` procedure sp1 (a int) insert into t1 values(a) +master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`(a int) +insert into t1 values(a) master-bin.000001 # Query # # drop database testing_1 set binlog_format=mixed; reset master; @@ -28,9 +30,11 @@ show binlog events from ; Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Query # # create database testing_1 master-bin.000001 # Query # # use `testing_1`; create table t1 (a int) -master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` function sf1 (a int) returns int return a+1 +master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` FUNCTION `sf1`(a int) RETURNS int(11) +return a+1 master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` trigger tr1 before insert on t1 for each row insert into t2 values (2*new.a) -master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` procedure sp1 (a int) insert into t1 values(a) +master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`(a int) +insert into t1 values(a) master-bin.000001 # Query # # drop database testing_1 set binlog_format=row; reset master; @@ -45,9 +49,11 @@ show binlog events from ; Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Query # # create database testing_1 master-bin.000001 # Query # # use `testing_1`; create table t1 (a int) -master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` function sf1 (a int) returns int return a+1 +master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` FUNCTION `sf1`(a int) RETURNS int(11) +return a+1 master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` trigger tr1 before insert on t1 for each row insert into t2 values (2*new.a) -master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` procedure sp1 (a int) insert into t1 values(a) +master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`(a int) +insert into t1 values(a) master-bin.000001 # Query # # drop database testing_1 show databases; Database diff --git a/mysql-test/suite/federated/federated.result b/mysql-test/suite/federated/federated.result index aa3ed8ebd0e..aa0e2cd3119 100644 --- a/mysql-test/suite/federated/federated.result +++ b/mysql-test/suite/federated/federated.result @@ -2,6 +2,8 @@ DROP DATABASE IF EXISTS federated; CREATE DATABASE federated; DROP DATABASE IF EXISTS federated; CREATE DATABASE federated; +SET @OLD_CONCURRENT_INSERT= @@GLOBAL.CONCURRENT_INSERT; +SET @@GLOBAL.CONCURRENT_INSERT= 0; DROP TABLE IF EXISTS federated.t1; Warnings: Note 1051 Unknown table 't1' @@ -2116,3 +2118,4 @@ DROP TABLE IF EXISTS federated.t1; DROP DATABASE IF EXISTS federated; DROP TABLE IF EXISTS federated.t1; DROP DATABASE IF EXISTS federated; +SET @@GLOBAL.CONCURRENT_INSERT= @OLD_CONCURRENT_INSERT; diff --git a/mysql-test/suite/federated/federated.test b/mysql-test/suite/federated/federated.test index b9dddec62c9..5af3b4560f0 100644 --- a/mysql-test/suite/federated/federated.test +++ b/mysql-test/suite/federated/federated.test @@ -1,5 +1,13 @@ --source federated.inc +connection default; + +# Disable concurrent inserts to avoid test failures when reading +# data from concurrent connections (insert might return before +# the data is actually in the table). +SET @OLD_CONCURRENT_INSERT= @@GLOBAL.CONCURRENT_INSERT; +SET @@GLOBAL.CONCURRENT_INSERT= 0; + connection slave; DROP TABLE IF EXISTS federated.t1; CREATE TABLE federated.t1 ( @@ -1855,3 +1863,7 @@ drop server 's1'; --echo End of 5.1 tests source federated_cleanup.inc; + +connection default; + +SET @@GLOBAL.CONCURRENT_INSERT= @OLD_CONCURRENT_INSERT; diff --git a/mysql-test/suite/federated/federated_bug_25714.result b/mysql-test/suite/federated/federated_bug_25714.result index 20caaa55742..ec6b1c2f0ee 100644 --- a/mysql-test/suite/federated/federated_bug_25714.result +++ b/mysql-test/suite/federated/federated_bug_25714.result @@ -2,6 +2,8 @@ DROP DATABASE IF EXISTS federated; CREATE DATABASE federated; DROP DATABASE IF EXISTS federated; CREATE DATABASE federated; +SET @OLD_CONCURRENT_INSERT= @@GLOBAL.CONCURRENT_INSERT; +SET @@GLOBAL.CONCURRENT_INSERT= 0; DROP TABLE IF EXISTS federated.bug_13118_table; CREATE TABLE federated.t1 ( `id` int auto_increment primary key, @@ -47,3 +49,4 @@ DROP TABLE IF EXISTS federated.t1; DROP DATABASE IF EXISTS federated; DROP TABLE IF EXISTS federated.t1; DROP DATABASE IF EXISTS federated; +SET @@GLOBAL.CONCURRENT_INSERT= @OLD_CONCURRENT_INSERT; diff --git a/mysql-test/suite/federated/federated_bug_25714.test b/mysql-test/suite/federated/federated_bug_25714.test index 3e1c3f4058e..1d262c040ce 100644 --- a/mysql-test/suite/federated/federated_bug_25714.test +++ b/mysql-test/suite/federated/federated_bug_25714.test @@ -5,6 +5,13 @@ if (`select LENGTH("$MYSQL_BUG25714") = 0`) { skip Need bug25714 test program; } +connection default; + +# Disable concurrent inserts to avoid test failures when reading +# data from concurrent connections (insert might return before +# the data is actually in the table). +SET @OLD_CONCURRENT_INSERT= @@GLOBAL.CONCURRENT_INSERT; +SET @@GLOBAL.CONCURRENT_INSERT= 0; connection slave; --disable_warnings @@ -49,3 +56,5 @@ DROP TABLE federated.t1; source federated_cleanup.inc; +connection default; +SET @@GLOBAL.CONCURRENT_INSERT= @OLD_CONCURRENT_INSERT; diff --git a/mysql-test/suite/funcs_1/README.txt b/mysql-test/suite/funcs_1/README.txt index 7e98d1bc117..65f6226d0f2 100644 --- a/mysql-test/suite/funcs_1/README.txt +++ b/mysql-test/suite/funcs_1/README.txt @@ -25,7 +25,7 @@ SESSION_STATUS SESSION_VARIABLES -3. Some hints: +3. Some hints for maintainers of this suite: - SHOW TABLES ... LIKE '' does a case sensitive comparison between the tablename and the pattern. @@ -43,4 +43,12 @@ ERROR 42000: Access denied for user ... to database 'information_schema' DROP DATABASE INFORMATION_SCHEMA; ERROR 42000: Access denied for user ... to database 'INFORMATION_SCHEMA' + - Try to unify results by + --replace_result $engine_type + if we could expect that the results for storage engine variants of a + test differ only in the engine names. + This makes future maintenance easier. + - Avoid the use of include/show_msg*.inc. + They produce "SQL" noise which annoys during server debugging and can be + easy replaced by "--echo ...". diff --git a/mysql-test/suite/funcs_1/datadict/datadict_bug_12777.inc b/mysql-test/suite/funcs_1/datadict/datadict_bug_12777.inc index 0bca30b1dc3..5ba969fe4cb 100644 --- a/mysql-test/suite/funcs_1/datadict/datadict_bug_12777.inc +++ b/mysql-test/suite/funcs_1/datadict/datadict_bug_12777.inc @@ -2,7 +2,7 @@ # # columns in INFORMATION_SCHEMA with VARCHAR(4096) on Linux and Intel or AMD -# processor are shown as VARCHAR(512) on Windows, VARCHAR(1023) on AIX and HPUX, +# processor are shown as VARCHAR(512) on Windows, VARCHAR(1023) on AIX and HPUX, # VARCHAR(1024) on Solaris10, ... see below and in bug #12777 for details. # So we need to replace the output for these systems. There may be other still # not tested / detected systems. @@ -10,10 +10,10 @@ # Setting the variables used below has been moved to the beginning of the datadict # tests to "suite/funcs_1/datadict/datadict_load.inc". # -# SELECT character_maximum_length INTO @CML -# FROM information_schema.columns -# WHERE table_schema = 'information_schema' -# AND table_name = 'columns' +# SELECT character_maximum_length INTO @CML +# FROM information_schema.columns +# WHERE table_schema = 'information_schema' +# AND table_name = 'columns' # AND column_name = 'table_catalog'; # this enables the --replace_result only if needed, using this we never replace @@ -31,7 +31,7 @@ if ($bug_12777_0512) --replace_result 512 4096 1536 12288 } -# aix52, aix52-64bit, hp3750, hp3750-64bit, hpux11, hpux11-64bit, +# aix52, aix52-64bit, hp3750, hp3750-64bit, hpux11, hpux11-64bit, if ($bug_12777_1023) { # nnnn 3*n diff --git a/mysql-test/suite/funcs_1/datadict/datadict_load.inc b/mysql-test/suite/funcs_1/datadict/datadict_load.inc index ab1211e9c9f..e3013249faf 100644 --- a/mysql-test/suite/funcs_1/datadict/datadict_load.inc +++ b/mysql-test/suite/funcs_1/datadict/datadict_load.inc @@ -12,14 +12,14 @@ --disable_query_log # ------------------------------------------------------------------------------ -# Get the size of ONE known colum and check the size against some values to -# be able to use the correct --replace_result statement. Using this only the -# one pair of 'wrong' values is replaced and not all occurrencies of all +# Get the size of ONE known colum and check the size against some values to +# be able to use the correct --replace_result statement. Using this only the +# one pair of 'wrong' values is replaced and not all occurrencies of all # possible pairs of values. See bug #12777 for details. -SELECT character_maximum_length INTO @CML - FROM information_schema.columns - WHERE table_schema = 'information_schema' - AND table_name = 'columns' +SELECT character_maximum_length INTO @CML + FROM information_schema.columns + WHERE table_schema = 'information_schema' + AND table_name = 'columns' AND column_name = 'table_catalog'; let $bug_12777_0512= `SELECT @CML = 512`; @@ -53,7 +53,7 @@ let $SERVER_NAME= `SELECT DISTINCT host FROM mysql.user WHERE host NOT In ("loca # load tables # ----------- # -# this was part of the 4 files $_datadict.test, but it has been moved +# this was part of the 4 files $_datadict.test, but it has been moved # here to have only one place where all preparation for the test is done. # ################################################################################ diff --git a/mysql-test/suite/funcs_1/datadict/processlist_priv.inc b/mysql-test/suite/funcs_1/datadict/processlist_priv.inc index 24df7ef8948..66c43c750fd 100644 --- a/mysql-test/suite/funcs_1/datadict/processlist_priv.inc +++ b/mysql-test/suite/funcs_1/datadict/processlist_priv.inc @@ -53,8 +53,9 @@ # WL#3982 Test information_schema.processlist # # # # Last update: # -# 2007-08-14 mleich Corrections # -# # +# 2008-04-14 pcrews replace HOST to account for Windows' use of # +# localhost (host: causing diffs on Windows # +# test runs # ######################################################################## # The following variables are used in "datadict_priv.inc" and here. @@ -112,11 +113,11 @@ connect (con100,localhost,ddicttestuser1,ddictpass,information_schema); --echo #################################################################################### connection default; eval SHOW CREATE TABLE $table; ---replace_column 1 ID 6 TIME +--replace_column 1 ID 3 HOST_NAME 6 TIME eval SHOW $table; ---replace_column 1 ID 6 TIME +--replace_column 1 ID 3 HOST_NAME 6 TIME eval SELECT * FROM $table $select_where ORDER BY id; ---replace_column 1 ID 6 TIME +--replace_column 1 ID 3 HOST_NAME 6 TIME eval SELECT $columns FROM $table $select_where ORDER BY id; --source suite/funcs_1/datadict/datadict_priv.inc --real_sleep 0.3 @@ -128,11 +129,11 @@ connection con100; --echo SHOW/SELECT shows only the processes (1) of the user. --echo #################################################################################### eval SHOW CREATE TABLE $table; ---replace_column 1 ID 6 TIME +--replace_column 1 ID 3 HOST_NAME 6 TIME eval SHOW $table; ---replace_column 1 ID 6 TIME +--replace_column 1 ID 3 HOST_NAME 6 TIME eval SELECT * FROM $table $select_where ORDER BY id; ---replace_column 1 ID 6 TIME +--replace_column 1 ID 3 HOST_NAME 6 TIME eval SELECT $columns FROM $table $select_where ORDER BY id; --source suite/funcs_1/datadict/datadict_priv.inc --real_sleep 0.3 @@ -154,9 +155,9 @@ GRANT PROCESS ON *.* TO ddicttestuser1@'localhost' IDENTIFIED BY 'ddictpass'; --echo #################################################################################### connection con100; SHOW GRANTS; ---replace_column 1 ID 6 TIME +--replace_column 1 ID 3 HOST_NAME 6 TIME SHOW processlist; ---replace_column 1 ID 6 TIME +--replace_column 1 ID 3 HOST_NAME 6 TIME SELECT * FROM information_schema.processlist; --real_sleep 0.3 @@ -166,9 +167,9 @@ SELECT * FROM information_schema.processlist; --echo #################################################################################### connect (con101,localhost,ddicttestuser1,ddictpass,information_schema); SHOW GRANTS; ---replace_column 1 ID 6 TIME +--replace_column 1 ID 3 HOST_NAME 6 TIME SHOW processlist; ---replace_column 1 ID 6 TIME +--replace_column 1 ID 3 HOST_NAME 6 TIME SELECT * FROM information_schema.processlist; --real_sleep 0.3 @@ -188,9 +189,9 @@ GRANT PROCESS ON *.* TO ''@'localhost'; --echo #################################################################################### connect (anonymous1,localhost,'',,information_schema); SHOW GRANTS; ---replace_column 1 ID 6 TIME +--replace_column 1 ID 3 HOST_NAME 6 TIME SHOW processlist; ---replace_column 1 ID 6 TIME +--replace_column 1 ID 3 HOST_NAME 6 TIME SELECT * FROM information_schema.processlist; --real_sleep 0.3 @@ -210,9 +211,9 @@ connect (con102,localhost,ddicttestuser1,ddictpass,information_schema); --echo ddicttestuser1 are visible. --echo #################################################################################### SHOW GRANTS; ---replace_column 1 ID 6 TIME +--replace_column 1 ID 3 HOST_NAME 6 TIME SHOW processlist; ---replace_column 1 ID 6 TIME +--replace_column 1 ID 3 HOST_NAME 6 TIME SELECT * FROM information_schema.processlist; --real_sleep 0.3 @@ -235,10 +236,10 @@ SHOW GRANTS FOR ''@'localhost'; if ($fixed_bug_30395) { # Bug#30395 strange results after REVOKE PROCESS ON *.* FROM ... ---replace_column 1 ID 6 TIME +--replace_column 1 ID 3 HOST_NAME 6 TIME SHOW processlist; } ---replace_column 1 ID 6 TIME +--replace_column 1 ID 3 HOST_NAME 6 TIME SELECT * FROM information_schema.processlist; --real_sleep 0.3 @@ -257,9 +258,9 @@ connect (con103,localhost,ddicttestuser1,ddictpass,information_schema); --echo Only the processes of ddicttestuser1 user are visible. --echo #################################################################################### SHOW GRANTS FOR 'ddicttestuser1'@'localhost'; ---replace_column 1 ID 6 TIME +--replace_column 1 ID 3 HOST_NAME 6 TIME SHOW processlist; ---replace_column 1 ID 6 TIME +--replace_column 1 ID 3 HOST_NAME 6 TIME SELECT * FROM information_schema.processlist; --real_sleep 0.3 @@ -279,9 +280,9 @@ connect (con104,localhost,ddicttestuser1,ddictpass,information_schema); --echo Only the processes of ddicttestuser1 are visible. --echo #################################################################################### SHOW GRANTS FOR 'ddicttestuser1'@'localhost'; ---replace_column 1 ID 6 TIME +--replace_column 1 ID 3 HOST_NAME 6 TIME SHOW processlist; ---replace_column 1 ID 6 TIME +--replace_column 1 ID 3 HOST_NAME 6 TIME SELECT * FROM information_schema.processlist; --real_sleep 0.3 @@ -326,9 +327,9 @@ connect (con200,localhost,ddicttestuser2,ddictpass,information_schema); --echo ddicttestuser2 has now the PROCESS privilege and sees all connections --echo #################################################################################### SHOW GRANTS FOR 'ddicttestuser2'@'localhost'; ---replace_column 1 ID 6 TIME +--replace_column 1 ID 3 HOST_NAME 6 TIME SHOW processlist; ---replace_column 1 ID 6 TIME +--replace_column 1 ID 3 HOST_NAME 6 TIME SELECT * FROM information_schema.processlist; --real_sleep 0.3 @@ -347,9 +348,9 @@ connect (con201,localhost,ddicttestuser2,ddictpass,information_schema); --echo ddicttestuser2 has no more the PROCESS privilege and can only see own connects --echo #################################################################################### SHOW GRANTS; ---replace_column 1 ID 6 TIME +--replace_column 1 ID 3 HOST_NAME 6 TIME SHOW processlist; ---replace_column 1 ID 6 TIME +--replace_column 1 ID 3 HOST_NAME 6 TIME SELECT * FROM information_schema.processlist; --real_sleep 0.3 @@ -370,9 +371,9 @@ connect (con107,localhost,ddicttestuser1,ddictpass,information_schema); SHOW GRANTS FOR 'ddicttestuser1'@'localhost'; --error ER_ACCESS_DENIED_ERROR GRANT PROCESS ON *.* TO 'ddicttestuser2'@'localhost'; ---replace_column 1 ID 6 TIME +--replace_column 1 ID 3 HOST_NAME 6 TIME SHOW processlist; ---replace_column 1 ID 6 TIME +--replace_column 1 ID 3 HOST_NAME 6 TIME SELECT * FROM information_schema.processlist; --real_sleep 0.3 @@ -394,9 +395,9 @@ connect (con108,localhost,ddicttestuser1,ddictpass,information_schema); --echo Therefore the missing SELECT privilege does not affect SELECTs on PROCESSLIST. --echo #################################################################################### SHOW GRANTS FOR 'ddicttestuser1'@'localhost'; ---replace_column 1 ID 6 TIME +--replace_column 1 ID 3 HOST_NAME 6 TIME SHOW processlist; ---replace_column 1 ID 6 TIME +--replace_column 1 ID 3 HOST_NAME 6 TIME SELECT * FROM information_schema.processlist; --real_sleep 0.3 diff --git a/mysql-test/suite/funcs_1/datadict/processlist_val.inc b/mysql-test/suite/funcs_1/datadict/processlist_val.inc index 69a32553f65..16c3dc71ff1 100644 --- a/mysql-test/suite/funcs_1/datadict/processlist_val.inc +++ b/mysql-test/suite/funcs_1/datadict/processlist_val.inc @@ -34,7 +34,11 @@ # WL#3982 Test information_schema.processlist # # 2008-01-05 HHunger Changed time test and long statement test. # # It could happen that the long statement test # -# fail due to timing problems. # # # +# fail due to timing problems. # +# 2008-04-14 pcrews Changed --replace_columns to include host # +# this is due to failure occurring on Windows # +# Win results included port number as well causing # +# test failures # ######################################################################## # Basic preparations @@ -76,9 +80,9 @@ SHOW FULL PROCESSLIST; # # Expect to see now DB = 'information_schema' USE information_schema; ---replace_column 1 6
+create table t1 (a int); -create table t4(a int); - -prepare stmt from 'select * from t4'; +prepare stmt from "select * from t1"; execute stmt; -eval $check; +call p_verify_reprepare_count(0); execute stmt; -eval $check; +call p_verify_reprepare_count(0); -drop table t4; +drop table t1; --error ER_NO_SUCH_TABLE execute stmt; -eval $check; +call p_verify_reprepare_count(0); --error ER_NO_SUCH_TABLE execute stmt; -eval $check; +call p_verify_reprepare_count(0); +deallocate prepare stmt; + +--echo # Test 4-b: TABLE -> NOTHING by renaming the table +create table t1 (a int); +prepare stmt from "select * from t1"; +execute stmt; +call p_verify_reprepare_count(0); +execute stmt; +call p_verify_reprepare_count(0); + +rename table t1 to t2; +--error ER_NO_SUCH_TABLE +execute stmt; +call p_verify_reprepare_count(0); +--error ER_NO_SUCH_TABLE +execute stmt; +call p_verify_reprepare_count(0); + +deallocate prepare stmt; +drop table t2; --echo ===================================================================== ---echo Testing 5: TABLE -> TABLE (DDL) transitions +--echo Part 5: TABLE -> TABLE (DDL) transitions --echo ===================================================================== ---disable_warnings -drop table if exists t5; ---enable_warnings +create table t1 (a int); -create table t5(a int); - -prepare stmt from 'select a from t5'; +prepare stmt from "select a from t1"; execute stmt; -eval $check; +call p_verify_reprepare_count(0); execute stmt; -eval $check; +call p_verify_reprepare_count(0); -alter table t5 add column (b int); +alter table t1 add column (b int); -set @expected = @expected + 1; execute stmt; -eval $check; +call p_verify_reprepare_count(1); execute stmt; -eval $check; +call p_verify_reprepare_count(0); + +drop table t1; +deallocate prepare stmt; -drop table t5; --echo ===================================================================== ---echo Testing 6: TABLE -> TABLE (TRIGGER) transitions +--echo Part 6: TABLE -> TABLE (TRIGGER) transitions --echo ===================================================================== -# -# Test 6-a: adding a relevant trigger -# Test 6-b: adding an irrelevant trigger -# Test 6-c: changing a relevant trigger -# Test 6-d: changing an irrelevant trigger -# Test 6-e: removing a relevant trigger -# Test 6-f: removing an irrelevant trigger -# +--echo # Test 6-a: adding a relevant trigger ---disable_warnings -drop table if exists t6; ---enable_warnings +create table t1 (a int); -create table t6(a int); - -prepare stmt from 'insert into t6(a) value (?)'; +prepare stmt from "insert into t1 (a) value (?)"; set @val=1; execute stmt using @val; -eval $check; -set @val=2; -execute stmt using @val; -eval $check; +call p_verify_reprepare_count(0); # Relevant trigger: execute should reprepare -delimiter $$; -create trigger t6_bi before insert on t6 for each row - begin - set @message= "t6_bi"; - end -$$ -delimiter ;$$ +create trigger t1_bi before insert on t1 for each row + set @message= new.a; -set @message="none"; -set @val=3; -set @expected = @expected + 1; +set @val=2; execute stmt using @val; -eval $check; +call p_verify_reprepare_count(1); select @message; +set @val=3; +execute stmt using @val; +call p_verify_reprepare_count(0); +select @message; + +prepare stmt from "insert into t1 (a) value (?)"; set @val=4; execute stmt using @val; -eval $check; +call p_verify_reprepare_count(0); select @message; -prepare stmt from 'insert into t6(a) value (?)'; -set @message="none"; +--echo # Test 6-b: adding an irrelevant trigger + +# Unrelated trigger: reprepare may or may not happen, implementation dependent +create trigger t1_bd before delete on t1 for each row + set @message= old.a; + set @val=5; execute stmt using @val; -eval $check; +call p_verify_reprepare_count(1); select @message; -set @message="none"; set @val=6; execute stmt using @val; -eval $check; +call p_verify_reprepare_count(0); select @message; -# Unrelated trigger: execute can pass of fail, implementation dependent -delimiter $$; -create trigger t6_bd before delete on t6 for each row - begin - set @message= "t6_bd"; - end -$$ -delimiter ;$$ - -set @message="none"; +prepare stmt from "insert into t1 (a) value (?)"; set @val=7; -set @expected = @expected + 1; execute stmt using @val; -eval $check; -select @message; -set @message="none"; -set @val=8; -execute stmt using @val; -eval $check; +call p_verify_reprepare_count(0); select @message; -prepare stmt from 'insert into t6(a) value (?)'; -set @message="none"; -set @val=9; -execute stmt using @val; -eval $check; -select @message; -set @message="none"; -set @val=10; -execute stmt using @val; -eval $check; -select @message; +--echo # Test 6-c: changing a relevant trigger # Relevant trigger: execute should reprepare -drop trigger t6_bi; -delimiter $$; -create trigger t6_bi before insert on t6 for each row - begin - set @message= "t6_bi (2)"; - end -$$ -delimiter ;$$ +drop trigger t1_bi; +create trigger t1_bi before insert on t1 for each row + set @message= concat("new trigger: ", new.a); -set @message="none"; -set @val=11; -set @expected = @expected + 1; +set @val=8; execute stmt using @val; -eval $check; +call p_verify_reprepare_count(1); select @message; +set @val=9; +execute stmt using @val; +call p_verify_reprepare_count(0); +select @message; + +prepare stmt from "insert into t1 (a) value (?)"; +set @val=10; +execute stmt using @val; +call p_verify_reprepare_count(0); +select @message; + +--echo # Test 6-d: changing an irrelevant trigger + +# Unrelated trigger: reprepare may or may not happen, implementation dependent +drop trigger t1_bd; + +set @val=11; +execute stmt using @val; +call p_verify_reprepare_count(1); +select @message; + +--echo Test 6-e: removing a relevant trigger + +drop trigger t1_bi; + set @val=12; execute stmt using @val; -eval $check; +call p_verify_reprepare_count(1); select @message; - -prepare stmt from 'insert into t6(a) value (?)'; -set @message="none"; set @val=13; execute stmt using @val; -eval $check; +call p_verify_reprepare_count(0); select @message; -set @message="none"; + +prepare stmt from "insert into t1 (a) value (?)"; set @val=14; execute stmt using @val; -eval $check; +call p_verify_reprepare_count(0); select @message; -# Unrelated trigger: execute can pass of fail, implementation dependent -drop trigger t6_bd; -delimiter $$; -create trigger t6_bd before delete on t6 for each row - begin - set @message= "t6_bd (2)"; - end -$$ -delimiter ;$$ - -set @message="none"; -set @val=15; -set @expected = @expected + 1; -execute stmt using @val; -eval $check; -select @message; -set @message="none"; -set @val=16; -execute stmt using @val; -eval $check; -select @message; - -prepare stmt from 'insert into t6(a) value (?)'; -set @message="none"; -set @val=17; -execute stmt using @val; -eval $check; -select @message; -set @message="none"; -set @val=18; -execute stmt using @val; -eval $check; -select @message; - -drop trigger t6_bi; - -set @message="none"; -set @val=19; -set @expected = @expected + 1; -execute stmt using @val; -eval $check; -select @message; -set @val=20; -execute stmt using @val; -eval $check; -select @message; - -prepare stmt from 'insert into t6(a) value (?)'; -set @message="none"; -set @val=21; -execute stmt using @val; -eval $check; -select @message; -set @val=22; -execute stmt using @val; -eval $check; -select @message; - -drop trigger t6_bd; - -set @val=23; -set @expected = @expected + 1; -execute stmt using @val; -eval $check; -select @message; -set @val=24; -execute stmt using @val; -eval $check; -select @message; - -select * from t6 order by a; -drop table t6; +select * from t1 order by a; +drop table t1; +deallocate prepare stmt; --echo ===================================================================== ---echo Testing 7: TABLE -> TABLE (TRIGGER dependencies) transitions +--echo Part 7: TABLE -> TABLE (TRIGGER dependencies) transitions --echo ===================================================================== -# -# Test 7-a: dependent PROCEDURE has changed -# Test 7-b: dependent FUNCTION has changed -# Test 7-c: dependent VIEW has changed -# Test 7-d: dependent TABLE has changed -# Test 7-e: dependent TABLE TRIGGER has changed -# +--echo # Test 7-a: dependent PROCEDURE has changed +--echo # +--echo # Note, this scenario is not supported, subject of Bug#12093 +--echo # ---disable_warnings -drop table if exists t7_proc; -drop table if exists t7_func; -drop table if exists t7_view; -drop table if exists t7_table; -drop table if exists t7_dependent_table; -drop table if exists t7_table_trigger; -drop table if exists t7_audit; -drop procedure if exists audit_proc; -drop function if exists audit_func; -drop view if exists audit_view; ---enable_warnings +create table t1 (a int); +create trigger t1_ai after insert on t1 for each row + call p1(new.a); +create procedure p1(a int) begin end; +prepare stmt from "insert into t1 (a) values (?)"; +set @var= 1; +execute stmt using @var; +drop procedure p1; +create procedure p1 (a int) begin end; +set @var= 2; +--error ER_SP_DOES_NOT_EXIST +execute stmt using @var; +--echo # Cleanup +drop procedure p1; +call p_verify_reprepare_count(0); -create table t7_proc(a int); -create table t7_func(a int); -create table t7_view(a int); -create table t7_table(a int); -create table t7_table_trigger(a int); +--echo # Test 7-b: dependent FUNCTION has changed +--echo # +--echo # Note, this scenario is not supported, subject of Bug#12093 +--echo # +drop trigger t1_ai; +create trigger t1_ai after insert on t1 for each row + select f1(new.a+1) into @var; +create function f1 (a int) returns int return a; +prepare stmt from "insert into t1(a) values (?)"; +set @var=3; +execute stmt using @var; +select @var; +drop function f1; +create function f1 (a int) returns int return 0; +--error ER_SP_DOES_NOT_EXIST +execute stmt using @var; +call p_verify_reprepare_count(0); +drop function f1; +deallocate prepare stmt; -create table t7_audit(old_a int, new_a int, reason varchar(50)); -create table t7_dependent_table(old_a int, new_a int, reason varchar(50)); +--echo # Test 7-c: dependent VIEW has changed +--echo # +--echo # Note, this scenario is not functioning correctly, see +--echo # Bug#33255 Trigger using views and view ddl : corrupted triggers +--echo # and Bug #33000 Triggers do not detect changes in meta-data. +--echo # +drop trigger t1_ai; +create table t2 (a int unique); +create table t3 (a int unique); +create view v1 as select a from t2; +create trigger t1_ai after insert on t1 for each row + insert into v1 (a) values (new.a); -create procedure audit_proc(a int) - insert into t7_audit values (NULL, a, "proc v1"); +--echo # Demonstrate that the same bug is present +--echo # without prepared statements +insert into t1 (a) values (5); +select * from t2; +select * from t3; +drop view v1; +create view v1 as select a from t3; +--error ER_NO_SUCH_TABLE +insert into t1 (a) values (6); +flush table t1; +insert into t1 (a) values (6); +select * from t2; +select * from t3; -create function audit_func() returns varchar(50) - return "func v1"; +prepare stmt from "insert into t1 (a) values (?)"; +set @var=7; +execute stmt using @var; +call p_verify_reprepare_count(0); +select * from t3; +select * from t2; +drop view v1; +create view v1 as select a from t2; +set @var=8; +execute stmt using @var; +call p_verify_reprepare_count(0); +--echo # +--echo # Sic: the insert went into t3, even though the view now +--echo # points at t2. This is because neither the merged view +--echo # nor its prelocking list are affected by view DDL +--echo # The binary log is of course wrong, since it is not +--echo # using prepared statements +--echo # +select * from t2; +select * from t3; +flush table t1; +set @var=9; +execute stmt using @var; +call p_verify_reprepare_count(1); +select * from t2; +select * from t3; +drop view v1; +drop table t1,t2,t3; -create view audit_view as select "view v1" as reason from dual; +--echo # Test 7-d: dependent TABLE has changed +create table t1 (a int); +create trigger t1_ai after insert on t1 for each row + insert into t2 (a) values (new.a); +create table t2 (a int); -create trigger t7_proc_bi before insert on t7_proc for each row - call audit_proc(NEW.a); +prepare stmt from "insert into t1 (a) values (?)"; +set @var=1; +execute stmt using @var; +alter table t2 add column comment varchar(255); +set @var=2; +--echo # Since the dependent table is tracked in the prelocked +--echo # list of the prepared statement, invalidation happens +--echo # and the statement is re-prepared. This is an unnecessary +--echo # side effect, since the statement that *is* dependent +--echo # on t2 definition is inside the trigger, and it is currently +--echo # not reprepared (see the previous test case). +execute stmt using @var; +call p_verify_reprepare_count(1); +select * from t1; +select * from t2; +drop table t1,t2; -create trigger t7_func_bi before insert on t7_func for each row - insert into t7_audit values (NULL, NEW.a, audit_func()); +--echo # Test 7-e: dependent TABLE TRIGGER has changed +create table t1 (a int); +create trigger t1_ai after insert on t1 for each row + insert into t2 (a) values (new.a); +create table t2 (a int unique); +create trigger t2_ai after insert on t2 for each row + insert into t3 (a) values (new.a); +create table t3 (a int unique); +create table t4 (a int unique); -create trigger t7_view_bi before insert on t7_view for each row - insert into t7_audit values (NULL, NEW.a, (select reason from audit_view)); +insert into t1 (a) values (1); +select * from t1 join t2 on (t1.a=t2.a) join t3 on (t2.a=t3.a); +drop trigger t2_ai; +create trigger t2_ai after insert on t2 for each row + insert into t4 (a) values (new.a); +insert into t1 (a) values (2); +select * from t1 join t2 on (t1.a=t2.a) join t4 on (t2.a=t4.a); -create trigger t7_table_bi before insert on t7_table for each row - insert into t7_dependent_table values (NULL, NEW.a, "dependent table"); +prepare stmt from "insert into t1 (a) values (?)"; +set @var=3; +execute stmt using @var; +select * from t1 join t2 on (t1.a=t2.a) join t4 on (t2.a=t4.a); +drop trigger t2_ai; +create trigger t2_ai after insert on t2 for each row + insert into t3 (a) values (new.a); +set @var=4; +execute stmt using @var; +call p_verify_reprepare_count(1); +select * from t1 join t2 on (t1.a=t2.a) join t3 on (t2.a=t3.a); +select * from t1 join t2 on (t1.a=t2.a) join t4 on (t2.a=t4.a); -create trigger t7_table_trigger_bi before insert on t7_dependent_table - for each row set NEW.reason="trigger v1"; - -prepare stmt_proc from 'insert into t7_proc(a) value (?)'; -set @val=101; -execute stmt_proc using @val; -eval $check; -set @val=102; -execute stmt_proc using @val; -eval $check; - -drop procedure audit_proc; - -create procedure audit_proc(a int) - insert into t7_audit values (NULL, a, "proc v2"); - -set @val=103; -set @expected = @expected + 1; -execute stmt_proc using @val; -eval $check; -set @val=104; -execute stmt_proc using @val; -eval $check; - - -prepare stmt_func from 'insert into t7_func(a) value (?)'; -set @val=201; -execute stmt_func using @val; -eval $check; -set @val=202; -execute stmt_func using @val; -eval $check; - -drop function audit_func; - -create function audit_func() returns varchar(50) - return "func v2"; - -set @val=203; -set @expected = @expected + 1; -execute stmt_func using @val; -eval $check; -set @val=204; -execute stmt_func using @val; -eval $check; - -prepare stmt_view from 'insert into t7_view(a) value (?)'; -set @val=301; -execute stmt_view using @val; -eval $check; -set @val=302; -execute stmt_view using @val; -eval $check; - -drop view audit_view; - -create view audit_view as select "view v2" as reason from dual; - -# Because of Bug#33255, the wrong result is still produced for cases -# 303 and 304, even after re-preparing the statement. -# This is because the table trigger is cached and is not invalidated. - -set @val=303; -set @expected = @expected + 1; -execute stmt_view using @val; -eval $check; -set @val=304; -execute stmt_view using @val; -eval $check; - - -prepare stmt_table from 'insert into t7_table(a) value (?)'; -set @val=401; -execute stmt_table using @val; -eval $check; -set @val=402; -execute stmt_table using @val; -eval $check; - -alter table t7_dependent_table add column comments varchar(100) default NULL; - -set @val=403; -set @expected = @expected + 1; ---error ER_WRONG_VALUE_COUNT_ON_ROW -execute stmt_table using @val; -eval $check; -set @val=404; -set @expected = @expected + 1; ---error ER_WRONG_VALUE_COUNT_ON_ROW -execute stmt_table using @val; -eval $check; - -alter table t7_dependent_table drop column comments; - -set @val=405; -set @expected = @expected + 1; -execute stmt_table using @val; -eval $check; -set @val=406; -execute stmt_table using @val; -eval $check; - - -prepare stmt_table_trigger from 'insert into t7_table(a) value (?)'; -set @val=501; -execute stmt_table_trigger using @val; -eval $check; -set @val=502; -execute stmt_table_trigger using @val; -eval $check; - -drop trigger t7_table_trigger_bi; - -create trigger t7_table_trigger_bi before insert on t7_dependent_table - for each row set NEW.reason="trigger v2"; - -set @val=503; -set @expected = @expected + 1; -execute stmt_table_trigger using @val; -eval $check; -set @val=504; -execute stmt_table_trigger using @val; -eval $check; - -select * from t7_audit order by new_a; - -select * from t7_dependent_table order by new_a; - -drop table t7_proc; -drop table t7_func; -drop table t7_view; -drop table t7_table; -drop table t7_dependent_table; -drop table t7_table_trigger; -drop table t7_audit; -drop procedure audit_proc; -drop function audit_func; -drop view audit_view; +drop table t1, t2, t3, t4; +deallocate prepare stmt; --echo ===================================================================== ---echo Testing 8: TABLE -> TEMPORARY TABLE transitions +--echo Part 8: TABLE -> TEMPORARY TABLE transitions --echo ===================================================================== ---disable_warnings -drop table if exists t8; ---enable_warnings +--echo # Test 8-a: base table used recreated as temporary table +create table t1 (a int); -create table t8(a int); - -prepare stmt from 'select * from t8'; +prepare stmt from "select * from t1"; execute stmt; -eval $check; -execute stmt; -eval $check; -drop table t8; -create temporary table t8(a int); +drop table t1; +create temporary table t1 (a int); -set @expected = @expected + 1; execute stmt; -eval $check; +call p_verify_reprepare_count(1); execute stmt; -eval $check; +call p_verify_reprepare_count(0); + +drop table t1; +deallocate prepare stmt; + +--echo # Test 8-b: temporary table has precedence over base table with same name +create table t1 (a int); +prepare stmt from 'select count(*) from t1'; +execute stmt; +call p_verify_reprepare_count(0); +execute stmt; +call p_verify_reprepare_count(0); + +create temporary table t1 AS SELECT 1; +execute stmt; +call p_verify_reprepare_count(1); +execute stmt; +call p_verify_reprepare_count(0); + +deallocate prepare stmt; +drop temporary table t1; +drop table t1; -drop table t8; --echo ===================================================================== ---echo Testing 9: TABLE -> VIEW transitions +--echo Part 9: TABLE -> VIEW transitions --echo ===================================================================== ---disable_warnings -drop table if exists t9; -drop table if exists t9_b; ---enable_warnings +create table t1 (a int); -create table t9(a int); -create table t9_b(a int); - -prepare stmt from 'select * from t9'; +prepare stmt from "select * from t1"; execute stmt; -eval $check; -execute stmt; -eval $check; +call p_verify_reprepare_count(0); -drop table t9; -create view t9 as select * from t9_b; +drop table t1; +create table t2 (a int); +create view t1 as select * from t2; -set @expected = @expected + 1; execute stmt; -eval $check; -execute stmt; -eval $check; +call p_verify_reprepare_count(1); -drop view t9; -drop table t9_b; +drop view t1; +drop table t2; +deallocate prepare stmt; --echo ===================================================================== ---echo Testing 10: TEMPORARY TABLE -> NOTHING transitions +--echo Part 10: TEMPORARY TABLE -> NOTHING transitions --echo ===================================================================== ---disable_warnings -drop temporary table if exists t10; ---enable_warnings +create temporary table t1 (a int); -create temporary table t10(a int); - -prepare stmt from 'select * from t10'; +prepare stmt from "select * from t1"; execute stmt; -eval $check; -execute stmt; -eval $check; +call p_verify_reprepare_count(0); -drop temporary table t10; +drop temporary table t1; --error ER_NO_SUCH_TABLE execute stmt; -eval $check; +call p_verify_reprepare_count(0); +deallocate prepare stmt; + +--echo ===================================================================== +--echo Part 11: TEMPORARY TABLE -> TABLE transitions +--echo ===================================================================== + +--echo # Test 11-a: temporary table replaced by base table +create table t1 (a int); +insert into t1 (a) value (1); +create temporary table t1 (a int); + +prepare stmt from "select * from t1"; +execute stmt; +call p_verify_reprepare_count(0); + +drop temporary table t1; + +execute stmt; +call p_verify_reprepare_count(1); + +select * from t1; +drop table t1; +deallocate prepare stmt; + + +--echo # Test 11-b: temporary table has precedence over base table with same name +--echo # temporary table disappears +create table t1 (a int); +create temporary table t1 as select 1 as a; +prepare stmt from "select count(*) from t1"; +execute stmt; +call p_verify_reprepare_count(0); +execute stmt; +call p_verify_reprepare_count(0); + +drop temporary table t1; +execute stmt; +call p_verify_reprepare_count(1); +execute stmt; +call p_verify_reprepare_count(0); + +deallocate prepare stmt; +drop table t1; + + +--echo ===================================================================== +--echo Part 12: TEMPORARY TABLE -> TEMPORARY TABLE (DDL) transitions +--echo ===================================================================== + +create temporary table t1 (a int); + +prepare stmt from "select a from t1"; +execute stmt; +call p_verify_reprepare_count(0); + +drop temporary table t1; +create temporary table t1 (a int, b int); + +execute stmt; +call p_verify_reprepare_count(1); + +select * from t1; +drop temporary table t1; +deallocate prepare stmt; + +--echo ===================================================================== +--echo Part 13: TEMPORARY TABLE -> VIEW transitions +--echo ===================================================================== + +create temporary table t1 (a int); +create table t2 (a int); + +prepare stmt from "select * from t1"; +execute stmt; +call p_verify_reprepare_count(0); + +drop temporary table t1; +create view t1 as select * from t2; + +execute stmt; +call p_verify_reprepare_count(1); + +drop view t1; +drop table t2; +deallocate prepare stmt; + +--echo ===================================================================== +--echo Part 14: VIEW -> NOTHING transitions +--echo ===================================================================== + +create table t2 (a int); +create view t1 as select * from t2; + +prepare stmt from "select * from t1"; +execute stmt; +drop view t1; + --error ER_NO_SUCH_TABLE execute stmt; -eval $check; - ---echo ===================================================================== ---echo Testing 11: TEMPORARY TABLE -> TABLE transitions ---echo ===================================================================== - ---disable_warnings -drop table if exists t11; -drop temporary table if exists t11; ---enable_warnings - -create table t11(a int); -insert into t11(a) value (1); -create temporary table t11(a int); - -prepare stmt from 'select * from t11'; -execute stmt; -eval $check; -execute stmt; -eval $check; - -drop temporary table t11; - -set @expected = @expected + 1; -execute stmt; -eval $check; -execute stmt; -eval $check; - -select * from t11; -drop table t11; - ---echo ===================================================================== ---echo Testing 12: TEMPORARY TABLE -> TEMPORARY TABLE (DDL) transitions ---echo ===================================================================== - ---disable_warnings -drop temporary table if exists t12; ---enable_warnings - -create temporary table t12(a int); - -prepare stmt from 'select a from t12'; -execute stmt; -eval $check; -execute stmt; -eval $check; - -drop temporary table t12; -create temporary table t12(a int, b int); - -set @expected = @expected + 1; -execute stmt; -eval $check; -execute stmt; -eval $check; - -select * from t12; -drop table t12; - ---echo ===================================================================== ---echo Testing 13: TEMPORARY TABLE -> VIEW transitions ---echo ===================================================================== - ---disable_warnings -drop temporary table if exists t13; -drop table if exists t13_b; ---enable_warnings - -create temporary table t13(a int); -create table t13_b(a int); - -prepare stmt from 'select * from t13'; -execute stmt; -eval $check; -execute stmt; -eval $check; - -drop temporary table t13; -create view t13 as select * from t13_b; - -set @expected = @expected + 1; -execute stmt; -eval $check; -execute stmt; -eval $check; - -drop view t13; -drop table t13_b; - ---echo ===================================================================== ---echo Testing 14: VIEW -> NOTHING transitions ---echo ===================================================================== - ---disable_warnings -drop view if exists t14; -drop table if exists t14_b; ---enable_warnings - -create table t14_b(a int); -create view t14 as select * from t14_b; - -prepare stmt from 'select * from t14'; -execute stmt; -eval $check; -execute stmt; -eval $check; - -drop view t14; - -set @expected = @expected + 1; +call p_verify_reprepare_count(0); --error ER_NO_SUCH_TABLE execute stmt; -eval $check; -set @expected = @expected + 1; ---error ER_NO_SUCH_TABLE +call p_verify_reprepare_count(0); + +drop table t2; +deallocate prepare stmt; + +--echo ===================================================================== +--echo Part 15: VIEW -> TABLE transitions +--echo ===================================================================== + +create table t2 (a int); +create view t1 as select * from t2; + +prepare stmt from "select * from t1"; execute stmt; -eval $check; +call p_verify_reprepare_count(0); -drop table t14_b; +drop view t1; +create table t1 (a int); + +execute stmt; +call p_verify_reprepare_count(1); + +drop table t2; +drop table t1; +deallocate prepare stmt; --echo ===================================================================== ---echo Testing 15: VIEW -> TABLE transitions +--echo Part 16: VIEW -> TEMPORARY TABLE transitions --echo ===================================================================== +create table t2 (a int); +insert into t2 (a) values (1); +create view t1 as select * from t2; + +prepare stmt from "select * from t1"; +execute stmt; +call p_verify_reprepare_count(0); + +create temporary table t1 (a int); +execute stmt; +call p_verify_reprepare_count(1); +drop view t1; +execute stmt; +call p_verify_reprepare_count(0); + +drop table t2; +drop temporary table t1; +deallocate prepare stmt; + +--echo ===================================================================== +--echo Part 17: VIEW -> VIEW (DDL) transitions +--echo ===================================================================== + +create table t2 (a int); +insert into t2 values (10), (20), (30); + +create view t1 as select a, 2*a as b, 3*a as c from t2; +select * from t1; + +prepare stmt from "select * from t1"; +execute stmt; + +drop view t1; +create view t1 as select a, 2*a as b, 5*a as c from t2; +select * from t1; + +--echo # Currently a different result from conventional statements. +--echo # A view is inlined once at prepare, later on view DDL +--echo # does not affect prepared statement and it is not re-prepared. +--echo # This is reported in Bug#36002 Prepared statements: if a view +--echo # used in a statement is replaced, bad data +execute stmt; +call p_verify_reprepare_count(0); +flush table t2; +execute stmt; +call p_verify_reprepare_count(1); + +drop table t2; +drop view t1; +deallocate prepare stmt; + +--echo ===================================================================== +--echo Part 18: VIEW -> VIEW (VIEW dependencies) transitions +--echo ===================================================================== + +--echo # Part 18a: dependent function has changed +create table t1 (a int); +insert into t1 (a) values (1), (2), (3); +create function f1() returns int return (select max(a) from t1); +create view v1 as select f1(); +prepare stmt from "select * from v1"; +execute stmt; +execute stmt; +call p_verify_reprepare_count(0); +drop function f1; +create function f1() returns int return 2; +--echo # XXX: Bug#12093. We only get a different error +--echo # message because the non-existing procedure error is masked +--echo # by the view. +--error ER_VIEW_INVALID +execute stmt; +--error ER_VIEW_INVALID +execute stmt; +call p_verify_reprepare_count(0); + +--echo # Part 18b: dependent procedure has changed (referred to via a function) + +create table t2 (a int); +insert into t2 (a) values (4), (5), (6); + +drop function f1; +delimiter |; +create function f1() returns int +begin + declare x int; + call p1(x); + return x; +end| +delimiter ;| +create procedure p1(out x int) select max(a) from t1 into x; + +prepare stmt from "select * from v1"; +execute stmt; +execute stmt; +call p_verify_reprepare_count(0); +drop procedure p1; +create procedure p1(out x int) select max(a) from t2 into x; +--echo # XXX: bug. The prelocked list is not invalidated +--echo # and we keep opening table t1, whereas the procedure +--echo # is now referring to table t2 +--error ER_VIEW_INVALID +execute stmt; +call p_verify_reprepare_count(0); +flush table t1; +execute stmt; +call p_verify_reprepare_count(1); +execute stmt; + +--echo # Test 18-c: dependent VIEW has changed + +drop view v1; +create view v2 as select a from t1; +create view v1 as select * from v2; +prepare stmt from "select * from v1"; +execute stmt; +execute stmt; +call p_verify_reprepare_count(0); +drop view v2; +create view v2 as select a from t2; +execute stmt; +execute stmt; +call p_verify_reprepare_count(0); +flush table t1; +execute stmt; +call p_verify_reprepare_count(1); +execute stmt; +--echo # Test 18-d: dependent TABLE has changed +drop view v2; +create table v2 as select * from t1; +execute stmt; +call p_verify_reprepare_count(1); +execute stmt; +call p_verify_reprepare_count(0); +drop table v2; +create table v2 (a int unique) as select * from t2; +execute stmt; +call p_verify_reprepare_count(1); +execute stmt; +call p_verify_reprepare_count(0); + +--echo # Test 18-e: dependent TABLE trigger has changed + +prepare stmt from "insert into v1 (a) values (?)"; +set @var= 7; +execute stmt using @var; +call p_verify_reprepare_count(0); +create trigger v2_bi before insert on v2 for each row set @message="v2_bi"; +set @var=8; +execute stmt using @var; +call p_verify_reprepare_count(1); +select @message; +drop trigger v2_bi; +set @message=null; +set @var=9; +execute stmt using @var; +call p_verify_reprepare_count(1); +select @message; +create trigger v2_bi after insert on v2 for each row set @message="v2_ai"; +set @var= 10; +execute stmt using @var; +call p_verify_reprepare_count(1); +select @message; +select * from v1; + +--echo # Cleanup + --disable_warnings -drop view if exists t15; -drop table if exists t15_b; +drop table if exists t1, t2, v1, v2; +drop view if exists v1, v2; +drop function f1; +drop procedure p1; --enable_warnings - -create table t15_b(a int); -create view t15 as select * from t15_b; - -prepare stmt from 'select * from t15'; -execute stmt; -eval $check; -execute stmt; -eval $check; - -drop view t15; -create table t15(a int); - -set @expected = @expected + 1; -execute stmt; -eval $check; -execute stmt; -eval $check; - -drop table t15_b; -drop table t15; +deallocate prepare stmt; --echo ===================================================================== ---echo Testing 16: VIEW -> TEMPORARY TABLE transitions +--echo Part 19: Special tables (INFORMATION_SCHEMA) --echo ===================================================================== ---disable_warnings -drop view if exists t16; -drop table if exists t16_b; ---enable_warnings - -create table t16_b(a int); -create view t16 as select * from t16_b; - -prepare stmt from 'select * from t16'; -execute stmt; -eval $check; -execute stmt; -eval $check; - -drop view t16; -create temporary table t16(a int); - -set @expected = @expected + 1; -execute stmt; -eval $check; -execute stmt; -eval $check; - -drop table t16_b; -drop temporary table t16; - ---echo ===================================================================== ---echo Testing 17: VIEW -> VIEW (DDL) transitions ---echo ===================================================================== - ---disable_warnings -drop view if exists t17; -drop table if exists t17_b; ---enable_warnings - -create table t17_b(a int); -insert into t17_b values (10), (20), (30); - -create view t17 as select a, 2*a as b, 3*a as c from t17_b; -select * from t17; - -prepare stmt from 'select * from t17'; -execute stmt; -eval $check; -execute stmt; -eval $check; - -drop view t17; -create view t17 as select a, 2*a as b, 5*a as c from t17_b; -select * from t17; - -set @expected = @expected + 1; -execute stmt; -eval $check; -execute stmt; -eval $check; - -drop table t17_b; -drop view t17; - ---echo ===================================================================== ---echo Testing 18: VIEW -> VIEW (VIEW dependencies) transitions ---echo ===================================================================== - -# -# Test 18-a: dependent PROCEDURE has changed (via a trigger) -# Test 18-b: dependent FUNCTION has changed -# Test 18-c: dependent VIEW has changed -# Test 18-d: dependent TABLE has changed -# Test 18-e: dependent TABLE TRIGGER has changed -# - ---disable_warnings -drop table if exists t18; -drop table if exists t18_dependent_table; -drop view if exists t18_func; -drop view if exists t18_view; -drop view if exists t18_table; -drop function if exists view_func; -drop view if exists view_view; ---enable_warnings - -# TODO: insertable view -> trigger -# TODO: insertable view -> trigger -> proc ? - -create table t18(a int); -insert into t18 values (1), (2), (3); - -create function view_func(x int) returns int - return x+1; - -create view view_view as select "view v1" as reason from dual; - -create table t18_dependent_table(a int); - -create view t18_func as select a, view_func(a) as b from t18; -create view t18_view as select a, reason as b from t18, view_view; -create view t18_table as select * from t18; - -prepare stmt_func from 'select * from t18_func'; -execute stmt_func; -eval $check; -execute stmt_func; -eval $check; - -drop function view_func; -create function view_func(x int) returns int - return x*x; - -set @expected = @expected + 1; -execute stmt_func; -eval $check; -execute stmt_func; -eval $check; - -prepare stmt_view from 'select * from t18_view'; -execute stmt_view; -eval $check; -execute stmt_view; -eval $check; - -drop view view_view; -create view view_view as select "view v2" as reason from dual; - -set @expected = @expected + 1; -execute stmt_view; -eval $check; -execute stmt_view; -eval $check; - -prepare stmt_table from 'select * from t18_table'; -execute stmt_table; -eval $check; -execute stmt_table; -eval $check; - -alter table t18 add column comments varchar(50) default NULL; - -set @expected = @expected + 1; -execute stmt_table; -eval $check; -execute stmt_table; -eval $check; - -drop table t18; -drop table t18_dependent_table; -drop view t18_func; -drop view t18_view; -drop view t18_table; -drop function view_func; -drop view view_view; - ---echo ===================================================================== ---echo Testing 19: Special tables (INFORMATION_SCHEMA) ---echo ===================================================================== - ---disable_warnings -drop procedure if exists proc_19; ---enable_warnings - # Using a temporary table internally should not confuse the prepared # statement code, and should not raise ER_PS_INVALIDATED errors prepare stmt from - 'select ROUTINE_SCHEMA, ROUTINE_NAME, ROUTINE_TYPE + "select ROUTINE_SCHEMA, ROUTINE_NAME, ROUTINE_TYPE from INFORMATION_SCHEMA.ROUTINES where - routine_name=\'proc_19\''; + routine_name='p1'"; -create procedure proc_19() select "hi there"; +create procedure p1() select "hi there"; execute stmt; -eval $check; execute stmt; -eval $check; -drop procedure proc_19; -create procedure proc_19() select "hi there, again"; +drop procedure p1; +create procedure p1() select "hi there, again"; execute stmt; -eval $check; execute stmt; -eval $check; +call p_verify_reprepare_count(0); -drop procedure proc_19; +drop procedure p1; +deallocate prepare stmt; --echo ===================================================================== ---echo Testing 20: Special tables (log tables) +--echo Part 20: Special tables (log tables) --echo ===================================================================== prepare stmt from - 'select * from mysql.general_log where argument=\'IMPOSSIBLE QUERY STRING\''; + "select * from mysql.general_log where argument='IMPOSSIBLE QUERY STRING'"; +--disable_result_log execute stmt; -eval $check; execute stmt; -eval $check; execute stmt; -eval $check; execute stmt; -eval $check; +--enable_result_log +call p_verify_reprepare_count(0); +deallocate prepare stmt; --echo ===================================================================== ---echo Testing 21: Special tables (system tables) +--echo Part 21: Special tables (system tables) --echo ===================================================================== ---disable_warnings -drop procedure if exists proc_21; ---enable_warnings - prepare stmt from - 'select type, db, name from mysql.proc where name=\'proc_21\''; + "select type, db, name from mysql.proc where name='p1'"; -create procedure proc_21() select "hi there"; +create procedure p1() select "hi there"; execute stmt; -eval $check; execute stmt; -eval $check; -drop procedure proc_21; -create procedure proc_21() select "hi there, again"; +drop procedure p1; +create procedure p1() select "hi there, again"; execute stmt; -eval $check; execute stmt; -eval $check; +call p_verify_reprepare_count(0); -drop procedure proc_21; +drop procedure p1; +deallocate prepare stmt; --echo ===================================================================== ---echo Testing 22: Special tables (views temp tables) +--echo Part 22: Special tables (views temp tables) --echo ===================================================================== ---disable_warnings -drop table if exists t22_b; -drop view if exists t22; ---enable_warnings +create table t1 (a int); -create table t22_b(a int); +create algorithm=temptable view v1 as select a*a as a2 from t1; -create algorithm=temptable view t22 as select a*a as a2 from t22_b; +--echo # Using a temporary table internally should not confuse the prepared +--echo # statement code, and should not raise ER_PS_INVALIDATED errors +show create view v1; -# Using a temporary table internally should not confuse the prepared -# statement code, and should not raise ER_PS_INVALIDATED errors -show create view t22; +prepare stmt from "select * from v1"; -prepare stmt from 'select * from t22'; - -insert into t22_b values (1), (2), (3); +insert into t1 values (1), (2), (3); execute stmt; -eval $check; execute stmt; -eval $check; -insert into t22_b values (4), (5), (6); +insert into t1 values (4), (5), (6); execute stmt; -eval $check; execute stmt; -eval $check; +call p_verify_reprepare_count(0); -drop table t22_b; -drop view t22; +drop table t1; +drop view v1; --echo ===================================================================== ---echo Testing 23: Special tables (internal join tables) +--echo Part 23: Special statements --echo ===================================================================== ---disable_warnings -drop table if exists t23_a; -drop table if exists t23_b; ---enable_warnings +--echo # SQLCOM_ALTER_TABLE: -create table t23_a(a int); -create table t23_b(b int); -# Using a temporary table internally should not confuse the prepared -# statement code, and should not raise ER_PS_INVALIDATED errors -prepare stmt from 'select * from t23_a join t23_b'; +create table t1 (a int); -insert into t23_a values (1), (2), (3); -insert into t23_b values (10), (20), (30); +prepare stmt from "alter table t1 add column b int"; execute stmt; -eval $check; + +drop table t1; +create table t1 (a1 int, a2 int); + +--echo # t1 has changed, and it's does not lead to reprepare execute stmt; -eval $check; -insert into t23_a values (4); -insert into t23_b values (40); +alter table t1 drop column b; execute stmt; -eval $check; + +alter table t1 drop column b; execute stmt; -eval $check; +call p_verify_reprepare_count(0); -drop table t23_a; -drop table t23_b; +drop table t1; ---echo ===================================================================== ---echo Testing 24: Special statements ---echo ===================================================================== +--echo # SQLCOM_REPAIR: -# SQLCOM_ALTER_TABLE: +create table t1 (a int); ---disable_warnings -drop table if exists t24_alter; ---enable_warnings +insert into t1 values (1), (2), (3); -create table t24_alter(a int); +prepare stmt from "repair table t1"; -prepare stmt from 'alter table t24_alter add column b int'; execute stmt; -eval $check; - -drop table t24_alter; -create table t24_alter(a1 int, a2 int); - -# t24_alter has changed, and it's not a problem execute stmt; -eval $check; -alter table t24_alter drop column b; +drop table t1; +create table t1 (a1 int, a2 int); +insert into t1 values (1, 10), (2, 20), (3, 30); + +--echo # t1 has changed, and it's does not lead to reprepare execute stmt; -eval $check; -alter table t24_alter drop column b; +alter table t1 add column b varchar(50) default NULL; execute stmt; -eval $check; +call p_verify_reprepare_count(0); -drop table t24_alter; - -# SQLCOM_REPAIR: - ---disable_warnings -drop table if exists t24_repair; ---enable_warnings - -create table t24_repair(a int); -insert into t24_repair values (1), (2), (3); - -prepare stmt from 'repair table t24_repair'; +alter table t1 drop column b; execute stmt; -eval $check; +call p_verify_reprepare_count(0); -drop table t24_repair; -create table t24_repair(a1 int, a2 int); -insert into t24_repair values (1, 10), (2, 20), (3, 30); +--echo # SQLCOM_ANALYZE: -# t24_repair has changed, and it's not a problem +prepare stmt from "analyze table t1"; execute stmt; -eval $check; -alter table t24_repair add column b varchar(50) default NULL; +drop table t1; +create table t1 (a1 int, a2 int); +insert into t1 values (1, 10), (2, 20), (3, 30); +--echo # t1 has changed, and it's not a problem execute stmt; -eval $check; -alter table t24_repair drop column b; +alter table t1 add column b varchar(50) default NULL; execute stmt; -eval $check; -drop table t24_repair; - -# SQLCOM_ANALYZE: - ---disable_warnings -drop table if exists t24_analyze; ---enable_warnings - -create table t24_analyze(a int); -insert into t24_analyze values (1), (2), (3); - -prepare stmt from 'analyze table t24_analyze'; +alter table t1 drop column b; execute stmt; -eval $check; -drop table t24_analyze; -create table t24_analyze(a1 int, a2 int); -insert into t24_analyze values (1, 10), (2, 20), (3, 30); +call p_verify_reprepare_count(0); -# t24_analyze has changed, and it's not a problem +--echo # SQLCOM_OPTIMIZE: + +prepare stmt from "optimize table t1"; execute stmt; -eval $check; -alter table t24_analyze add column b varchar(50) default NULL; +drop table t1; +create table t1 (a1 int, a2 int); +insert into t1 values (1, 10), (2, 20), (3, 30); + +--echo # t1 has changed, and it's not a problem execute stmt; -eval $check; -alter table t24_analyze drop column b; +alter table t1 add column b varchar(50) default NULL; execute stmt; -eval $check; -drop table t24_analyze; - -# SQLCOM_OPTIMIZE: - ---disable_warnings -drop table if exists t24_optimize; ---enable_warnings - -create table t24_optimize(a int); -insert into t24_optimize values (1), (2), (3); - -prepare stmt from 'optimize table t24_optimize'; +alter table t1 drop column b; execute stmt; -eval $check; +call p_verify_reprepare_count(0); -drop table t24_optimize; -create table t24_optimize(a1 int, a2 int); -insert into t24_optimize values (1, 10), (2, 20), (3, 30); +drop table t1; -# t24_optimize has changed, and it's not a problem -execute stmt; -eval $check; +--echo # SQLCOM_SHOW_CREATE_PROC: -alter table t24_optimize add column b varchar(50) default NULL; -execute stmt; -eval $check; - -alter table t24_optimize drop column b; -execute stmt; -eval $check; - -drop table t24_optimize; - -# SQLCOM_SHOW_CREATE_PROC: - ---disable_warnings -drop procedure if exists changing_proc; ---enable_warnings - -prepare stmt from 'show create procedure changing_proc'; +prepare stmt from "show create procedure p1"; --error ER_SP_DOES_NOT_EXIST execute stmt; -eval $check; --error ER_SP_DOES_NOT_EXIST execute stmt; -eval $check; -create procedure changing_proc() begin end; +create procedure p1() begin end; -# changing_proc has changed, and it's not a problem +--disable_result_log execute stmt; -eval $check; execute stmt; -eval $check; +--enable_result_log -drop procedure changing_proc; -create procedure changing_proc(x int, y int) begin end; +drop procedure p1; +create procedure p1(x int, y int) begin end; +--disable_result_log execute stmt; -eval $check; execute stmt; -eval $check; +--enable_result_log -drop procedure changing_proc; +drop procedure p1; --error ER_SP_DOES_NOT_EXIST execute stmt; -eval $check; --error ER_SP_DOES_NOT_EXIST execute stmt; -eval $check; +call p_verify_reprepare_count(0); -# SQLCOM_SHOW_CREATE_FUNC: +--echo # SQLCOM_SHOW_CREATE_FUNC: ---disable_warnings -drop function if exists changing_func; ---enable_warnings - -prepare stmt from 'show create function changing_func'; +prepare stmt from "show create function f1"; --error ER_SP_DOES_NOT_EXIST execute stmt; -eval $check; --error ER_SP_DOES_NOT_EXIST execute stmt; -eval $check; -create function changing_func() returns int return 0; +create function f1() returns int return 0; -# changing_proc has changed, and it's not a problem +--disable_result_log execute stmt; -eval $check; execute stmt; -eval $check; +--enable_result_log -drop function changing_func; -create function changing_func(x int, y int) returns int return x+y; +drop function f1; +create function f1(x int, y int) returns int return x+y; +--disable_result_log execute stmt; -eval $check; execute stmt; -eval $check; +--enable_result_log -drop function changing_func; +drop function f1; --error ER_SP_DOES_NOT_EXIST execute stmt; -eval $check; --error ER_SP_DOES_NOT_EXIST execute stmt; -eval $check; +call p_verify_reprepare_count(0); -# SQLCOM_SHOW_CREATE_TRIGGER: +--echo # SQLCOM_SHOW_CREATE_TRIGGER: ---disable_warnings -drop table if exists t24_trigger; ---enable_warnings +create table t1 (a int); -create table t24_trigger(a int); - -prepare stmt from 'show create trigger t24_bi;'; +prepare stmt from "show create trigger t1_bi"; --error ER_TRG_DOES_NOT_EXIST execute stmt; -eval $check; --error ER_TRG_DOES_NOT_EXIST execute stmt; -eval $check; -delimiter $$; -create trigger t24_bi before insert on t24_trigger for each row - begin - set @message= "t24_bi"; - end -$$ -delimiter ;$$ +create trigger t1_bi before insert on t1 for each row set @message= "t1_bi"; -# t24_bi has changed, and it's not a problem +--disable_result_log execute stmt; -eval $check; execute stmt; -eval $check; +--enable_result_log -drop trigger t24_bi; -delimiter $$; -create trigger t24_bi before insert on t24_trigger for each row - begin - set @message= "t24_bi (2)"; - end -$$ -delimiter ;$$ +drop trigger t1_bi; -# t24_bi has changed, and it's not a problem -set @expected = @expected + 1; +create trigger t1_bi before insert on t1 for each row set @message= "t1_bi (2)"; + +--disable_result_log execute stmt; -eval $check; execute stmt; -eval $check; +--enable_result_log -drop trigger t24_bi; +drop trigger t1_bi; --error ER_TRG_DOES_NOT_EXIST execute stmt; -eval $check; --error ER_TRG_DOES_NOT_EXIST execute stmt; -eval $check; +call p_verify_reprepare_count(0); -drop table t24_trigger; +drop table t1; +deallocate prepare stmt; --echo ===================================================================== ---echo Testing 25: Testing the strength of TABLE_SHARE version +--echo Part 24: Testing the strength of TABLE_SHARE version --echo ===================================================================== -# Test 25-a: number of columns +--echo # Test 24-a: number of columns ---disable_warnings -drop table if exists t25_num_col; ---enable_warnings +create table t1 (a int); -create table t25_num_col(a int); - -prepare stmt from 'select a from t25_num_col'; +prepare stmt from "select a from t1"; execute stmt; -eval $check; +call p_verify_reprepare_count(0); + +alter table t1 add column b varchar(50) default NULL; + execute stmt; -eval $check; - -alter table t25_num_col add column b varchar(50) default NULL; - -set @expected = @expected + 1; +call p_verify_reprepare_count(1); execute stmt; -eval $check; +call p_verify_reprepare_count(0); + +--echo # Test 24-b: column name + +alter table t1 change b c int; execute stmt; -eval $check; - -drop table t25_num_col; - -# Test 25-b: column name - ---disable_warnings -drop table if exists t25_col_name; ---enable_warnings - -create table t25_col_name(a int); - -prepare stmt from 'select * from t25_col_name'; +call p_verify_reprepare_count(1); execute stmt; -eval $check; +call p_verify_reprepare_count(0); + +--echo # Test 24-c: column type + +alter table t1 change a a varchar(10); + execute stmt; -eval $check; - -alter table t25_col_name change a b int; - -set @expected = @expected + 1; ---error ER_PS_REBIND +call p_verify_reprepare_count(1); execute stmt; -eval $check; -set @expected = @expected + 1; ---error ER_PS_REBIND +call p_verify_reprepare_count(0); + +--echo # Test 24-d: column type length + +alter table t1 change a a varchar(20); + execute stmt; -eval $check; - -drop table t25_col_name; - -# Test 25-c: column type - ---disable_warnings -drop table if exists t25_col_type; ---enable_warnings - -create table t25_col_type(a int); - -prepare stmt from 'select * from t25_col_type'; +call p_verify_reprepare_count(1); execute stmt; -eval $check; +call p_verify_reprepare_count(0); + +--echo # Test 24-e: column NULL property + +alter table t1 change a a varchar(20) NOT NULL; + execute stmt; -eval $check; - -alter table t25_col_type change a a varchar(10); - -set @expected = @expected + 1; ---error ER_PS_REBIND +call p_verify_reprepare_count(1); execute stmt; -eval $check; -set @expected = @expected + 1; ---error ER_PS_REBIND +call p_verify_reprepare_count(0); + +--echo # Test 24-f: column DEFAULT + +alter table t1 change c c int DEFAULT 20; + execute stmt; -eval $check; - -drop table t25_col_type; - -# Test 25-d: column type length - ---disable_warnings -drop table if exists t25_col_type_length; ---enable_warnings - -create table t25_col_type_length(a varchar(10)); - -prepare stmt from 'select * from t25_col_type_length'; +call p_verify_reprepare_count(1); execute stmt; -eval $check; +call p_verify_reprepare_count(0); + +--echo # Test 24-g: number of keys +create unique index t1_a_idx on t1 (a); + execute stmt; -eval $check; - -alter table t25_col_type_length change a a varchar(20); - -set @expected = @expected + 1; ---error ER_PS_REBIND +call p_verify_reprepare_count(1); execute stmt; -eval $check; -set @expected = @expected + 1; ---error ER_PS_REBIND +call p_verify_reprepare_count(0); + +--echo # Test 24-h: changing index uniqueness + +drop index t1_a_idx on t1; +create index t1_a_idx on t1 (a); + execute stmt; -eval $check; - -drop table t25_col_type_length; - -# Test 25-e: column NULL property - ---disable_warnings -drop table if exists t25_col_null; ---enable_warnings - -create table t25_col_null(a varchar(10)); - -prepare stmt from 'select * from t25_col_null'; +call p_verify_reprepare_count(1); execute stmt; -eval $check; -execute stmt; -eval $check; +call p_verify_reprepare_count(0); -alter table t25_col_null change a a varchar(10) NOT NULL; +--echo # Cleanup +drop table t1; -set @expected = @expected + 1; ---error ER_PS_REBIND -execute stmt; -eval $check; -set @expected = @expected + 1; ---error ER_PS_REBIND -execute stmt; -eval $check; - -drop table t25_col_null; - -# Test 25-f: column DEFAULT - ---disable_warnings -drop table if exists t25_col_default; ---enable_warnings - -create table t25_col_default(a int, b int DEFAULT 10); - -prepare stmt from 'insert into t25_col_default(a) values (?)'; -set @val=1; -execute stmt using @val; -eval $check; -set @val=2; -execute stmt using @val; -eval $check; - -alter table t25_col_default change b b int DEFAULT 20; - -set @val=3; -# Must insert the correct default value for b -set @expected = @expected + 1; -execute stmt using @val; -eval $check; - -set @val=4; -# Must insert the correct default value for b -execute stmt using @val; -eval $check; - -select * from t25_col_default; - -drop table t25_col_default; - -# Test 25-g: number of keys - ---disable_warnings -drop table if exists t25_index; ---enable_warnings - -create table t25_index(a varchar(10)); - -prepare stmt from 'select * from t25_index'; -execute stmt; -eval $check; -execute stmt; -eval $check; - -create index i1 on t25_index(a); - -set @expected = @expected + 1; -execute stmt; -eval $check; -execute stmt; -eval $check; - -drop table t25_index; - -# Test 25-h: changing index uniqueness - ---disable_warnings -drop table if exists t25_index_unique; ---enable_warnings - -create table t25_index_unique(a varchar(10), b varchar(10)); -create index i1 on t25_index_unique(a, b); - -show create table t25_index_unique; - -prepare stmt from 'select * from t25_index_unique'; -execute stmt; -eval $check; -execute stmt; -eval $check; - -alter table t25_index_unique drop index i1; -create unique index i1 on t25_index_unique(a, b); - -show create table t25_index_unique; - -set @expected = @expected + 1; -execute stmt; -eval $check; -execute stmt; -eval $check; - -drop table t25_index_unique; +deallocate prepare stmt; --echo ===================================================================== --echo Testing reported bugs --echo ===================================================================== -# -# Bug#12093 (SP not found on second PS execution if another thread drops -# other SP in between) -# - ---disable_warnings -drop table if exists table_12093; -drop function if exists func_12093; -drop function if exists func_12093_unrelated; -drop procedure if exists proc_12093; ---enable_warnings - -connect (con1,localhost,root,,); - -connection default; - -create table table_12093(a int); - -delimiter //; - -create function func_12093() -returns int -begin - return (select count(*) from table_12093); -end// - -create procedure proc_12093(a int) -begin - select * from table_12093; -end// - -delimiter ;// - -create function func_12093_unrelated() returns int return 2; -create procedure proc_12093_unrelated() begin end; - -prepare stmt_sf from 'select func_12093();'; -prepare stmt_sp from 'call proc_12093(func_12093())'; - -execute stmt_sf; -eval $check; -execute stmt_sp; -eval $check; - -connection con1; - -drop function func_12093_unrelated; -drop procedure proc_12093_unrelated; - -connection default; - -# previously, failed with --error 1305 -execute stmt_sf; -eval $check; -# previously, failed with --error 1305 -execute stmt_sp; -eval $check; - -# previously, failed with --error 1305 -execute stmt_sf; -eval $check; -# previously, failed with --error 1305 -execute stmt_sp; -eval $check; - -deallocate prepare stmt_sf; -deallocate prepare stmt_sp; - -disconnect con1; - -drop table table_12093; -drop function func_12093; -drop procedure proc_12093; - -# -# Bug#21294 (executing a prepared statement that executes a stored function -# which was recreat) -# - ---disable_warnings -drop function if exists func_21294; ---enable_warnings - -create function func_21294() returns int return 10; - -prepare stmt from "select func_21294()"; -execute stmt; -eval $check; - -drop function func_21294; -create function func_21294() returns int return 10; - -# might pass or fail, implementation dependent -execute stmt; -eval $check; - -drop function func_21294; -create function func_21294() returns int return 20; - -set @expected = @expected + 1; -execute stmt; -eval $check; - -deallocate prepare stmt; -drop function func_21294; - -# -# Bug#27420 (A combination of PS and view operations cause error + assertion -# on shutdown) -# +--echo # +--echo # Bug#27420 A combination of PS and view operations cause +--echo # error + assertion on shutdown +--echo # --disable_warnings drop table if exists t_27420_100; @@ -1677,10 +1194,6 @@ drop table if exists t_27420_101; drop view if exists v_27420; --enable_warnings -connect (con1,localhost,root,,); - -connection default; - create table t_27420_100(a int); insert into t_27420_100 values (1), (2); @@ -1691,46 +1204,33 @@ create view v_27420 as select t_27420_100.a X, t_27420_101.a Y from t_27420_100, t_27420_101 where t_27420_100.a=t_27420_101.a; -prepare stmt from 'select * from v_27420'; +prepare stmt from "select * from v_27420"; execute stmt; -eval $check; - -connection con1; +call p_verify_reprepare_count(0); drop view v_27420; create table v_27420(X int, Y int); -connection default; - -set @expected = @expected + 1; execute stmt; -eval $check; - -connection con1; +call p_verify_reprepare_count(1); drop table v_27420; # passes in 5.0, fails in 5.1, should pass create table v_27420 (a int, b int, filler char(200)); -connection default; - -set @expected = @expected + 1; ---error ER_PS_REBIND execute stmt; -eval $check; +call p_verify_reprepare_count(1); -disconnect con1; - -deallocate prepare stmt; drop table t_27420_100; drop table t_27420_101; drop table v_27420; +deallocate prepare stmt; -# -# Bug#27430 (Crash in subquery code when in PS and table DDL changed after -# PREPARE) -# +--echo # +--echo # Bug#27430 Crash in subquery code when in PS and table DDL changed +--echo # after PREPARE +--echo # --disable_warnings drop table if exists t_27430_1; @@ -1752,18 +1252,16 @@ insert into t_27430_2 values (1234, 3), (1234, 4); -prepare stmt from - 'select oref, a, a in (select a from t_27430_1 where oref=t_27430_2.oref) Z from t_27430_2'; +prepare stmt from + "select oref, a, a in (select a from t_27430_1 where oref=t_27430_2.oref) Z from t_27430_2"; -execute stmt; -eval $check; -execute stmt; -eval $check; +execute stmt; +call p_verify_reprepare_count(0); drop table t_27430_1, t_27430_2; create table t_27430_1 (a int, oref int, key(a)); -insert into t_27430_1 values +insert into t_27430_1 values (1, 1), (1, NULL), (2, 3), @@ -1777,23 +1275,17 @@ insert into t_27430_2 values (NULL, 3), (NULL, 4); -set @expected = @expected + 1; ---error ER_PS_REBIND execute stmt; -eval $check; -set @expected = @expected + 1; ---error ER_PS_REBIND -execute stmt; -eval $check; +call p_verify_reprepare_count(1); -deallocate prepare stmt; drop table t_27430_1; drop table t_27430_2; +deallocate prepare stmt; -# -# Bug#27690 (Re-execution of prepared statement after table was replaced -# with a view crashes) -# +--echo # +--echo # Bug#27690 Re-execution of prepared statement after table +--echo # was replaced with a view crashes +--echo # --disable_warnings drop table if exists t_27690_1; @@ -1807,33 +1299,764 @@ insert into t_27690_1 values (1,1),(2,2); create table v_27690_1 as select * from t_27690_1; create table v_27690_2 as select * from t_27690_1; -prepare stmt from 'select * from v_27690_1, v_27690_2'; +prepare stmt from "select * from v_27690_1, v_27690_2"; execute stmt; -eval $check; execute stmt; -eval $check; drop table v_27690_1; --error ER_NO_SUCH_TABLE execute stmt; -eval $check; --error ER_NO_SUCH_TABLE execute stmt; -eval $check; +call p_verify_reprepare_count(0); create view v_27690_1 as select A.a, A.b from t_27690_1 A, t_27690_1 B; -set @expected = @expected + 1; execute stmt; -eval $check; +call p_verify_reprepare_count(1); execute stmt; -eval $check; +call p_verify_reprepare_count(0); -deallocate prepare stmt; drop table t_27690_1; drop view v_27690_1; drop table v_27690_2; +deallocate prepare stmt; +--echo #===================================================================== +--echo # TODO: fix the below two bugs and modify their tests +--echo # +--echo # Bug#21294 Executing a prepared statement that executes +--echo # a stored function which was recreat +--echo # + +create function f1() returns int return 10; + +prepare stmt from "select f1()"; +execute stmt; + +drop function f1; +create function f1() returns int return 10; + +# might pass or fail, implementation dependent +--error ER_SP_DOES_NOT_EXIST +execute stmt; + +drop function f1; +create function f1() returns int return 20; + +--error ER_SP_DOES_NOT_EXIST +execute stmt; +call p_verify_reprepare_count(0); + +drop function f1; +deallocate prepare stmt; + +--echo # +--echo # Bug#12093 SP not found on second PS execution if another thread drops +--echo # other SP in between +--echo # +--disable_warnings +drop table if exists t_12093; +drop function if exists f_12093; +drop function if exists f_12093_unrelated; +drop procedure if exists p_12093; +--enable_warnings + +create table t_12093 (a int); + +create function f_12093() returns int return (select count(*) from t_12093); + +create procedure p_12093(a int) select * from t_12093; + +create function f_12093_unrelated() returns int return 2; +create procedure p_12093_unrelated() begin end; + +prepare stmt_sf from 'select f_12093();'; +prepare stmt_sp from 'call p_12093(f_12093())'; + +execute stmt_sf; +execute stmt_sp; + +connect (con1,localhost,root,,); +connection con1; + +drop function f_12093_unrelated; +drop procedure p_12093_unrelated; + +connection default; + +--echo # XXX: bug +--error ER_SP_DOES_NOT_EXIST +execute stmt_sf; +--echo # XXX: bug +--error ER_SP_DOES_NOT_EXIST +execute stmt_sp; + +--echo # XXX: bug +--error ER_SP_DOES_NOT_EXIST +execute stmt_sf; +--echo # XXX: bug +--error ER_SP_DOES_NOT_EXIST +execute stmt_sp; +call p_verify_reprepare_count(0); + +disconnect con1; + +drop table t_12093; +drop function f_12093; +drop procedure p_12093; +deallocate prepare stmt_sf; +deallocate prepare stmt_sp; + + +--echo ===================================================================== +--echo Ensure that metadata validation is performed for every type of +--echo SQL statement where it is needed. +--echo ===================================================================== + +--echo # +--echo # SQLCOM_SELECT +--echo # + +--disable_warnings +drop table if exists t1; +--enable_warnings +create table t1 (a int); +prepare stmt from "select 1 as res from dual where (1) in (select * from t1)"; +drop table t1; +create table t1 (x int); +execute stmt; +drop table t1; +deallocate prepare stmt; +call p_verify_reprepare_count(1); + +--echo # +--echo # SQLCOM_CREATE_TABLE +--echo # + +--disable_warnings +drop table if exists t1; +drop table if exists t2; +--enable_warnings +create table t1 (a int); +prepare stmt from 'create table t2 as select * from t1'; +execute stmt; +drop table t2; +execute stmt; +drop table t2; +execute stmt; +call p_verify_reprepare_count(0); +# Base table with name of table to be created exists +--error ER_TABLE_EXISTS_ERROR +execute stmt; +call p_verify_reprepare_count(1); +--error ER_TABLE_EXISTS_ERROR +execute stmt; +call p_verify_reprepare_count(0); +drop table t2; +# Temporary table with name of table to be created exists +create temporary table t2 (a int); +--error ER_TABLE_EXISTS_ERROR +execute stmt; +call p_verify_reprepare_count(1); +--error ER_TABLE_EXISTS_ERROR +execute stmt; +call p_verify_reprepare_count(0); +drop temporary table t2; +execute stmt; +call p_verify_reprepare_count(1); +drop table t2; +execute stmt; +call p_verify_reprepare_count(0); +drop table t2; +# View with name of table to be created exists +# Attention: +# We cannot print the error message because it contains a random filename. +# Example: 1050: Table '/var/tmp/#sql_6979_0' already exists +# Therefore we mangle it via +# "--error ER_TABLE_EXISTS_ERROR,9999" (9999 is currently not used) +# to "Got one of the listed errors". +create view t2 as select 1; +--error ER_TABLE_EXISTS_ERROR,9999 +execute stmt; +call p_verify_reprepare_count(1); +--error ER_TABLE_EXISTS_ERROR,9999 +execute stmt; +call p_verify_reprepare_count(0); +drop view t2; +drop table t1; +# Table to be used recreated (drop,create) with different layout +create table t1 (x varchar(20)); +execute stmt; +call p_verify_reprepare_count(1); +select * from t2; +drop table t2; +execute stmt; +call p_verify_reprepare_count(0); +drop table t2; +# Table to be used has a modified (alter table) layout +alter table t1 add column y decimal(10,3); +execute stmt; +call p_verify_reprepare_count(1); +select * from t2; +drop table t2; +execute stmt; +call p_verify_reprepare_count(0); +drop table t1; +deallocate prepare stmt; +--echo # XXX: no validation of the first table in case of +--echo # CREATE TEMPORARY TABLE. This is a shortcoming of the current code, +--echo # but since validation is not strictly necessary, nothing is done +--echo # about it. +--echo # Will be fixed as part of work on Bug#21431 "Incomplete support of +--echo # temporary tables" +create table t1 (a int); +insert into t1 (a) values (1); +prepare stmt from "create temporary table if not exists t2 as select * from t1"; +execute stmt; +drop table t2; +execute stmt; +execute stmt; +select * from t2; +execute stmt; +select * from t2; +drop table t2; +create temporary table t2 (a varchar(10)); +execute stmt; +select * from t2; +call p_verify_reprepare_count(0); +drop table t1; +create table t1 (x int); +execute stmt; +call p_verify_reprepare_count(1); +execute stmt; +call p_verify_reprepare_count(0); +drop table t1; +drop temporary table t2; +drop table t2; +deallocate prepare stmt; + +create table t1 (a int); +prepare stmt from "create table t2 like t1"; +execute stmt; +call p_verify_reprepare_count(0); +drop table t2; +execute stmt; +call p_verify_reprepare_count(0); +drop table t2; +# Table to be used does not exist +drop table t1; +--error ER_NO_SUCH_TABLE +execute stmt; +call p_verify_reprepare_count(0); +--error ER_NO_SUCH_TABLE +execute stmt; +call p_verify_reprepare_count(0); +# Table to be used recreated (drop,create) with different layout +create table t1 (x char(17)); +execute stmt; +call p_verify_reprepare_count(1); +drop table t2; +execute stmt; +call p_verify_reprepare_count(0); +drop table t2; +# Table to be used has a modified (alter table) layout +alter table t1 add column y time; +execute stmt; +call p_verify_reprepare_count(1); +select * from t2; +drop table t2; +execute stmt; +call p_verify_reprepare_count(0); +drop table t1; +drop table t2; +deallocate prepare stmt; + + +--echo # +--echo # SQLCOM_UPDATE +--echo # + +--disable_warnings +drop table if exists t1, t2; +--enable_warnings +create table t1 (a int); +create table t2 (a int); +prepare stmt from "update t2 set a=a+1 where (1) in (select * from t1)"; +execute stmt; +drop table t1; +create table t1 (x int); +execute stmt; +drop table t1, t2; +deallocate prepare stmt; + +--echo # +--echo # SQLCOM_INSERT +--echo # + +--disable_warnings +drop table if exists t1, t2; +--enable_warnings +create table t1 (a int); +create table t2 (a int); +prepare stmt from "insert into t2 set a=((1) in (select * from t1))"; +execute stmt; +drop table t1; +create table t1 (x int); +execute stmt; + +drop table t1, t2; +deallocate prepare stmt; + +--echo # +--echo # SQLCOM_INSERT_SELECT +--echo # + +--disable_warnings +drop table if exists t1, t2; +--enable_warnings +create table t1 (a int); +create table t2 (a int); +prepare stmt from "insert into t2 select * from t1"; +execute stmt; +drop table t1; +create table t1 (x int); +execute stmt; +drop table t1, t2; +deallocate prepare stmt; + +--echo # +--echo # SQLCOM_REPLACE +--echo # + +--disable_warnings +drop table if exists t1, t2; +--enable_warnings +create table t1 (a int); +create table t2 (a int); +prepare stmt from "replace t2 set a=((1) in (select * from t1))"; +execute stmt; +drop table t1; +create table t1 (x int); +execute stmt; +drop table t1, t2; +deallocate prepare stmt; + +--echo # +--echo # SQLCOM_REPLACE_SELECT +--echo # + +--disable_warnings +drop table if exists t1, t2; +--enable_warnings +create table t1 (a int); +create table t2 (a int); +prepare stmt from "replace t2 select * from t1"; +execute stmt; +drop table t1; +create table t1 (x int); +execute stmt; +drop table t1, t2; +deallocate prepare stmt; + +--echo # +--echo # SQLCOM_DELETE +--echo # + +--disable_warnings +drop table if exists t1, t2; +--enable_warnings +create table t1 (a int); +create table t2 (a int); +prepare stmt from "delete from t2 where (1) in (select * from t1)"; +execute stmt; +drop table t1; +create table t1 (x int); +execute stmt; +drop table t1, t2; +deallocate prepare stmt; + +--echo # +--echo # SQLCOM_DELETE_MULTI +--echo # + +--disable_warnings +drop table if exists t1, t2, t3; +--enable_warnings +create table t1 (a int); +create table t2 (a int); +create table t3 (a int); +prepare stmt from "delete t2, t3 from t2, t3 where (1) in (select * from t1)"; +execute stmt; +drop table t1; +create table t1 (x int); +execute stmt; +drop table t1, t2, t3; +deallocate prepare stmt; + +--echo # +--echo # SQLCOM_UPDATE_MULTI +--echo # + +--disable_warnings +drop table if exists t1, t2, t3; +--enable_warnings +create table t1 (a int); +create table t2 (a int); +create table t3 (a int); +prepare stmt from "update t2, t3 set t3.a=t2.a, t2.a=null where (1) in (select * from t1)"; +drop table t1; +create table t1 (x int); +execute stmt; +drop table t1, t2, t3; +deallocate prepare stmt; +--echo # Intermediate results: 8 SQLCOMs tested, 8 automatic reprepares +call p_verify_reprepare_count(8); + +--echo # +--echo # SQLCOM_LOAD +--echo # + +--disable_warnings +drop table if exists t1; +--enable_warnings +create table t1 (a varchar(20)); +--error ER_UNSUPPORTED_PS +prepare stmt from "load data infile '../std_data_ln/words.dat' into table t1"; +drop table t1; + +--echo # +--echo # SQLCOM_SHOW_DATABASES +--echo # + +--disable_warnings +drop table if exists t1; +--enable_warnings +create table t1 (a int); +prepare stmt from "show databases where (1) in (select * from t1)"; +execute stmt; +drop table t1; +create table t1 (x int); +execute stmt; +drop table t1; +deallocate prepare stmt; + +--echo # +--echo # SQLCOM_SHOW_TABLES +--echo # + +--disable_warnings +drop table if exists t1; +--enable_warnings +create table t1 (a int); +prepare stmt from "show tables where (1) in (select * from t1)"; +execute stmt; +drop table t1; +create table t1 (x int); +execute stmt; +drop table t1; +deallocate prepare stmt; + +--echo # +--echo # SQLCOM_SHOW_FIELDS +--echo # + +--disable_warnings +drop table if exists t1; +--enable_warnings +create table t1 (a int); +prepare stmt from "show fields from t1 where (1) in (select * from t1)"; +execute stmt; +drop table t1; +create table t1 (x int); +execute stmt; +drop table t1; +deallocate prepare stmt; + +--echo # +--echo # SQLCOM_SHOW_KEYS +--echo # + +--disable_warnings +drop table if exists t1; +--enable_warnings +create table t1 (a int); +prepare stmt from "show keys from t1 where (1) in (select * from t1)"; +execute stmt; +drop table t1; +create table t1 (x int); +execute stmt; +drop table t1; +deallocate prepare stmt; + +--echo # +--echo # SQLCOM_SHOW_VARIABLES +--echo # + +--disable_warnings +drop table if exists t1; +--enable_warnings +create table t1 (a int); +prepare stmt from "show variables where (1) in (select * from t1)"; +execute stmt; +drop table t1; +create table t1 (x int); +execute stmt; +drop table t1; +deallocate prepare stmt; + +--echo # +--echo # SQLCOM_SHOW_STATUS +--echo # + +--disable_warnings +drop table if exists t1; +--enable_warnings +create table t1 (a int); +prepare stmt from "show status where (1) in (select * from t1)"; +execute stmt; +drop table t1; +create table t1 (x int); +execute stmt; +drop table t1; +deallocate prepare stmt; + +--echo # +--echo # SQLCOM_SHOW_ENGINE_STATUS, SQLCOM_SHOW_ENGINE_LOGS, +--echo # SQLCOM_SHOW_ENGINE_MUTEX, SQLCOM_SHOW_PROCESSLIST +--echo # + +--echo # Currently can not have a where clause, need to be covered +--echo # with tests + +--disable_warnings +drop table if exists t1; +--enable_warnings +create table t1 (a int); +--error ER_PARSE_ERROR +prepare stmt from "show engine all status where (1) in (select * from t1)"; +--error ER_PARSE_ERROR +prepare stmt from "show engine all logs where (1) in (select * from t1)"; +--error ER_PARSE_ERROR +prepare stmt from "show engine all mutex where (1) in (select * from t1)"; +--error ER_PARSE_ERROR +prepare stmt from "show processlist where (1) in (select * from t1)"; +drop table t1; + +--echo # +--echo # SQLCOM_SHOW_CHARSETS +--echo # + +--disable_warnings +drop table if exists t1; +--enable_warnings +create table t1 (a int); +prepare stmt from "show charset where (1) in (select * from t1)"; +execute stmt; +drop table t1; +create table t1 (x int); +execute stmt; +drop table t1; +deallocate prepare stmt; + +--echo # +--echo # SQLCOM_SHOW_COLLATIONS +--echo # + +--disable_warnings +drop table if exists t1; +--enable_warnings +create table t1 (a int); +prepare stmt from "show collation where (1) in (select * from t1)"; +execute stmt; +drop table t1; +create table t1 (x int); +execute stmt; +drop table t1; +deallocate prepare stmt; + +--echo # +--echo # SQLCOM_SHOW_TABLE_STATUS +--echo # + +--disable_warnings +drop table if exists t1; +--enable_warnings +create table t1 (a int); +prepare stmt from "show table status where (1) in (select * from t1)"; +execute stmt; +drop table t1; +create table t1 (x int); +execute stmt; +drop table t1; +deallocate prepare stmt; + +--echo # +--echo # SQLCOM_SHOW_TRIGGERS +--echo # + +--disable_warnings +drop table if exists t1; +--enable_warnings +create table t1 (a int); +prepare stmt from "show triggers where (1) in (select * from t1)"; +execute stmt; +drop table t1; +create table t1 (x int); +execute stmt; +drop table t1; +deallocate prepare stmt; + +--echo # +--echo # SQLCOM_SHOW_OPEN_TABLES +--echo # + +--disable_warnings +drop table if exists t1; +--enable_warnings +create table t1 (a int); +prepare stmt from "show open tables where (1) in (select * from t1)"; +execute stmt; +drop table t1; +create table t1 (x int); +execute stmt; +drop table t1; +deallocate prepare stmt; + +--echo # +--echo # SQLCOM_SHOW_STATUS_PROC +--echo # + +--disable_warnings +drop table if exists t1; +--enable_warnings +create table t1 (a int); +prepare stmt from "show procedure status where (1) in (select * from t1)"; +execute stmt; +drop table t1; +create table t1 (x int); +execute stmt; +drop table t1; +deallocate prepare stmt; + +--echo # +--echo # SQLCOM_SHOW_STATUS_FUNC +--echo # + +--disable_warnings +drop table if exists t1; +--enable_warnings +create table t1 (a int); +prepare stmt from "show function status where (1) in (select * from t1)"; +execute stmt; +drop table t1; +create table t1 (x int); +execute stmt; +drop table t1; +deallocate prepare stmt; + +--echo # +--echo # SQLCOM_SHOW_EVENTS +--echo # +--echo # +--echo # Please see this test in ps.test, it requires not_embedded.inc +--echo # + +--echo # +--echo # SQLCOM_SET_OPTION +--echo # + +--disable_warnings +drop table if exists t1; +--enable_warnings +create table t1 (a int); +prepare stmt from "set @a=((1) in (select * from t1))"; +execute stmt; +drop table t1; +create table t1 (x int); +execute stmt; +drop table t1; +deallocate prepare stmt; + +--echo # +--echo # SQLCOM_DO +--echo # + +--disable_warnings +drop table if exists t1; +--enable_warnings +create table t1 (a int); +prepare stmt from "do ((1) in (select * from t1))"; +execute stmt; +drop table t1; +create table t1 (x int); +execute stmt; +drop table t1; +deallocate prepare stmt; + +--echo # +--echo # SQLCOM_CALL +--echo # + +--disable_warnings +drop table if exists t1; +drop procedure if exists p1; +--enable_warnings +create procedure p1(a int) begin end; +create table t1 (a int); +prepare stmt from "call p1((1) in (select * from t1))"; +execute stmt; +drop table t1; +create table t1 (x int); +execute stmt; +drop table t1; +drop procedure p1; +deallocate prepare stmt; + +--echo # +--echo # SQLCOM_CREATE_VIEW +--echo # + +--disable_warnings +drop table if exists t1; +drop view if exists v1; +--enable_warnings +create table t1 (a int); +prepare stmt from "create view v1 as select * from t1"; +execute stmt; +drop view v1; +drop table t1; +create table t1 (x int); +execute stmt; +drop view v1; +drop table t1; +deallocate prepare stmt; +--echo # Intermediate result: number of reprepares matches the number +--echo # of tests +call p_verify_reprepare_count(17); + +--echo # +--echo # SQLCOM_ALTER_VIEW +--echo # + +--disable_warnings +drop view if exists v1; +--enable_warnings +create view v1 as select 1; +--error ER_UNSUPPORTED_PS +prepare stmt from "alter view v1 as select 2"; +drop view v1; + +--echo # Cleanup +--echo # +--disable_warnings +drop temporary table if exists t1, t2, t3; +drop table if exists t1, t2, t3, v1, v2; +drop procedure if exists p_verify_reprepare_count; +drop procedure if exists p1; +drop function if exists f1; +drop view if exists v1, v2; +--enable_warnings diff --git a/mysql-test/t/ps_ddl1.test b/mysql-test/t/ps_ddl1.test new file mode 100644 index 00000000000..0145d445a14 --- /dev/null +++ b/mysql-test/t/ps_ddl1.test @@ -0,0 +1,398 @@ +# +# Testing the behavior of 'PREPARE', 'DDL', 'EXECUTE' scenarios +# +# There are several subtests which are probably "superfluous" because a DDL +# statement before the EXECUTE contained a keyword +# or action (Example: Alter) which causes that all prepared statements using +# the modified object are reprepared before execution. +# Please do not delete these subtests if they disturb. Just disable them by +# if (0) +# { +# +# }. +# There might be future optimisations of the server which decrease the amount +# of unneeded reprepares or skip unneeded prepare steps and than these subtests +# might become valuable. +# Example: +# Every preceding ALTER TABLE seems to cause a reprepare. +# But if the ALTER only changed the table comment ... +# +# Created: 2008-04-18 mleich +# + +--disable_warnings +drop temporary table if exists t1; +drop table if exists t1, t2; +drop procedure if exists p_verify_reprepare_count; +drop procedure if exists p1; +drop function if exists f1; +drop view if exists t1; +drop schema if exists mysqltest; +--enable_warnings + +delimiter |; +create procedure p_verify_reprepare_count(expected int) +begin + declare old_reprepare_count int default @reprepare_count; + + select variable_value from + information_schema.session_status where + variable_name='com_stmt_reprepare' + into @reprepare_count; + + if old_reprepare_count + expected <> @reprepare_count then + select concat("Expected: ", expected, + ", actual: ", @reprepare_count - old_reprepare_count) + as "ERROR"; + else + select '' as "SUCCESS"; + end if; +end| +delimiter ;| +set @reprepare_count= 0; +flush status; + +--disable_warnings +drop table if exists t1; +--disable_warnings + +--echo # Column added or dropped is not within the list of selected columns +--echo # or table comment has changed. +--echo # A reprepare is probably not needed. +create table t1 (a int, b int); +prepare stmt from "select a from t1"; +execute stmt; +call p_verify_reprepare_count(0); +alter table t1 add column c int; +execute stmt; +call p_verify_reprepare_count(1); +execute stmt; +call p_verify_reprepare_count(0); +alter table t1 drop column b; +execute stmt; +call p_verify_reprepare_count(1); +execute stmt; +call p_verify_reprepare_count(0); +alter table t1 comment "My best table"; +execute stmt; +call p_verify_reprepare_count(1); +execute stmt; +call p_verify_reprepare_count(0); +drop table t1; +deallocate prepare stmt; + +--echo # Selects using the table at various positions, inser,update ... +--echo # + the table disappears +create table t1 (a int); +# Attention: +# "truncate" must have the first position (= executed as last prepared +# statement), because it recreates the table which has leads to reprepare +# (is this really needed) of all statements. +prepare stmt1 from "truncate t1"; +prepare stmt2 from "select 1 as my_column from t1"; +prepare stmt3 from "select 1 as my_column from (select * from t1) as t2"; +prepare stmt4 from +"select 1 as my_column from (select 1) as t2 where exists (select 1 from t1)"; +prepare stmt5 from "select * from (select 1 as b) as t2, t1"; +prepare stmt6 from "select * from t1 union all select 1.5"; +prepare stmt7 from "select 1 as my_column union all select 1 from t1"; +prepare stmt8 from "insert into t1 values(1),(2)"; +prepare stmt9 from "update t1 set a = 3 where a = 2"; +prepare stmt10 from "delete from t1 where a = 1"; +let ps_stmt_count= 10; +--echo # Attention: Result logging is disabled. +# Checks of correct results of statements are not the goal of this test. +let $num= $ps_stmt_count; +while ($num) +{ + --disable_result_log + eval execute stmt$num; + --enable_result_log + dec $num; +} +# There was no reprepare needed, because none of the objects has changed. +call p_verify_reprepare_count(0); +drop table t1; +let $num= $ps_stmt_count; +while ($num) +{ + --error ER_NO_SUCH_TABLE + eval execute stmt$num; + dec $num; +} +# There was no reprepare needed, because the statement is no more applicable. +call p_verify_reprepare_count(0); +let $num= $ps_stmt_count; +while ($num) +{ + eval deallocate prepare stmt$num; + dec $num; +} + +--echo # Selects using the table at various positions, inser,update ... +--echo # + layout change (drop column) which must cause a reprepare +create table t1 (a int, b int); +insert into t1 values(1,1),(2,2),(3,3); +create table t2 like t1; +insert into t1 values(2,2); +prepare stmt1 from "select a,b from t1"; +prepare stmt2 from "select a,b from (select * from t1) as t1"; +prepare stmt3 from "select * from t1 where a = 2 and b = 2"; +prepare stmt4 from "select * from t2 where (a,b) in (select * from t1)"; +prepare stmt5 from "select * from t1 union select * from t2"; +prepare stmt6 from "select * from t1 union all select * from t2"; +prepare stmt7 from "insert into t1 set a = 4, b = 4"; +prepare stmt8 from "insert into t1 select * from t2"; +let ps_stmt_count= 8; +--echo # Attention: Result logging is disabled. +# Checks of correct results of statements are not the goal of this test. +let $num= $ps_stmt_count; +while ($num) +{ + --disable_result_log + eval execute stmt$num; + --enable_result_log + dec $num; +} +call p_verify_reprepare_count(0); +alter table t1 drop column b; +--disable_abort_on_error +let $num= $ps_stmt_count; +while ($num) +{ + eval execute stmt$num; + # A reprepare is needed, because layout change of t1 affects statement. + call p_verify_reprepare_count(1); + dec $num; +} +let $num= $ps_stmt_count; +while ($num) +{ + eval execute stmt$num; + call p_verify_reprepare_count(1); + dec $num; +} +--echo # Why does the INSERT ... SELECT does not get a reprepare or is +--echo # only the counter not incremented? +eval execute stmt8; +call p_verify_reprepare_count(1); +--enable_abort_on_error +alter table t2 add column c int; +--error ER_WRONG_VALUE_COUNT_ON_ROW +eval execute stmt8; +call p_verify_reprepare_count(1); +let $num= $ps_stmt_count; +while ($num) +{ + eval deallocate prepare stmt$num; + dec $num; +} +drop table t1; +drop table t2; + + +--echo # select AVG() + optimizer uses index meets loss of the index +create table t1 (a int, b int, primary key(b),unique index t1_unq_idx(a)); +# We need an index which is not converted to PRIMARY KEY (becomes in +# case of InnoDB the key used for table clustering). +insert into t1 set a = 0, b = 0; +insert into t1 select a + 1, b + 1 from t1; +insert into t1 select a + 2, b + 2 from t1; +insert into t1 select a + 4, b + 4 from t1; +insert into t1 select a + 8, b + 8 from t1; +# "using index" optimizer strategy is intended +let $possible_keys= + query_get_value(explain select avg(a) from t1, possible_keys, 1); +let $extra= + query_get_value(explain select avg(a) from t1, Extra, 1); +--echo # Optimizer strategy: Possible keys = $possible_keys , Extra = $extra +prepare stmt from "select avg(a) from t1"; +execute stmt; +call p_verify_reprepare_count(0); +execute stmt; +call p_verify_reprepare_count(0); + +alter table t1 drop index t1_unq_idx; +let $possible_keys= + query_get_value(explain select avg(a) from t1, possible_keys, 1); +let $extra= + query_get_value(explain select avg(a) from t1, Extra, 1); +--echo # Optimizer strategy: Possible keys = $possible_keys , Extra = $extra +execute stmt; +call p_verify_reprepare_count(1); +execute stmt; +call p_verify_reprepare_count(0); + + +--echo # select AVG() + optimizer uses table scan meets a new index +alter table t1 add unique index t1_unq_idx(a); +let $possible_keys= + query_get_value(explain select avg(a) from t1, possible_keys, 1); +let $extra= + query_get_value(explain select avg(a) from t1, Extra, 1); +--echo # Optimizer strategy: Possible keys = $possible_keys , Extra = $extra +execute stmt; +call p_verify_reprepare_count(1); +execute stmt; +call p_verify_reprepare_count(0); + +deallocate prepare stmt; +drop table t1; + + +--echo # table replaced by not updatable view - Insert +create table t1 (a int); +prepare stmt from "insert into t1 values(1)"; +execute stmt; +call p_verify_reprepare_count(0); + +drop table t1; +create view t1 as select 1; +--error ER_NON_INSERTABLE_TABLE +execute stmt; +call p_verify_reprepare_count(1); + +drop view t1; +create table t2 (a int); +create view t1 as select * from t2 with check option; +execute stmt; +call p_verify_reprepare_count(1); +execute stmt; +call p_verify_reprepare_count(0); +select * from t1; + +deallocate prepare stmt; +drop view t1; +drop table t2; + + +--echo ===================================================================== +--echo Some freestyle tests +--echo ===================================================================== + +create temporary table t1 as select 1 as a; +delimiter |; +create procedure p1() +begin + drop temporary table t1; +end| +create function f1() returns int +begin + call p1(); + return 1; +end| +delimiter ;| + +prepare stmt from "select f1() as my_column, a from t1"; +--error ER_CANT_REOPEN_TABLE +execute stmt; +call p_verify_reprepare_count(0); +select * from t1; + +prepare stmt from "select a, f1() as my_column from t1"; +--error ER_CANT_REOPEN_TABLE +execute stmt; +call p_verify_reprepare_count(0); +select * from t1; + +prepare stmt from "select f1() as my_column, count(*) from t1"; +--error ER_CANT_REOPEN_TABLE +execute stmt; +call p_verify_reprepare_count(0); +select * from t1; + +prepare stmt from "select count(*), f1() as my_column from t1"; +--error ER_CANT_REOPEN_TABLE +execute stmt; +call p_verify_reprepare_count(0); +select * from t1; + + +--echo # Execute fails, no drop of temporary table +prepare stmt from "select 1 as my_column from (select 1) as t2 + where exists (select f1() from t1)"; +execute stmt; +call p_verify_reprepare_count(0); +execute stmt; +call p_verify_reprepare_count(0); +select * from t1; + +--echo # Execute drops temporary table +prepare stmt from "select f1()"; +execute stmt; +call p_verify_reprepare_count(0); +--error ER_BAD_TABLE_ERROR +execute stmt; +call p_verify_reprepare_count(0); + +drop function f1; +drop procedure p1; +deallocate prepare stmt; + +--echo # Execute fails, temporary table is not replaced by another +create temporary table t1 as select 1 as a; +delimiter |; +create procedure p1() +begin + drop temporary table t1; + create temporary table t1 as select 'abc' as a; +end| +create function f1() returns int +begin + call p1(); + return 1; +end| +delimiter ;| +prepare stmt from "select count(*), f1() as my_column from t1"; +--error ER_CANT_REOPEN_TABLE +execute stmt; +call p_verify_reprepare_count(0); +select * from t1; +deallocate prepare stmt; + +prepare stmt from "call p1"; +execute stmt; +drop procedure p1; +create schema mysqltest; +delimiter |; +create procedure mysqltest.p1() +begin + drop schema mysqltest; + create schema mysqltest; +end| +delimiter ;| +--error ER_SP_DOES_NOT_EXIST +execute stmt; +call p_verify_reprepare_count(0); +--error ER_SP_DOES_NOT_EXIST +execute stmt; +call p_verify_reprepare_count(0); +deallocate prepare stmt; +drop schema mysqltest; +drop temporary table t1; + + +# Bug#36089 drop temp table in SP called by function, crash +# Note: A non prepared "select 1 from t1 having count(*) = f1();" is sufficient. +if (0) +{ +create temporary table t1 as select 1 as a; +prepare stmt from "select 1 from t1 having count(*) = f1()"; +execute stmt; +call p_verify_reprepare_count(0); +deallocate prepare stmt; +drop temporary table t1; +} + + +--echo # Cleanup +--echo # +--disable_warnings +drop temporary table if exists t1; +drop table if exists t1, t2; +drop procedure if exists p_verify_reprepare_count; +drop procedure if exists p1; +drop function if exists f1; +drop view if exists t1; +drop schema if exists mysqltest; +--enable_warnings diff --git a/mysql-test/t/query_alloc_block_size_basic_32.test b/mysql-test/t/query_alloc_block_size_basic_32.test new file mode 100644 index 00000000000..281698c4179 --- /dev/null +++ b/mysql-test/t/query_alloc_block_size_basic_32.test @@ -0,0 +1,9 @@ +################################################################################ +# Created by Horst Hunger 2008-05-07 # +# # +# Wrapper for 32 bit machines # +################################################################################ + +--source include/have_32bit.inc +--source include/query_alloc_block_size_basic.inc + diff --git a/mysql-test/t/query_alloc_block_size_basic_64.test b/mysql-test/t/query_alloc_block_size_basic_64.test new file mode 100644 index 00000000000..70f2f37d36b --- /dev/null +++ b/mysql-test/t/query_alloc_block_size_basic_64.test @@ -0,0 +1,9 @@ +################################################################################ +# Created by Horst Hunger 2008-05-07 # +# # +# Wrapper for 64 bit machines # +################################################################################ + +--source include/have_64bit.inc +--source include/query_alloc_block_size_basic.inc + diff --git a/mysql-test/t/query_cache_debug.test b/mysql-test/t/query_cache_debug.test index b741eea0b29..18dfe487ac3 100644 --- a/mysql-test/t/query_cache_debug.test +++ b/mysql-test/t/query_cache_debug.test @@ -7,7 +7,7 @@ # flush status; set query_cache_type=DEMAND; -set global query_cache_size= 1024*1024*512; +set global query_cache_size= 1024*768; --disable_warnings drop table if exists t1; --enable_warnings diff --git a/mysql-test/t/query_cache_limit_basic_32.test b/mysql-test/t/query_cache_limit_basic_32.test new file mode 100644 index 00000000000..cd5f94112a0 --- /dev/null +++ b/mysql-test/t/query_cache_limit_basic_32.test @@ -0,0 +1,9 @@ +################################################################################ +# Created by Horst Hunger 2008-05-07 # +# # +# Wrapper for 32 bit machines # +################################################################################ + +--source include/have_32bit.inc +--source include/query_cache_limit_basic.inc + diff --git a/mysql-test/t/query_cache_limit_basic_64.test b/mysql-test/t/query_cache_limit_basic_64.test new file mode 100644 index 00000000000..a3ebae0b244 --- /dev/null +++ b/mysql-test/t/query_cache_limit_basic_64.test @@ -0,0 +1,9 @@ +################################################################################ +# Created by Horst Hunger 2008-05-07 # +# # +# Wrapper for 64 bit machines # +################################################################################ + +--source include/have_64bit.inc +--source include/query_cache_limit_basic.inc + diff --git a/mysql-test/t/query_cache_limit_func.test b/mysql-test/t/query_cache_limit_func.test new file mode 100644 index 00000000000..8dd5cf42d3d --- /dev/null +++ b/mysql-test/t/query_cache_limit_func.test @@ -0,0 +1,173 @@ +############# mysql-test\t\Query_cache_limit_func.test ######################## +# # +# Variable Name: Query_cache_limit # +# Scope: SESSION # +# Access Type: Dynamic # +# Data Type: NUMERIC # +# Default Value: 1048576 # +# Min Value: 0 # +# # +# # +# Creation Date: 2008-03-02 # +# Author: Sharique Abdullah # +# # +# Description: Test Cases of Dynamic System Variable "Query_cache_limit" # +# that checks behavior of this variable in the following ways # +# * Functionality based on different values # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en # +# /server-system-variables.html#option_mysqld_Query_cache_limit # +# # +############################################################################### + + +--echo ** Setup ** +--echo +# +# Setup +# + +SET @global_query_cache_limit = @@global.query_cache_limit; + +--echo ** warnings ** +--disable_warnings +DROP TABLE IF EXISTS t; + +--enable_warnings +#creating table# + +--echo ** creating table ** + +CREATE TABLE t +( +id INT AUTO_INCREMENT PRIMARY KEY, +c TEXT(30) +); + +#inserting value# + +--echo **inserting value ** + +INSERT INTO t set c = repeat('x',29); +INSERT INTO t set c = concat(repeat('x',28),'r','x'); +INSERT INTO t set c = concat(repeat('x',28),'s','y'); +INSERT INTO t set c = concat(repeat('x',28),'g','w'); + +# Reset cache & flush status +--echo ** Reset cache values ** +FLUSH STATUS; +RESET QUERY CACHE; + +# set query cache type value to on and allocating cache size +--echo ** On query_cache_type ** +SET GLOBAL query_cache_type = ON; + +--echo ** Allocating cache size ** +SET GLOBAL query_cache_size = 131072; + +# reset values +--echo ** Reset values +SET GLOBAL query_cache_size = 0; +SET GLOBAL query_cache_size = 131072; +SET GLOBAL query_cache_type = ON; + +--echo '#---------------------FN_DYNVARS_132_01----------------------#' +# +#Check if results are cacheing on default value # +# + +# Reset cache & flush status +--echo ** Reset cache values ** +FLUSH STATUS; +RESET QUERY CACHE; + + +#fetching results# +--echo ** fetching results ** +SELECT * FROM t; + +# Check status +--echo ** check status on not setting query_cache_limit value ** + +SHOW STATUS LIKE 'Qcache_not_cached'; +SHOW STATUS LIKE 'Qcache_queries_in_cache'; + + +--echo '#---------------------FN_DYNVARS_132_02----------------------#' +# +#Check if results are cacheing on setting value to 0 i.e. no caching# +# + +# Reset cache & flush status +--echo ** Reset cache values ** +FLUSH STATUS; +RESET QUERY CACHE; + +#set cache limit +--echo ** set cache limit ** +SET @@GLOBAL.query_cache_limit=0; + +#fetching results# +--echo ** fetching results ** +SELECT * FROM t; + +# Check status after setting value# +--echo ** Check status after setting value ** +#let $newcachevalue1= query_get_value(SHOW STATUS LIKE 'Qcache_queries_in_cache', Value, 1); +SHOW STATUS LIKE 'Qcache_not_cached'; +--echo 1 Expected +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +--echo 0 Expected + + +--echo '#---------------------FN_DYNVARS_132_03----------------------#' +# +# Check if setting to 0 makes any difference to the cache or not # +# + +#set cache limit to default +--echo ** set cache limit ** +SET @@GLOBAL.query_cache_limit=DEFAULT; + +# Reset cache & flush status +--echo ** Reset cache values ** +FLUSH STATUS; +RESET QUERY CACHE; + +#fetching results# +--echo ** fetching results ** +SELECT * FROM t; + +SHOW STATUS LIKE 'Qcache_not_cached'; +--echo 0 Expected +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +--echo 1 Expected + +SET @@GLOBAL.query_cache_limit=0; + +SHOW STATUS LIKE 'Qcache_not_cached'; +--echo 0 Expected +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +--echo 1 Expected + +#fetching results# +--echo ** fetching results ** +SELECT * FROM t; + +# Check status after setting value# +--echo ** Check status after setting value ** + +SHOW STATUS LIKE 'Qcache_not_cached'; +--echo 0 Expected +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +--echo 1 Expected + +# +# Cleanup +# + +SET @@GLOBAL.query_cache_limit = @global_query_cache_limit; + +--disable_warnings +DROP TABLE IF EXISTS t; +--enable_warnings diff --git a/mysql-test/t/query_cache_merge.test b/mysql-test/t/query_cache_merge.test index 36b8662f088..5247d29a83c 100644 --- a/mysql-test/t/query_cache_merge.test +++ b/mysql-test/t/query_cache_merge.test @@ -25,6 +25,15 @@ while ($1) } --enable_warnings +# +# In order for the test to pass in --ps-protocol, we must +# set table_definition_cache size to at least 258 elements. +# Otherwise table versions are bound to change between +# prepare and execute, and we will get a constant validation +# error. See WL#4165 for details. +# +set @save_table_definition_cache= @@global.table_definition_cache; +set @@global.table_definition_cache=512; create table t00 (a int) engine=MERGE UNION=(t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15,t16,t17,t18,t19,t20,t21,t22,t23,t24,t25,t26,t27,t28,t29,t30,t31,t32,t33,t34,t35,t36,t37,t38,t39,t40,t41,t42,t43,t44,t45,t46,t47,t48,t49,t50,t51,t52,t53,t54,t55,t56,t57,t58,t59,t60,t61,t62,t63,t64,t65,t66,t67,t68,t69,t70,t71,t72,t73,t74,t75,t76,t77,t78,t79,t80,t81,t82,t83,t84,t85,t86,t87,t88,t89,t90,t91,t92,t93,t94,t95,t96,t97,t98,t99,t100,t101,t102,t103,t104,t105,t106,t107,t108,t109,t110,t111,t112,t113,t114,t115,t116,t117,t118,t119,t120,t121,t122,t123,t124,t125,t126,t127,t128,t129,t130,t131,t132,t133,t134,t135,t136,t137,t138,t139,t140,t141,t142,t143,t144,t145,t146,t147,t148,t149,t150,t151,t152,t153,t154,t155,t156,t157,t158,t159,t160,t161,t162,t163,t164,t165,t166,t167,t168,t169,t170,t171,t172,t173,t174,t175,t176,t177,t178,t179,t180,t181,t182,t183,t184,t185,t186,t187,t188,t189,t190,t191,t192,t193,t194,t195,t196,t197,t198,t199,t200,t201,t202,t203,t204,t205,t206,t207,t208,t209,t210,t211,t212,t213,t214,t215,t216,t217,t218,t219,t220,t221,t222,t223,t224,t225,t226,t227,t228,t229,t230,t231,t232,t233,t234,t235,t236,t237,t238,t239,t240,t241,t242,t243,t244,t245,t246,t247,t248,t249,t250,t251,t252,t253,t254,t255,t256,t257) INSERT_METHOD=FIRST; enable_query_log; select count(*) from t00; @@ -36,5 +45,6 @@ show status like "Qcache_queries_in_cache"; drop table t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15,t16,t17,t18,t19,t20,t21,t22,t23,t24,t25,t26,t27,t28,t29,t30,t31,t32,t33,t34,t35,t36,t37,t38,t39,t40,t41,t42,t43,t44,t45,t46,t47,t48,t49,t50,t51,t52,t53,t54,t55,t56,t57,t58,t59,t60,t61,t62,t63,t64,t65,t66,t67,t68,t69,t70,t71,t72,t73,t74,t75,t76,t77,t78,t79,t80,t81,t82,t83,t84,t85,t86,t87,t88,t89,t90,t91,t92,t93,t94,t95,t96,t97,t98,t99,t100,t101,t102,t103,t104,t105,t106,t107,t108,t109,t110,t111,t112,t113,t114,t115,t116,t117,t118,t119,t120,t121,t122,t123,t124,t125,t126,t127,t128,t129,t130,t131,t132,t133,t134,t135,t136,t137,t138,t139,t140,t141,t142,t143,t144,t145,t146,t147,t148,t149,t150,t151,t152,t153,t154,t155,t156,t157,t158,t159,t160,t161,t162,t163,t164,t165,t166,t167,t168,t169,t170,t171,t172,t173,t174,t175,t176,t177,t178,t179,t180,t181,t182,t183,t184,t185,t186,t187,t188,t189,t190,t191,t192,t193,t194,t195,t196,t197,t198,t199,t200,t201,t202,t203,t204,t205,t206,t207,t208,t209,t210,t211,t212,t213,t214,t215,t216,t217,t218,t219,t220,t221,t222,t223,t224,t225,t226,t227,t228,t229,t230,t231,t232,t233,t234,t235,t236,t237,t238,t239,t240,t241,t242,t243,t244,t245,t246,t247,t248,t249,t250,t251,t252,t253,t254,t255,t256,t257,t00; SET @@global.query_cache_size=0; +set @@global.table_definition_cache=@save_table_definition_cache; # End of 4.1 tests diff --git a/mysql-test/t/query_cache_min_res_unit_basic_32.test b/mysql-test/t/query_cache_min_res_unit_basic_32.test new file mode 100644 index 00000000000..4f3740ea872 --- /dev/null +++ b/mysql-test/t/query_cache_min_res_unit_basic_32.test @@ -0,0 +1,9 @@ +################################################################################ +# Created by Horst Hunger 2008-05-07 # +# # +# Wrapper for 32 bit machines # +################################################################################ + +--source include/have_32bit.inc +--source include/query_cache_min_res_unit_basic.inc + diff --git a/mysql-test/t/query_cache_min_res_unit_basic_64.test b/mysql-test/t/query_cache_min_res_unit_basic_64.test new file mode 100644 index 00000000000..b35b07d4f1e --- /dev/null +++ b/mysql-test/t/query_cache_min_res_unit_basic_64.test @@ -0,0 +1,9 @@ +################################################################################ +# Created by Horst Hunger 2008-05-07 # +# # +# Wrapper for 64 bit machines # +################################################################################ + +--source include/have_64bit.inc +--source include/query_cache_min_res_unit_basic.inc + diff --git a/mysql-test/t/query_cache_size_basic_32.test b/mysql-test/t/query_cache_size_basic_32.test new file mode 100644 index 00000000000..500bdbda5dd --- /dev/null +++ b/mysql-test/t/query_cache_size_basic_32.test @@ -0,0 +1,9 @@ +################################################################################ +# Created by Horst Hunger 2008-05-07 # +# # +# Wrapper for 32 bit machines # +################################################################################ + +--source include/have_32bit.inc +--source include/query_cache_size_basic.inc + diff --git a/mysql-test/t/query_cache_size_basic_64.test b/mysql-test/t/query_cache_size_basic_64.test new file mode 100644 index 00000000000..d53be96a28b --- /dev/null +++ b/mysql-test/t/query_cache_size_basic_64.test @@ -0,0 +1,9 @@ +################################################################################ +# Created by Horst Hunger 2008-05-07 # +# # +# Wrapper for 64 bit machines # +################################################################################ + +--source include/have_64bit.inc +--source include/query_cache_size_basic.inc + diff --git a/mysql-test/t/query_cache_type_basic.test b/mysql-test/t/query_cache_type_basic.test new file mode 100644 index 00000000000..ba7e26a3065 --- /dev/null +++ b/mysql-test/t/query_cache_type_basic.test @@ -0,0 +1,228 @@ +################ mysql-test\t\query_cache_type_basic.test ##################### +# # +# Variable Name: query_cache_type # +# Scope: GLOBAL | SESSION # +# Access Type: Dynamic # +# Data Type: enumeration # +# Default Value: 1 # +# Range: 0,1 & 2 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Rizwan # +# # +# Description: Test Cases of Dynamic System Variable query_cache_type # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + +######################################################################## +# START OF query_cache_type TESTS # +######################################################################## + + +########################################################################### +# Saving initial value of query_cache_type in a temporary variable # +########################################################################### + +SET @global_start_value = @@global.query_cache_type; +SELECT @global_start_value; + +SET @session_start_value = @@session.query_cache_type; +SELECT @session_start_value; + +--echo '#--------------------FN_DYNVARS_134_01------------------------#' +######################################################################## +# Display the DEFAULT value of query_cache_type # +######################################################################## + +SET @@global.query_cache_type = 0; +SET @@global.query_cache_type = DEFAULT; +SELECT @@global.query_cache_type; + +SET @@session.query_cache_type = 0; +SET @@session.query_cache_type = DEFAULT; +SELECT @@session.query_cache_type; + + +--echo '#---------------------FN_DYNVARS_134_02-------------------------#' +######################################################### +# Check if NULL or empty value is accepeted # +######################################################### + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.query_cache_type = NULL; + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.query_cache_type = ''; + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.query_cache_type = NULL; + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.query_cache_type = ''; + +--echo '#--------------------FN_DYNVARS_134_03------------------------#' +######################################################################## +# Change the value of query_cache_type to a valid value # +######################################################################## + +SET @@global.query_cache_type = OFF; +SELECT @@global.query_cache_type; + +SET @@global.query_cache_type = ON; +SELECT @@global.query_cache_type; + +SET @@global.query_cache_type = DEMAND; +SELECT @@global.query_cache_type; + +SET @@session.query_cache_type = OFF; +SELECT @@session.query_cache_type; + +SET @@session.query_cache_type = ON; +SELECT @@session.query_cache_type; + +SET @@session.query_cache_type = DEMAND; +SELECT @@session.query_cache_type; + + +--echo '#--------------------FN_DYNVARS_134_04-------------------------#' +########################################################################### +# Change the value of query_cache_type to invalid value # +########################################################################### + + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.query_cache_type = -1; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.query_cache_type = ONDEMAND; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.query_cache_type = 'ON,OFF'; + +SET @@global.query_cache_type = 'OF'; +SELECT @@global.query_cache_type; + +--echo 'Bug# 34828: OF is taken as OFF.' + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.query_cache_type = YES; + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.query_cache_type = ' '; + + +--echo '#-------------------FN_DYNVARS_134_05----------------------------#' +######################################################################### +# Check if the value in session Table matches value in variable # +######################################################################### + +SELECT @@session.query_cache_type = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='query_cache_type'; + +--echo '#----------------------FN_DYNVARS_134_06------------------------#' +######################################################################### +# Check if the value in GLOBAL Table matches value in variable # +######################################################################### + +SELECT @@global.query_cache_type = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='query_cache_type'; + + +--echo '#---------------------FN_DYNVARS_134_07-------------------------#' +################################################################### +# Check if numbers can be used on variable # +################################################################### + +# test if variable accepts 0,1,2 +SET @@global.query_cache_type = 0; +SELECT @@global.query_cache_type; + +SET @@global.query_cache_type = 1; +SELECT @@global.query_cache_type; + +SET @@global.query_cache_type = 2; +SELECT @@global.query_cache_type; + +# use of decimal values + +SET @@global.query_cache_type = 0.4; +SELECT @@global.query_cache_type; + +SET @@global.query_cache_type = 1.0; +SELECT @@global.query_cache_type; + +SET @@global.query_cache_type = 1.1; +SELECT @@global.query_cache_type; + +SET @@global.query_cache_type = 1.5; +SELECT @@global.query_cache_type; + +SET @@global.query_cache_type = 2.49; +SELECT @@global.query_cache_type; + +SET @@session.query_cache_type = 0.5; +SELECT @@session.query_cache_type; + +SET @@session.query_cache_type = 1.6; +SELECT @@session.query_cache_type; + + +--echo 'Bug: Decimal values can be used within the range [0.0-2.5). Values'; +--echo 'are rounded to 0,1,2 as evident from outcome.'; + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.query_cache_type = 3; + + +--echo '#---------------------FN_DYNVARS_134_08----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +SET @@global.query_cache_type = TRUE; +SELECT @@global.query_cache_type; +SET @@global.query_cache_type = FALSE; +SELECT @@global.query_cache_type; + +--echo '#---------------------FN_DYNVARS_134_09----------------------#' +###################################################################### +# Check if query_cache_type can be accessed with and without @@ sign # +###################################################################### + +SET query_cache_type = 'ON'; + +--Error ER_PARSE_ERROR +SET session.query_cache_type = 'OFF'; +--Error ER_PARSE_ERROR +SET global.query_cache_type = 'DEMAND'; + +SET session query_cache_type = 1; +SELECT @@query_cache_type; + +SET global query_cache_type = 0; +SELECT @@global.query_cache_type; + +############################## +# Restore initial value # +############################## + +SET @@global.query_cache_type = @global_start_value; +SELECT @@global.query_cache_type; + +SET @@session.query_cache_type = @session_start_value; +SELECT @@session.query_cache_type; + +######################################################################## +# END OF query_cache_type TESTS # +######################################################################## diff --git a/mysql-test/t/query_cache_type_func.test b/mysql-test/t/query_cache_type_func.test new file mode 100644 index 00000000000..64f332eb7c0 --- /dev/null +++ b/mysql-test/t/query_cache_type_func.test @@ -0,0 +1,314 @@ +############# mysql-test\t\query_cache_type_func.test ######################### +# # +# Variable Name: query_cache_type # +# Scope: GLOBAL & SESSION # +# Access Type: Dynamic # +# Data Type: enumeration # +# Default Value: ON # +# Values: ON, OFF, DEMAND # +# # +# # +# Creation Date: 2008-02-20 # +# Author: Sharique Abdullah # +# # +# Description: Test Cases of Dynamic System Variable "query_cache_type" # +# that checks behavior of this variable in the following ways # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html#option_mysqld_query_cache_type # +# # +############################################################################### + +--echo ** Setup ** +--echo + +# Setup +# + +# +# Save initial value +# + +--echo ** Connecting to con0 using root ** +connect (con0,localhost,root,,); +--echo ** Connection con0 ** +connection con0; + +SET @start_global_value = @@GLOBAL.query_cache_type; +SET @start_session_value = @@SESSION.query_cache_type; + +# +# Creating test table +# + +CREATE TABLE t1(id int, value varchar(10)); + +INSERT INTO t1 VALUES(1, 'val1'); +INSERT INTO t1 VALUES(2, 'val2'); +INSERT INTO t1 VALUES(3, 'val3'); + +# +# Clearing the query cache and setting up cache size +# + +SET @@GLOBAL.query_cache_size = 65536; + +--echo FLUSHING CACHE +SET @@GLOBAL.query_cache_size = 0; +SET @@GLOBAL.query_cache_size = 65536; + +# +# SESSION SCOPE +# + +--echo ** TESTING SESSION SCOPE ** + +--echo '#--------------------FN_DYNVARS_135_01-------------------------#' +# +# Testing default value it should be ON by default +# + +SET @@query_cache_type = DEFAULT; +SELECT @@query_cache_type; +--echo ON Expected + +--echo '#--------------------FN_DYNVARS_135_02-------------------------#' +# +# Testing valid possible values +# + +--error ER_WRONG_VALUE_FOR_VAR +SET @@query_cache_type = NULL; +--echo Expected error: Wrong value for variable + +SET @@query_cache_type = ON; +SELECT @@query_cache_type; +--echo ON Expected + +SET @@query_cache_type = OFF; +SELECT @@query_cache_type; +--echo OFF Expected + +SET @@query_cache_type = DEMAND; +SELECT @@query_cache_type; +--echo DEMAND Expected + +--error ER_WRONG_VALUE_FOR_VAR +SET @@query_cache_type = XYZ; +--echo Expected error: Wrong value for variable + + +# +# TESTING FOR VALUE ON or 1 +# + +--echo ** Turning cache to ON ** + +SET @@query_cache_type = ON; + +--echo '#--------------------FN_DYNVARS_135_03-------------------------#' +# +# TESTING CACHE ADDITION +# + +--echo ** CACHE ADDITION ** +--echo + +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +--echo 0 Expected + +SELECT * FROM t1; + +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +--echo 1 Expected + +SELECT value FROM t1; + +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +--echo 2 Expected + +--echo '#--------------------FN_DYNVARS_135_04-------------------------#' +# +# TESTING CACHE HIT +# + +--echo ** CACHE HIT ** + +SELECT * FROM t1; + +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +--echo 2 Expected + +SELECT SQL_CACHE value FROM t1; + +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +--echo 3 Expected + +SELECT SQL_NO_CACHE value FROM t1; + +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +--echo 3 Expected + +--echo '#--------------------FN_DYNVARS_135_05-------------------------#' +# +# Testing with store procedure +# + +--echo Testing with store procedure + +delimiter |; + +CREATE PROCEDURE testProcHit() +BEGIN + SELECT * FROM t1; + SELECT SQL_CACHE value FROM t1; +END| + +delimiter ;| + +CALL testProcHit(); + +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +--echo Expected value : 3 +--echo ================== +--echo Bug#35388: Stored procedure execution causes improper behavior of query cache. + + +--echo '#--------------------FN_DYNVARS_135_06-------------------------#' +# +# TESTING FOR VALUE OFF or 0 +# + +--echo FLUSHING CACHE +SET @@GLOBAL.query_cache_size = 0; +SET @@GLOBAL.query_cache_size = 65536; + +--echo ** Turning cache to OFF ** + +SET @@query_cache_type = OFF; +SELECT @@query_cache_type; + +SELECT id FROM t1; + +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +--echo 0 Expected + +--echo '#--------------------FN_DYNVARS_135_07-------------------------#' +# +# TESTING QUERY WITH SQL_CACHE +# + +SELECT SQL_CACHE id FROM t1; + +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +--echo 0 Expected + +SELECT SQL_CACHE * FROM t1; + +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +--echo 0 Expected + +--echo '#--------------------FN_DYNVARS_135_08-------------------------#' +# +# TESTING FOR VALUE DEMAND or 2 +# + +--echo FLUSHING CACHE +SET @@GLOBAL.query_cache_size = 0; +SET @@GLOBAL.query_cache_size = 65536; + +--echo ** Turning cache to DEMAND ** + +SET @@query_cache_type = DEMAND; +SELECT @@query_cache_type; + +--echo '#--------------------FN_DYNVARS_135_09-------------------------#' +# +# TESTING NORMAL QUERY +# + +SELECT value,id FROM t1; + +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +--echo 0 Expected + +SELECT SQL_CACHE * FROM t1; + +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +--echo 0 Expected + +# +# GLOBAL SCOPE +# + +--echo ** TESTING GLOBAL SCOPE ** + +--echo '#--------------------FN_DYNVARS_135_10-------------------------#' +# +# Turning global cache to OFF +# + +SET @@GLOBAL.query_cache_type = OFF; + +--echo ** Connecting con1 using root ** +connect (con1,localhost,root,,); + +--echo ** Connection con1 ** +connection con1; + +SELECT @@query_cache_type; +--echo OFF Expected + +--echo '#--------------------FN_DYNVARS_135_11-------------------------#' +# +# Turning global cache to DEMAND +# +SET @@GLOBAL.query_cache_type = DEMAND; + +--echo ** Connecting con2 using root ** +connect (con2,localhost,root,,); + +--echo ** Connection con2 ** +connection con2; + +SELECT @@query_cache_type; +--echo DEMAND Expected + +--echo '#--------------------FN_DYNVARS_135_12-------------------------#' +# +# Turning global cache to ON +# +SET @@GLOBAL.query_cache_type = ON; + +--echo ** Connecting con3 using root ** +connect (con3,localhost,root,,); +--echo ** Connection con3 ** +connection con3; + +SELECT @@query_cache_type; +--echo ON Expected + +--echo +--echo ** Cleanup ** +--echo +# +# Cleanup +# + +--echo Disconnecting con1,con2,con3 +disconnect con1; +disconnect con2; +disconnect con3; + +--echo ** Connection con0 ** +connection con0; + +SET @@GLOBAL.query_cache_type = @start_global_value; +SET @@SESSION.query_cache_type = @start_session_value; + +DROP TABLE t1; + +DROP PROCEDURE testProcHit; + +--echo Disconnecting con0 +disconnect con0; diff --git a/mysql-test/t/query_cache_wlock_invalidate_basic.test b/mysql-test/t/query_cache_wlock_invalidate_basic.test new file mode 100644 index 00000000000..f253c1b4f43 --- /dev/null +++ b/mysql-test/t/query_cache_wlock_invalidate_basic.test @@ -0,0 +1,231 @@ +########### mysql-test\t\query_cache_wlock_invalidate_basic.test ############## +# # +# Variable Name: query_cache_wlock_invalidate # +# Scope: GLOBAL | SESSION # +# Access Type: Dynamic # +# Data Type: boolean # +# Default Value: FALSE # +# Range: TRUE, FALSE # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Rizwan # +# # +# Description: Test Cases of Dynamic System Variable # +# query_cache_wlock_invalidate that checks the behavior of this # +# variable in the following ways # +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + +######################################################################## +# START OF query_cache_wlock_invalidate TESTS # +######################################################################## + + +############################################################################### +# Saving initial value of query_cache_wlock_invalidate in a temporary variable# +############################################################################### + +SET @session_start_value = @@session.query_cache_wlock_invalidate; +SELECT @session_start_value; + +SET @global_start_value = @@global.query_cache_wlock_invalidate; +SELECT @global_start_value; + +--echo '#--------------------FN_DYNVARS_135_01------------------------#' +######################################################################## +# Display the DEFAULT value of query_cache_wlock_invalidate # +######################################################################## + +SET @@session.query_cache_wlock_invalidate = 1; +SET @@session.query_cache_wlock_invalidate = DEFAULT; +SELECT @@session.query_cache_wlock_invalidate; + +SET @@global.query_cache_wlock_invalidate = 1; +SET @@global.query_cache_wlock_invalidate = DEFAULT; +SELECT @@global.query_cache_wlock_invalidate; + +--echo '#---------------------FN_DYNVARS_135_02-------------------------#' +########################################################################### +# Check if query_cache_wlock_invalidate can be accessed with and without +# @@ sign +########################################################################### + +SET query_cache_wlock_invalidate = 1; +SELECT @@query_cache_wlock_invalidate; + +--Error ER_UNKNOWN_TABLE +SELECT session.query_cache_wlock_invalidate; + +--Error ER_UNKNOWN_TABLE +SELECT local.query_cache_wlock_invalidate; + +--Error ER_UNKNOWN_TABLE +SELECT global.query_cache_wlock_invalidate; + +#using another syntax for accessing system variables +SET session query_cache_wlock_invalidate = 0; +SELECT @@session.query_cache_wlock_invalidate; + +SET global query_cache_wlock_invalidate = 0; +SELECT @@global.query_cache_wlock_invalidate; + + +--echo '#--------------------FN_DYNVARS_135_03------------------------#' +########################################################################## +# change the value of query_cache_wlock_invalidate to a valid value # +########################################################################## +# for session +SET @@session.query_cache_wlock_invalidate = 0; +SELECT @@session.query_cache_wlock_invalidate; +SET @@session.query_cache_wlock_invalidate = 1; +SELECT @@session.query_cache_wlock_invalidate; + +# for global +SET @@global.query_cache_wlock_invalidate = 0; +SELECT @@global.query_cache_wlock_invalidate; +SET @@global.query_cache_wlock_invalidate = 1; +SELECT @@global.query_cache_wlock_invalidate; + + +--echo '#--------------------FN_DYNVARS_135_04-------------------------#' +########################################################################### +# Change the value of query_cache_wlock_invalidate to invalid value # +########################################################################### + +# for session +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.query_cache_wlock_invalidate = -1; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.query_cache_wlock_invalidate = 1.6; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.query_cache_wlock_invalidate = "T"; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.query_cache_wlock_invalidate = "Y"; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.query_cache_wlock_invalidate = TRÜE; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.query_cache_wlock_invalidate = ÕN; + +SET @@session.query_cache_wlock_invalidate = OF; +SELECT @@session.query_cache_wlock_invalidate; + +--echo 'Bug# 34828: OF is taken as OFF and a value of 0 is set.' + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.query_cache_wlock_invalidate = ÓFF; + +# for global + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.query_cache_wlock_invalidate = -1; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.query_cache_wlock_invalidate = 2; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.query_cache_wlock_invalidate = "T"; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.query_cache_wlock_invalidate = "Y"; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.query_cache_wlock_invalidate = TRÜE; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.query_cache_wlock_invalidate = ÕN; + +SET @@global.query_cache_wlock_invalidate = OF; +SELECT @@global.query_cache_wlock_invalidate; + +--echo 'Bug 34828: OF is taken as OFF and a value of 0 is set.' + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.query_cache_wlock_invalidate = ÓFF; + + +--echo '#-------------------FN_DYNVARS_135_05----------------------------#' +########################################################################### +# Test if changing global variable effects session and vice versa # +########################################################################### + +SET @@global.query_cache_wlock_invalidate = 0; +SET @@session.query_cache_wlock_invalidate = 1; +SELECT @@global.query_cache_wlock_invalidate AS res_is_0; + +SET @@global.query_cache_wlock_invalidate = 0; +SELECT @@session.query_cache_wlock_invalidate AS res_is_1; + +--echo '#----------------------FN_DYNVARS_135_06------------------------#' +######################################################################### +# Check if the value in GLOBAL Table matches value in variable # +######################################################################### + +SELECT @@global.query_cache_wlock_invalidate = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='query_cache_wlock_invalidate'; +SELECT @@global.query_cache_wlock_invalidate; +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='query_cache_wlock_invalidate'; + +--echo '#----------------------FN_DYNVARS_135_07------------------------#' +######################################################################### +# Check if the value in SESSION Table matches value in variable # +######################################################################### + +SELECT @@session.query_cache_wlock_invalidate = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='query_cache_wlock_invalidate'; +SELECT @@session.query_cache_wlock_invalidate; +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='query_cache_wlock_invalidate'; + +--echo '#---------------------FN_DYNVARS_135_08-------------------------#' +################################################################### +# Check if ON and OFF values can be used on variable # +################################################################### + +SET @@session.query_cache_wlock_invalidate = OFF; +SELECT @@session.query_cache_wlock_invalidate; +SET @@session.query_cache_wlock_invalidate = ON; +SELECT @@session.query_cache_wlock_invalidate; + +SET @@global.query_cache_wlock_invalidate = OFF; +SELECT @@global.query_cache_wlock_invalidate; +SET @@global.query_cache_wlock_invalidate = ON; +SELECT @@global.query_cache_wlock_invalidate; + +--echo '#---------------------FN_DYNVARS_135_09----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +SET @@session.query_cache_wlock_invalidate = TRUE; +SELECT @@session.query_cache_wlock_invalidate; +SET @@session.query_cache_wlock_invalidate = FALSE; +SELECT @@session.query_cache_wlock_invalidate; + +SET @@global.query_cache_wlock_invalidate = TRUE; +SELECT @@global.query_cache_wlock_invalidate; +SET @@global.query_cache_wlock_invalidate = FALSE; +SELECT @@global.query_cache_wlock_invalidate; + +############################## +# Restore initial value # +############################## + +SET @@session.query_cache_wlock_invalidate = @session_start_value; +SELECT @@session.query_cache_wlock_invalidate; + +SET @@global.query_cache_wlock_invalidate = @global_start_value; +SELECT @@global.query_cache_wlock_invalidate; + +############################################################### +# END OF query_cache_wlock_invalidate TESTS # +############################################################### diff --git a/mysql-test/t/query_cache_wlock_invalidate_func.test b/mysql-test/t/query_cache_wlock_invalidate_func.test new file mode 100644 index 00000000000..83b0c446b28 --- /dev/null +++ b/mysql-test/t/query_cache_wlock_invalidate_func.test @@ -0,0 +1,285 @@ +############# mysql-test\t\query_cache_wlock_invalidate_func.test #################### +# # +# Variable Name: query_cache_wlock_invalidate # +# Scope: GLOBAL & SESSION # +# Access Type: Dynamic # +# Data Type: boolean # +# Default Value: FALSE # +# Values: TRUE / 1, FALSE / 0 # +# # +# # +# Creation Date: 2008-02-21 # +# Author: Sharique Abdullah # +# # +# Description: Test Cases of Dynamic System Variable "query_cache_wlock_invalidate" # +# that checks behavior of this variable in the following ways # +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Cache behaviors # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html#option_mysqld_query_cache_wlock_invalidate # +# # +###################################################################################### + +--echo ** Setup ** +--echo +# +# Setup +# + +# disabled due to differences in the result +--disable_ps_protocol +# +# Save initial value +# +--echo ** Connecting con0 using root ** +connect (con0,localhost,root,,); +--echo ** Connecting con1 using root ** +connect (con1, localhost, root,,); +--echo ** Connection con0 ** +connection con0; + +SET @start_global_value = @@GLOBAL.query_cache_wlock_invalidate; +SET @start_session_value = @@SESSION.query_cache_wlock_invalidate; + +SET @old_cache_size = @@GLOBAL.query_cache_size; +SET @old_cache_type = @@GLOBAL.query_cache_type; + +# +# Creating test table +# + +CREATE TABLE t1(id int, value varchar(10)); + +INSERT INTO t1 VALUES(1, 'val1'); +INSERT INTO t1 VALUES(2, 'val2'); +INSERT INTO t1 VALUES(3, 'val3'); + +# +# Clearing the query cache and setting up cache size +# + +SET GLOBAL query_cache_size = 131072; + +--echo FLUSHING CACHE +SET GLOBAL query_cache_size = 0; +SET GLOBAL query_cache_size = 131072; + +SET GLOBAL query_cache_type = ON; + +# +# Testing for value ON +# +--echo Testing for value ON + +--echo ** Connection con0 ** +connection con0; + +SET SESSION query_cache_wlock_invalidate = ON; + +--echo ** Connection con1 ** +connection con1; + +SET SESSION query_cache_wlock_invalidate = ON; + +--echo '#----------------------------FN_DYNVARS_136_01--------------#' +# +# Testing for cache invalidation +# + +--echo Testing for cache invalidation + +SELECT * FROM t1; + +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +--echo 1 Expected + +LOCK TABLE t1 WRITE; + +UNLOCK TABLES; + +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +--echo 0 Expected + +--echo '#----------------------------FN_DYNVARS_136_02-----------------------#' +# +# Testing for blockage of access +# + +disable_result_log; + +SELECT * FROM t1; + +SHOW STATUS LIKE 'Qcache_queries_in_cache'; + +enable_result_log; + +--echo ** Connection con1 ** +connection con1; + +SELECT * FROM t1; + +--echo ** Connection con0 ** +connection con0; + +LOCK TABLE t1 WRITE; + +--echo ** Connection con1 ** +connection con1; + +--echo ** Asynchronous Execution ** +send SELECT * FROM t1; + +--echo ** Connection con0 ** +connection con0; + +--echo Sleeping 2 Seconds before unlock +--sleep 2 +UNLOCK TABLES; + +--echo ** Connection con1 ** +connection con1; +--echo ** Asynchronous Result ** +reap; + +# +# Testing for value OFF +# +--echo Testing for value OFF + +--echo ** Connection con0 ** +connection con0; + +SET SESSION query_cache_wlock_invalidate = OFF; + +--echo ** Connection con1 ** +connection con1; + +SET SESSION query_cache_wlock_invalidate = OFF; + +--echo '#----------------------------FN_DYNVARS_136_03------------------#' +# +# Testing for cache invalidation +# + +--echo Testing for cache invalidation + +SELECT * FROM t1; + +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +--echo 1 Expected + +LOCK TABLE t1 WRITE; + +UNLOCK TABLES; + +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +--echo 1 Expected + +--echo '#----------------------------FN_DYNVARS_136_04---------------------#' +# +# Testing for blockage of access +# + +SELECT * FROM t1; + +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +--echo 1 Expected + +--echo ** Connection con1 ** +connection con1; + +SELECT * FROM t1; + +--echo ** Connection con0 ** +connection con0; + +LOCK TABLE t1 WRITE; + +--echo ** Connection con1 ** +connection con1; + +--echo ** Should not be blocked ** +SELECT * FROM t1; + +--echo ** Connection con0 ** +connection con0; + +--echo Sleeping 2 Seconds before unlock +--sleep 2 +UNLOCK TABLES; + +--echo ** Connection con1 ** +connection con1; + +--echo '#----------------------------FN_DYNVARS_136_05------------------------#' +# +# Session data integrity check & GLOBAL Value check +# + +SET GLOBAL query_cache_wlock_invalidate = OFF; + +--echo ** Connecting con_int1 using root ** +connect (con_int1,localhost,root,,); +--echo ** Connection con_int1 ** +connection con_int1; + +SELECT @@SESSION.query_cache_wlock_invalidate; +--echo Expected Value : 0 / OFF; +SET SESSION query_cache_wlock_invalidate = ON; + +--echo ** Connecting con_int2 using root ** +connect (con_int2,localhost,root,,); +--echo ** Connection con_int2 ** +connection con_int2; + +SELECT @@SESSION.query_cache_wlock_invalidate; +--echo Expected Value : 0 / OFF; + +SET SESSION query_cache_wlock_invalidate = OFF; + +--echo ** Connection con_int1 ** +connection con_int1; +SELECT @@SESSION.query_cache_wlock_invalidate; +--echo Expected Value : 1 / ON; + +--echo ** Connection con_int2 ** +connection con_int2; +SELECT @@SESSION.query_cache_wlock_invalidate; +--echo Expected Value : 0 / OFF; + +SELECT @@GLOBAL.query_cache_wlock_invalidate; +--echo Expected Value : 0 / OFF; + +--echo ** Connection default ** +connection default; +--echo Disconnecting Connections con_int1, con_int2 +disconnect con_int1; +disconnect con_int2; + +# +# Cleanup +# +--echo +--echo CLEANUP + +--echo ** Connection con0 ** +connection con0; + +SET @@GLOBAL.query_cache_wlock_invalidate = @start_global_value; +SET @@SESSION.query_cache_wlock_invalidate = @start_session_value ; +SET @@GLOBAL.query_cache_size = @old_cache_size; +SET @@GLOBAL.query_cache_type = @old_cache_type; + +--echo ** Connection default ** +connection default; +--echo Disconnecting Connections con0, con1 +disconnect con0; +disconnect con1; + +DROP TABLE t1; + +--enable_ps_protocol + diff --git a/mysql-test/t/query_prealloc_size_basic_32.test b/mysql-test/t/query_prealloc_size_basic_32.test new file mode 100644 index 00000000000..ae919cd8d9e --- /dev/null +++ b/mysql-test/t/query_prealloc_size_basic_32.test @@ -0,0 +1,9 @@ +################################################################################ +# Created by Horst Hunger 2008-05-07 # +# # +# Wrapper for 32 bit machines # +################################################################################ + +--source include/have_32bit.inc +--source include/query_prealloc_size_basic.inc + diff --git a/mysql-test/t/query_prealloc_size_basic_64.test b/mysql-test/t/query_prealloc_size_basic_64.test new file mode 100644 index 00000000000..532336e225e --- /dev/null +++ b/mysql-test/t/query_prealloc_size_basic_64.test @@ -0,0 +1,9 @@ +################################################################################ +# Created by Horst Hunger 2008-05-07 # +# # +# Wrapper for 64 bit machines # +################################################################################ + +--source include/have_64bit.inc +--source include/query_prealloc_size_basic.inc + diff --git a/mysql-test/t/query_prealloc_size_func.test b/mysql-test/t/query_prealloc_size_func.test new file mode 100644 index 00000000000..4f1e3e63e16 --- /dev/null +++ b/mysql-test/t/query_prealloc_size_func.test @@ -0,0 +1,86 @@ +############# mysql-test\t\query_prealloc_size_func.test ###################### +# # +# Variable Name: query_prealloc_size # +# Scope: GLOBAL & SESSION # +# Access Type: Dynamic # +# Data Type: integer # +# Default Value: 8192 # +# Values: 8192-4294967295 # +# # +# # +# Creation Date: 2008-02-22 # +# Author: Sharique Abdullah # +# # +# Description: Test Cases of Dynamic System Variable "query_prealloc_size" # +# that checks behavior of this variable in the following ways # +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Cache behaviors # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html#option_mysqld_query_prealloc_size # +# # +############################################################################### + + + +--echo ** Setup ** +--echo +# +# Setup +# + +# +# Save initial value +# + +CREATE TABLE t1 (id int auto_increment primary key, val text(200)); + +INSERT INTO t1 values(NULL,'a'); +INSERT INTO t1 values(NULL,'b'); +INSERT INTO t1 values(NULL,'c'); +INSERT INTO t1 values(NULL,'d'); + +SELECT * FROM t1 ORDER BY val; + +SET SESSION query_prealloc_size = 8192; + + +--echo '#----------------------------FN_DYNVARS_137_05-----------------#' +# +# Session data integrity check & GLOBAL Value check +# + +SET GLOBAL query_prealloc_size = 8192; + +connect (con_int1,localhost,root,,); +connection con_int1; + +SELECT @@SESSION.query_prealloc_size; +--echo Expected Value : 8192; +SET SESSION query_prealloc_size = 16384; + +connect (con_int2,localhost,root,,); +connection con_int2; + +SELECT @@SESSION.query_prealloc_size; +--echo Expected Value : 8192; + +SET SESSION query_prealloc_size = 8192; + +connection con_int1; +SELECT @@SESSION.query_prealloc_size; +--echo Expected Value : 16384; + +connection con_int2; +SELECT @@SESSION.query_prealloc_size; +--echo Expected Value : 8192; + +SELECT @@GLOBAL.query_prealloc_size; +--echo Expected Value : 8192; + +connection default; +disconnect con_int1; +disconnect con_int2; + diff --git a/mysql-test/t/range_alloc_block_size_basic_32.test b/mysql-test/t/range_alloc_block_size_basic_32.test new file mode 100644 index 00000000000..247e92cd362 --- /dev/null +++ b/mysql-test/t/range_alloc_block_size_basic_32.test @@ -0,0 +1,9 @@ +################################################################################ +# Created by Horst Hunger 2008-05-07 # +# # +# Wrapper for 32 bit machines # +################################################################################ + +--source include/have_32bit.inc +--source include/range_alloc_block_size_basic.inc + diff --git a/mysql-test/t/range_alloc_block_size_basic_64.test b/mysql-test/t/range_alloc_block_size_basic_64.test new file mode 100644 index 00000000000..a9601d770c0 --- /dev/null +++ b/mysql-test/t/range_alloc_block_size_basic_64.test @@ -0,0 +1,9 @@ +################################################################################ +# Created by Horst Hunger 2008-05-07 # +# # +# Wrapper for 64 bit machines # +################################################################################ + +--source include/have_64bit.inc +--source include/range_alloc_block_size_basic.inc + diff --git a/mysql-test/t/read_buffer_size_basic.test b/mysql-test/t/read_buffer_size_basic.test new file mode 100644 index 00000000000..405bb9da6d8 --- /dev/null +++ b/mysql-test/t/read_buffer_size_basic.test @@ -0,0 +1,209 @@ +############## mysql-test\t\read_buffer_size_basic.test ############### +# # +# Variable Name: read_buffer_size # +# Scope: GLOBAL | SESSION # +# Access Type: Dynamic # +# Data Type: numeric # +# Default Value: 131072 # +# Range: 8200-2147479552 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Salman # +# # +# Description: Test Cases of Dynamic System Variable read_buffer_size # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + +###################################################################### +# START OF read_buffer_size TESTS # +###################################################################### + + +############################################################# +# Save initial value # +############################################################# + +SET @start_global_value = @@global.read_buffer_size; +SELECT @start_global_value; +SET @start_session_value = @@session.read_buffer_size; +SELECT @start_session_value; + + +--echo '#--------------------FN_DYNVARS_138_01-------------------------#' +###################################################################### +# Display the DEFAULT value of read_buffer_size # +###################################################################### + +SET @@global.read_buffer_size = 1000; +SET @@global.read_buffer_size = DEFAULT; +SELECT @@global.read_buffer_size; + +SET @@session.read_buffer_size = 2000; +SET @@session.read_buffer_size = DEFAULT; +SELECT @@session.read_buffer_size; + + +--echo '#--------------------FN_DYNVARS_138_02-------------------------#' +###################################################################### +# Check the DEFAULT value of read_buffer_size # +###################################################################### + +SET @@global.read_buffer_size = DEFAULT; +SELECT @@global.read_buffer_size = 131072; + +SET @@session.read_buffer_size = DEFAULT; +SELECT @@session.read_buffer_size = 131072; + + +--echo '#--------------------FN_DYNVARS_138_03-------------------------#' +################################################################################ +# Change the value of read_buffer_size to a valid value for GLOBAL Scope # +################################################################################ + +SET @@global.read_buffer_size = 8201; +SELECT @@global.read_buffer_size= 8200 OR @@global.read_buffer_size= 8228 ; +SET @@global.read_buffer_size = 8200; +SELECT @@global.read_buffer_size= 8200 OR @@global.read_buffer_size= 8228 ; +SET @@global.read_buffer_size = 2147479552; +SELECT @@global.read_buffer_size; +SET @@global.read_buffer_size = 2147479551; +SELECT @@global.read_buffer_size; + +--echo '#--------------------FN_DYNVARS_138_04-------------------------#' +################################################################################### +# Change the value of read_buffer_size to a valid value for SESSION Scope # +################################################################################### + +SET @@session.read_buffer_size = 8200; +SELECT @@session.read_buffer_size= 8200 OR @@session.read_buffer_size= 8228 ; +SET @@session.read_buffer_size = 8201; +SELECT @@session.read_buffer_size= 8200 OR @@session.read_buffer_size= 8228 ; +SET @@session.read_buffer_size = 2147479552; +SELECT @@session.read_buffer_size; +SET @@session.read_buffer_size = 2147479551; +SELECT @@session.read_buffer_size; + + +--echo '#------------------FN_DYNVARS_138_05-----------------------#' +################################################################## +# Change the value of read_buffer_size to an invalid value # +################################################################## + +SET @@global.read_buffer_size = 8199; +SELECT @@global.read_buffer_size= 8200 OR @@global.read_buffer_size= 8228 ; +SET @@global.read_buffer_size = -1024; +SELECT @@global.read_buffer_size= 8200 OR @@global.read_buffer_size= 8228 ; +SET @@global.read_buffer_size = 2147479553; +SELECT @@global.read_buffer_size; +--Error ER_PARSE_ERROR +SET @@global.read_buffer_size = 65530.34.; +SELECT @@global.read_buffer_size; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.read_buffer_size = test; +SELECT @@global.read_buffer_size; + +SET @@session.read_buffer_size = 8199; +SELECT @@session.read_buffer_size= 8200 OR @@session.read_buffer_size= 8228 ; +SET @@session.read_buffer_size = -2; +SELECT @@session.read_buffer_size= 8200 OR @@session.read_buffer_size= 8228 ; +--Error ER_PARSE_ERROR +SET @@session.read_buffer_size = 65530.34.; +SET @@session.read_buffer_size = 2147479553; +SELECT @@session.read_buffer_size; +--echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@session.read_buffer_size = test; +SELECT @@session.read_buffer_size; + + +--echo '#------------------FN_DYNVARS_138_06-----------------------#' +#################################################################### +# Check if the value in GLOBAL Table matches value in variable # +#################################################################### + + +SELECT @@global.read_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='read_buffer_size'; + +--echo '#------------------FN_DYNVARS_138_07-----------------------#' +#################################################################### +# Check if the value in SESSION Table matches value in variable # +#################################################################### + +SELECT @@session.read_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='read_buffer_size'; + + +--echo '#------------------FN_DYNVARS_138_08-----------------------#' +#################################################################### +# Check if TRUE and FALSE values can be used on variable # +#################################################################### + +SET @@global.read_buffer_size = TRUE; +SELECT @@global.read_buffer_size= 8200 OR @@global.read_buffer_size= 8228 ; +SET @@global.read_buffer_size = FALSE; +SELECT @@global.read_buffer_size= 8200 OR @@global.read_buffer_size= 8228 ; +echo 'Bug: FN_DYNVARS_138_08- Errors are not coming on assigning TRUE/FALSE to variable'; + + +--echo '#---------------------FN_DYNVARS_138_09----------------------#' +#################################################################################### +# Check if accessing variable with and without GLOBAL point to same variable # +#################################################################################### + +SET @@global.read_buffer_size = 9000; +SELECT @@read_buffer_size = @@global.read_buffer_size; + + +--echo '#---------------------FN_DYNVARS_138_10----------------------#' +######################################################################################################## +# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable # +######################################################################################################## + +SET @@read_buffer_size = 9000; +SELECT @@read_buffer_size = @@local.read_buffer_size; +SELECT @@local.read_buffer_size = @@session.read_buffer_size; + + +--echo '#---------------------FN_DYNVARS_138_11----------------------#' +################################################################################### +# Check if read_buffer_size can be accessed with and without @@ sign # +################################################################################### + +SET read_buffer_size = 9100; +SELECT @@read_buffer_size= 8200 OR @@read_buffer_size= 8228 ; +--Error ER_UNKNOWN_TABLE +SELECT local.read_buffer_size; +--Error ER_UNKNOWN_TABLE +SELECT session.read_buffer_size; +--Error ER_BAD_FIELD_ERROR +SELECT read_buffer_size = @@session.read_buffer_size; + + +#################################### +# Restore initial value # +#################################### + +SET @@global.read_buffer_size = @start_global_value; +SELECT @@global.read_buffer_size; +SET @@session.read_buffer_size = @start_session_value; +SELECT @@session.read_buffer_size; + + +############################################################# +# END OF read_buffer_size TESTS # +############################################################# diff --git a/mysql-test/t/read_only_basic.test b/mysql-test/t/read_only_basic.test new file mode 100644 index 00000000000..917842256b1 --- /dev/null +++ b/mysql-test/t/read_only_basic.test @@ -0,0 +1,173 @@ +############## mysql-test\t\read_only_basic.test ############### +# # +# Variable Name: read_only # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: numeric # +# Default Value: 0 # +# Range: - # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Salman # +# # +# Description: Test Cases of Dynamic System Variable read_only # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + + +################################################################ +# START OF read_only TESTS # +################################################################ + + +################################################################ +# Saving initial value of read_only in a temporary variable # +################################################################ + +SET @start_value = @@global.read_only; +SELECT @start_value; + + +--echo '#--------------------FN_DYNVARS_139_01------------------------#' +################################################################ +# Display the DEFAULT value of read_only # +################################################################ + +SET @@global.read_only = 1; +SET @@global.read_only = DEFAULT; +SELECT @@global.read_only; + + +--echo '#---------------------FN_DYNVARS_139_02-------------------------#' +############################################### +# Verify default value of variable # +############################################### + +SET @@global.read_only = @start_value; +SELECT @@global.read_only = 0; + + +--echo '#--------------------FN_DYNVARS_139_03------------------------#' +################################################################# +# Change the value of read_only to a valid value # +################################################################# + +SET @@global.read_only = 0; +SELECT @@global.read_only; +SET @@global.read_only = 1; +SELECT @@global.read_only; +SET @@global.read_only = TRUE; +SELECT @@global.read_only; +SET @@global.read_only = FALSE; +SELECT @@global.read_only; +SET @@global.read_only = ON; +SELECT @@global.read_only; +SET @@global.read_only = OFF; +SELECT @@global.read_only; + +--echo '#--------------------FN_DYNVARS_139_04-------------------------#' +#################################################################### +# Change the value of read_only to invalid value # +#################################################################### + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.read_only = -1; +SELECT @@global.read_only; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.read_only = 4294967296; +SELECT @@global.read_only; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.read_only = 10240022115; +SELECT @@global.read_only; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.read_only = 10000.01; +SELECT @@global.read_only; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.read_only = -1024; +SELECT @@global.read_only; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.read_only = 42949672950; +SELECT @@global.read_only; +--echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.read_only = 'test'; +SELECT @@global.read_only; + + +--echo '#-------------------FN_DYNVARS_139_05----------------------------#' +#################################################################### +# Test if accessing session read_only gives error # +#################################################################### + +--Error ER_GLOBAL_VARIABLE +SET @@session.read_only = 0; +SELECT @@read_only; + + +--echo '#----------------------FN_DYNVARS_139_06------------------------#' +############################################################################## +# Check if the value in GLOBAL & SESSION Tables matches values in variable # +############################################################################## + +SELECT @@global.read_only = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='read_only'; + +SELECT @@read_only = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='read_only'; + + +--echo '#---------------------FN_DYNVARS_139_07----------------------#' +######################################################################################################## +# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable # +######################################################################################################## + +SET @@global.read_only = 1; +SELECT @@read_only = @@global.read_only; + + +--echo '#---------------------FN_DYNVARS_139_08----------------------#' +################################################################### +# Check if read_only can be accessed with and without @@ sign # +################################################################### + +--Error ER_GLOBAL_VARIABLE +SET read_only = 1; +SELECT @@read_only; +--Error ER_PARSE_ERROR +SET local.read_only = 1; +--Error ER_UNKNOWN_TABLE +SELECT local.read_only; +--Error ER_PARSE_ERROR +SET global.read_only = 1; +--Error ER_UNKNOWN_TABLE +SELECT global.read_only; +--Error ER_BAD_FIELD_ERROR +SELECT read_only = @@session.read_only; + + +############################## +# Restore initial value # +############################## + +SET @@global.read_only = @start_value; +SELECT @@global.read_only; + + +################################################################# +# END OF read_only TESTS # +################################################################# + diff --git a/mysql-test/t/read_only_func.test b/mysql-test/t/read_only_func.test new file mode 100644 index 00000000000..c8fb932544b --- /dev/null +++ b/mysql-test/t/read_only_func.test @@ -0,0 +1,151 @@ +############ mysql-test\t\read_only_func.test ################################## +# # +#Variable Name: read_only # +#Scope: SESSION # +#Access Type: Dynamic # +#Data Type: BOOLEAN # +#Default Value: OFF # +#Values: ON, OFF # +# # +# # +#Creation Date: 2008-03-02 # +#Author: Sharique Abdullah # +# # +#Description: Test Cases of Dynamic System Variable "read_only" # +# that checks behavior of this variable in the following ways # +# * Functionality based on different values # +# # +#Reference: http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html# +# option_mysqld_read_only # +# # +################################################################################ + +--echo ** Setup ** +--echo +# +# Setup +# + +--source include/not_embedded.inc + +SET @default_read_only = @@read_only; + +--echo '#--------------------FN_DYNVARS_140_01-------------------------#' +################################### +#Setting Read only value ON # +################################### + +SET Global read_only=ON; + +--disable_warnings +DROP TABLE IF EXISTS t1; +--enable_warnings + +################################## +# Creating table # +################################## + + +# creating table +CREATE TABLE t1 +( +id INT NOT NULL auto_increment, +PRIMARY KEY (id), +name BLOB +); + +################################## +# Inserting values # +################################## + + +INSERT into t1(name) values("aaassssssssddddddddffffff"); + +################################### +# Updating values # +################################### + +update t1 set name="jfjdf" where id=1; + +############################################### +# Select to see wether value is updated or not# +############################################### + +select * from t1 where id=1; + +--echo '#--------------------FN_DYNVARS_140_02-------------------------#' +######################################### +#Creating user without Super privilege # +######################################### + + +--echo ** Creating new user with out super privilege** +CREATE user sameea; +--echo ** Connecting connn using username 'sameea' ** +CONNECT (connn,localhost,sameea,,); + +--Error ER_SPECIFIC_ACCESS_DENIED_ERROR +SET Global read_ONLY=ON; +--Error ER_OPTION_PREVENTS_STATEMENT +CREATE TABLE t2 +( +id INT NOT NULL auto_increment, +PRIMARY KEY (id), +name BLOB +); + +# With ps-protocol the error is ER_NO_SUCH_TABLE +--echo not updating values +--Error ER_OPTION_PREVENTS_STATEMENT,ER_NO_SUCH_TABLE +INSERT into t2(name) values("aaassssssssddddddddffffff"); + + +--Error ER_OPTION_PREVENTS_STATEMENT,ER_NO_SUCH_TABLE +UPDATE t2 SET name="samia" where id=1; + +--echo '#--------------------FN_DYNVARS_140_03-------------------------#' + +########################### +# Testing temporary table # +########################### +CREATE TEMPORARY TABLE t3(a int); + +--echo '#--------------------FN_DYNVARS_140_04-------------------------#' +########################### +# Turning read_only OFF # +########################### +--echo ** Connection default ** +connection default; + +SET Global read_only=OFF; +--echo ** Connection connn ** +connection connn; + +CREATE TABLE t2 +( +id INT NOT NULL auto_increment, +PRIMARY KEY (id), +name BLOB +); +--echo updating values +INSERT into t2(name) values("aaassssssssdddddddd"); + +UPDATE t2 SET name="samia" where id=1; + +# +# Cleanup +# +--echo ** Connection default ** +connection default; + +--echo ** Disconnecting connn ** +DISCONNECT connn; + +DROP USER sameea; + +DROP TABLE t1; +DROP TABLE t2; +SET global read_only = @default_read_only; + +--disable_info +--enable_warnings diff --git a/mysql-test/t/read_only_innodb.test b/mysql-test/t/read_only_innodb.test index 76d9748aa60..f8c25fdee1d 100644 --- a/mysql-test/t/read_only_innodb.test +++ b/mysql-test/t/read_only_innodb.test @@ -41,3 +41,45 @@ set global read_only=0; drop table table_11733 ; drop user test@localhost; +disconnect con1; + +# +# Bug #35732: read-only blocks SELECT statements in InnoDB +# +# Test 1: read only mode +GRANT CREATE, SELECT, DROP ON *.* TO test@localhost; +connect(con1, localhost, test, , test); + +connection default; +CREATE TABLE t1(a INT) ENGINE=INNODB; +INSERT INTO t1 VALUES (0), (1); +SET GLOBAL read_only=1; + +connection con1; +SELECT * FROM t1; +BEGIN; +SELECT * FROM t1; +COMMIT; + +connection default; +SET GLOBAL read_only=0; + +# +# Test 2: global read lock +# +FLUSH TABLES WITH READ LOCK; + +connection con1; +SELECT * FROM t1; +BEGIN; +SELECT * FROM t1; +COMMIT; + +connection default; +UNLOCK TABLES; +DROP TABLE t1; +DROP USER test@localhost; + +disconnect con1; + +--echo echo End of 5.1 tests diff --git a/mysql-test/t/read_rnd_buffer_size_basic.test b/mysql-test/t/read_rnd_buffer_size_basic.test new file mode 100644 index 00000000000..e3d2a4b89f7 --- /dev/null +++ b/mysql-test/t/read_rnd_buffer_size_basic.test @@ -0,0 +1,209 @@ +############## mysql-test\t\read_rnd_buffer_size_basic.test ############### +# # +# Variable Name: read_rnd_buffer_size # +# Scope: GLOBAL | SESSION # +# Access Type: Dynamic # +# Data Type: numeric # +# Default Value:262144 # +# Range: 8200-4294967295 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Salman # +# # +# Description: Test Cases of Dynamic System Variable read_rnd_buffer_size # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + + +###################################################################### +# START OF read_rnd_buffer_size TESTS # +###################################################################### + + +############################################################# +# Save initial value # +############################################################# + +SET @start_global_value = @@global.read_rnd_buffer_size; +SELECT @start_global_value; +SET @start_session_value = @@session.read_rnd_buffer_size; +SELECT @start_session_value; + + +--echo '#--------------------FN_DYNVARS_140_01-------------------------#' +###################################################################### +# Display the DEFAULT value of read_rnd_buffer_size # +###################################################################### + +SET @@global.read_rnd_buffer_size = 1000; +SET @@global.read_rnd_buffer_size = DEFAULT; +SELECT @@global.read_rnd_buffer_size; + +SET @@session.read_rnd_buffer_size = 2000; +SET @@session.read_rnd_buffer_size = DEFAULT; +SELECT @@session.read_rnd_buffer_size; + + +--echo '#--------------------FN_DYNVARS_140_02-------------------------#' +###################################################################### +# Check the DEFAULT value of read_rnd_buffer_size # +###################################################################### + +SET @@global.read_rnd_buffer_size = DEFAULT; +SELECT @@global.read_rnd_buffer_size = 262144; + +SET @@session.read_rnd_buffer_size = DEFAULT; +SELECT @@session.read_rnd_buffer_size = 262144; +--echo 'Bug# 34876: This variable has invalid default value as compared to documentation'; + + +--echo '#--------------------FN_DYNVARS_140_03-------------------------#' +################################################################################ +# Change the value of read_rnd_buffer_size to a valid value for GLOBAL Scope # +################################################################################ + +SET @@global.read_rnd_buffer_size = 8201; +SELECT @@global.read_rnd_buffer_size= 8200 OR @@global.read_rnd_buffer_size= 8228; +SET @@global.read_rnd_buffer_size = 8200; +SELECT @@global.read_rnd_buffer_size= 8200 OR @@global.read_rnd_buffer_size= 8228; +SET @@global.read_rnd_buffer_size = 2147479552; +SELECT @@global.read_rnd_buffer_size; +SET @@global.read_rnd_buffer_size = 2147479551; +SELECT @@global.read_rnd_buffer_size; +--echo 'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; + + +--echo '#--------------------FN_DYNVARS_140_04-------------------------#' +################################################################################### +# Change the value of read_rnd_buffer_size to a valid value for SESSION Scope # +################################################################################### + +SET @@session.read_rnd_buffer_size = 8200; +SELECT @@session.read_rnd_buffer_size= 8200 OR @@session.read_rnd_buffer_size= 8228; +SET @@session.read_rnd_buffer_size = 8201; +SELECT @@session.read_rnd_buffer_size= 8200 OR @@session.read_rnd_buffer_size= 8228; +SET @@session.read_rnd_buffer_size = 2147479552; +SELECT @@session.read_rnd_buffer_size; +SET @@session.read_rnd_buffer_size = 2147479551; +SELECT @@session.read_rnd_buffer_size; + + +--echo '#------------------FN_DYNVARS_140_05-----------------------#' +################################################################## +# Change the value of read_rnd_buffer_size to an invalid value # +################################################################## + +SET @@global.read_rnd_buffer_size = 8199; +SELECT @@global.read_rnd_buffer_size= 8200 OR @@global.read_rnd_buffer_size= 8228; +SET @@global.read_rnd_buffer_size = -1024; +SELECT @@global.read_rnd_buffer_size= 8200 OR @@global.read_rnd_buffer_size= 8228; +SET @@global.read_rnd_buffer_size = 2147479553; +SELECT @@global.read_rnd_buffer_size; +--Error ER_PARSE_ERROR +SET @@global.read_rnd_buffer_size = 65530.34.; +SELECT @@global.read_rnd_buffer_size; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.read_rnd_buffer_size = test; +SELECT @@global.read_rnd_buffer_size; + +SET @@session.read_rnd_buffer_size = 8199; +SELECT @@session.read_rnd_buffer_size= 8200 OR @@session.read_rnd_buffer_size= 8228; +SET @@session.read_rnd_buffer_size = -2; +SELECT @@session.read_rnd_buffer_size= 8200 OR @@session.read_rnd_buffer_size= 8228; +--Error ER_PARSE_ERROR +SET @@session.read_rnd_buffer_size = 65530.34.; +SET @@session.read_rnd_buffer_size = 2147479553; +SELECT @@session.read_rnd_buffer_size; +--echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@session.read_rnd_buffer_size = test; +SELECT @@session.read_rnd_buffer_size; + + +--echo '#------------------FN_DYNVARS_140_06-----------------------#' +#################################################################### +# Check if the value in GLOBAL Table matches value in variable # +#################################################################### + + +SELECT @@global.read_rnd_buffer_size = VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='read_rnd_buffer_size'; + +--echo '#------------------FN_DYNVARS_140_07-----------------------#' +#################################################################### +# Check if the value in SESSION Table matches value in variable # +#################################################################### + +SELECT @@session.read_rnd_buffer_size = +VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='read_rnd_buffer_size'; + + +--echo '#------------------FN_DYNVARS_140_08-----------------------#' +#################################################################### +# Check if TRUE and FALSE values can be used on variable # +#################################################################### + +SET @@global.read_rnd_buffer_size = TRUE; +SELECT @@global.read_rnd_buffer_size= 8200 OR @@global.read_rnd_buffer_size= 8228; +SET @@global.read_rnd_buffer_size = FALSE; +SELECT @@global.read_rnd_buffer_size= 8200 OR @@global.read_rnd_buffer_size= 8228; + + +--echo '#---------------------FN_DYNVARS_140_09----------------------#' +#################################################################################### +# Check if accessing variable with and without GLOBAL point to same variable # +#################################################################################### + +SET @@global.read_rnd_buffer_size = 9000; +SELECT @@read_rnd_buffer_size = @@global.read_rnd_buffer_size; + + +--echo '#---------------------FN_DYNVARS_140_10----------------------#' +######################################################################################################## +# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable # +######################################################################################################## + +SET @@read_rnd_buffer_size = 9000; +SELECT @@read_rnd_buffer_size = @@local.read_rnd_buffer_size; +SELECT @@local.read_rnd_buffer_size = @@session.read_rnd_buffer_size; + + +--echo '#---------------------FN_DYNVARS_140_11----------------------#' +################################################################################### +# Check if read_rnd_buffer_size can be accessed with and without @@ sign # +################################################################################### + +SET read_rnd_buffer_size = 9100; +SELECT @@read_rnd_buffer_size= 8200 OR @@read_rnd_buffer_size= 8228; +--Error ER_UNKNOWN_TABLE +SELECT local.read_rnd_buffer_size; +--Error ER_UNKNOWN_TABLE +SELECT session.read_rnd_buffer_size; +--Error ER_BAD_FIELD_ERROR +SELECT read_rnd_buffer_size = @@session.read_rnd_buffer_size; + + +#################################### +# Restore initial value # +#################################### + +SET @@global.read_rnd_buffer_size = @start_global_value; +SELECT @@global.read_rnd_buffer_size; +SET @@session.read_rnd_buffer_size = @start_session_value; +SELECT @@session.read_rnd_buffer_size; + + +############################################################# +# END OF read_rnd_buffer_size TESTS # +############################################################# diff --git a/mysql-test/t/relay_log_purge_basic.test b/mysql-test/t/relay_log_purge_basic.test new file mode 100644 index 00000000000..7e4d6a51440 --- /dev/null +++ b/mysql-test/t/relay_log_purge_basic.test @@ -0,0 +1,164 @@ +############## mysql-test\t\relay_log_purge_basic.test ######################## +# # +# Variable Name: relay_log_purge # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: boolean # +# Default Value: TRUE # +# Range: # +# # +# # +# Creation Date: 2008-02-14 # +# Author: Salman # +# # +# Description: Test Cases of Dynamic System Variable relay_log_purge # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html#option_mysqld_relay_log_purge # +# # +############################################################################### + +--source include/not_embedded.inc +--source include/load_sysvars.inc + +##################################################################### +# START OF relay_log_purge TESTS # +##################################################################### + + +####################################################################### +# Saving initial value of relay_log_purge in a temporary variable # +####################################################################### + +SET @start_value = @@global.relay_log_purge; +SELECT @start_value; + + +--echo '#--------------------FN_DYNVARS_141_01------------------------#' +############################################################# +# Display the DEFAULT value of relay_log_purge # +############################################################# + +SET @@global.relay_log_purge = FALSE; +SET @@global.relay_log_purge = DEFAULT; +SELECT @@global.relay_log_purge; + + +--echo '#---------------------FN_DYNVARS_141_02-------------------------#' +############################################### +# Verify default value of variable # +############################################### + +SET @@global.relay_log_purge = @start_value; +SELECT @@global.relay_log_purge = TRUE; + + +--echo '#--------------------FN_DYNVARS_141_03------------------------#' +############################################################# +# Change the value of relay_log_purge to a valid value # +############################################################# + +SET @@global.relay_log_purge = ON; +SELECT @@global.relay_log_purge; +SET @@global.relay_log_purge = OFF; +SELECT @@global.relay_log_purge; +SET @@global.relay_log_purge = 0; +SELECT @@global.relay_log_purge; +SET @@global.relay_log_purge = 1; +SELECT @@global.relay_log_purge; +SET @@global.relay_log_purge = TRUE; +SELECT @@global.relay_log_purge; +SET @@global.relay_log_purge = FALSE; +SELECT @@global.relay_log_purge; + +--echo '#--------------------FN_DYNVARS_141_04-------------------------#' +########################################################################### +# Change the value of relay_log_purge to invalid value # +########################################################################### + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.relay_log_purge = 2; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.relay_log_purge = -1; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.relay_log_purge = TRUEF; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.relay_log_purge = TRUE_F; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.relay_log_purge = FALSE0; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.relay_log_purge = OON; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.relay_log_purge = ONN; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.relay_log_purge = OOFF; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.relay_log_purge = 0FF; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.relay_log_purge = ' '; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.relay_log_purge = " "; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.relay_log_purge = ''; + + +--echo '#-------------------FN_DYNVARS_141_05----------------------------#' +########################################################################### +# Test if accessing session relay_log_purge gives error # +########################################################################### + +--Error ER_GLOBAL_VARIABLE +SET @@session.relay_log_purge = 1; +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.relay_log_purge; + + +--echo '#----------------------FN_DYNVARS_141_06------------------------#' +##################################################################### +# Check if the value in GLOBAL Tables matches values in variable # +##################################################################### + +SELECT @@global.relay_log_purge = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='relay_log_purge'; + +--echo '#---------------------FN_DYNVARS_141_07----------------------#' +############################################################################### +# Check if accessing variable without SCOPE points to same session variable # +############################################################################### + +SET @@global.relay_log_purge = 1; +SELECT @@relay_log_purge = @@global.relay_log_purge; + + +--echo '#---------------------FN_DYNVARS_141_08----------------------#' +########################################################################## +# Check if relay_log_purge can be accessed with and without @@ sign # +########################################################################## + +--Error ER_GLOBAL_VARIABLE +SET relay_log_purge = 1; +--Error ER_PARSE_ERROR +SET global.relay_log_purge = 1; +--Error ER_UNKNOWN_TABLE +SELECT global.relay_log_purge; +--Error ER_BAD_FIELD_ERROR +SELECT relay_log_purge = @@session.relay_log_purge; + + +############################## +# Restore initial value # +############################## + +SET @@global.relay_log_purge = @start_value; +SELECT @@global.relay_log_purge; + + +############################################################# +# END OF relay_log_purge TESTS # +############################################################# diff --git a/mysql-test/t/repair.test b/mysql-test/t/repair.test index 84614798832..eb2ca7992a6 100644 --- a/mysql-test/t/repair.test +++ b/mysql-test/t/repair.test @@ -114,6 +114,37 @@ SET myisam_sort_buffer_size=@@global.myisam_sort_buffer_size; DROP TABLE t1; --echo End of 4.1 tests + +# +# BUG#36055 - mysql_upgrade doesn't really 'upgrade' tables +# + +--echo # Test with a saved table from 4.1 +let $MYSQLD_DATADIR= `select @@datadir`; +--copy_file std_data/bug36055.frm $MYSQLD_DATADIR/test/t1.frm +--copy_file std_data/bug36055.MYD $MYSQLD_DATADIR/test/t1.MYD +--copy_file std_data/bug36055.MYI $MYSQLD_DATADIR/test/t1.MYI + +--replace_column 12 # 13 # +SHOW TABLE STATUS LIKE 't1'; +SELECT * FROM t1; + +--echo # Run CHECK TABLE, it should indicate table need a REPAIR TABLE +CHECK TABLE t1 FOR UPGRADE; + +--echo # REPAIR old table USE_FRM should fail +REPAIR TABLE t1 USE_FRM; + +--echo # Run REPAIR TABLE to upgrade .frm file +REPAIR TABLE t1; +--replace_column 12 # 13 # +SHOW TABLE STATUS LIKE 't1'; +SELECT * FROM t1; + +REPAIR TABLE t1 USE_FRM; +SELECT * FROM t1; + +DROP TABLE t1; # End of 5.0 tests # diff --git a/mysql-test/t/rpl_init_slave_func-slave.opt b/mysql-test/t/rpl_init_slave_func-slave.opt new file mode 100644 index 00000000000..337e8a60d97 --- /dev/null +++ b/mysql-test/t/rpl_init_slave_func-slave.opt @@ -0,0 +1 @@ +--init-slave="set global max_connections=500" diff --git a/mysql-test/t/rpl_init_slave_func.test b/mysql-test/t/rpl_init_slave_func.test new file mode 100644 index 00000000000..b3d647f4394 --- /dev/null +++ b/mysql-test/t/rpl_init_slave_func.test @@ -0,0 +1,96 @@ +###################### mysql-test\t\init_slave_func.test ##################### +# # +# Variable Name: init_slave # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: string # +# Default Value: # +# Range: # +# # +# # +# Creation Date: 2008-03-08 # +# Author: Rizwan # +# # +# Description: Test Cases of Dynamic System Variable init_slave # +# that checks the behavior of this variable # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +source include/master-slave.inc; + +--echo '#--------------------FN_DYNVARS_037_01-------------------------#' +################################################################## +# Check if setting init_slave is changed in every new connection # +################################################################## + +SET @@global.init_slave = "SET @a = 10"; + +--echo 'connect (con1,localhost,root,,)' +connect (con1,localhost,root,,); +--echo 'connection con1' +connection con1; +SELECT @@global.init_slave; +disconnect con1; +--echo 'connection master' +connection master; + +--echo '#--------------------FN_DYNVARS_037_02-------------------------#' +#################################################### +# Begin the functionality Testing of init_slave # +#################################################### + +#==================================================== +--echo 'check if value in slave opt file is executed' +#==================================================== +save_master_pos; +--echo 'connection slave' +connection slave; +sleep 1; +show variables like 'init_slave'; +show variables like 'max_connections'; +sync_with_master; +reset master; + +#=============================================================== +--echo 'check if value in slave opt file doesnt apply to master' +#=============================================================== + +--echo 'connection master' +connection master; +show variables like 'init_slave'; +show variables like 'max_connections'; +save_master_pos; +--echo 'connection slave' +connection slave; +sync_with_master; + +#======================================================= +--echo 'try creating a temporary variable in init_slave' +#======================================================= + +SET @@global.init_slave = "SET @a=5"; + +stop slave; +--wait_for_slave_to_stop +reset slave; +# Clean up old test tables +--disable_warnings +drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; +--enable_warnings +start slave; + +SHOW VARIABLES LIKE 'init_slave'; +SELECT @a; + +--echo 'Bug#35365 SET statement in init_slave not execute if slave is restarted' + +# Restore value +set global max_connections= default; + +################################################## +# End of functionality Testing for init_slave # +################################################## + diff --git a/mysql-test/t/rpl_max_binlog_size_func-master.opt b/mysql-test/t/rpl_max_binlog_size_func-master.opt new file mode 100644 index 00000000000..bff213dfb0b --- /dev/null +++ b/mysql-test/t/rpl_max_binlog_size_func-master.opt @@ -0,0 +1,2 @@ +--log --log-bin=mylog.log + diff --git a/mysql-test/t/rpl_max_binlog_size_func.test b/mysql-test/t/rpl_max_binlog_size_func.test new file mode 100644 index 00000000000..c00db582deb --- /dev/null +++ b/mysql-test/t/rpl_max_binlog_size_func.test @@ -0,0 +1,44 @@ +source include/have_log_bin.inc; + +############################################################################### +# Begin the functionality testing of max_binlog_size # +############################################################################### +--disable_warnings +DROP TABLE IF EXISTS t1; +--enable_warnings + + +#============================================================== +--echo '--- check if log file is rotated after 4096 bytes ----' +#============================================================== + +SET @saved_max_binlog_size= @@global.max_binlog_size; +SET @@global.max_binlog_size = 4096; +CREATE TABLE t1(a CHAR(5)); + +# around 50 records are required to rotate bin log +let $a = 50; +--disable_query_log +while ($a){ +INSERT INTO t1 VALUES ('mysql'); +dec $a; +} +--enable_query_log + +--sleep 2 + +# if log file is not created then this will fail +let $MYSQLD_DATADIR=`select @@datadir`; +--replace_result $MYSQLD_DATADIR MYSQLD_DATADIR +--file_exists $MYSQLD_DATADIR/mylog.000002 + +--echo 'mylog.000002 exists' + +SET @@global.max_binlog_size= @saved_max_binlog_size; + +DROP TABLE t1; + +############################################################################### +# End of functionality testing for max_binlog_size # +############################################################################### + diff --git a/mysql-test/t/rpl_recovery_rank_basic_32.test b/mysql-test/t/rpl_recovery_rank_basic_32.test new file mode 100644 index 00000000000..d35878e153c --- /dev/null +++ b/mysql-test/t/rpl_recovery_rank_basic_32.test @@ -0,0 +1,9 @@ +################################################################################ +# Created by Horst Hunger 2008-05-07 # +# # +# Wrapper for 32 bit machines # +################################################################################ + +--source include/have_32bit.inc +--source include/rpl_recovery_rank_basic.inc + diff --git a/mysql-test/t/rpl_recovery_rank_basic_64.test b/mysql-test/t/rpl_recovery_rank_basic_64.test new file mode 100644 index 00000000000..6fe04f26442 --- /dev/null +++ b/mysql-test/t/rpl_recovery_rank_basic_64.test @@ -0,0 +1,9 @@ +################################################################################ +# Created by Horst Hunger 2008-05-07 # +# # +# Wrapper for 64 bit machines # +################################################################################ + +--source include/have_64bit.inc +--source include/rpl_recovery_rank_basic.inc + diff --git a/mysql-test/t/secure_auth_basic.test b/mysql-test/t/secure_auth_basic.test new file mode 100644 index 00000000000..b52f219097b --- /dev/null +++ b/mysql-test/t/secure_auth_basic.test @@ -0,0 +1,170 @@ +################ mysql-test\t\secure_auth_basic.test ########################## +# # +# Variable Name: secure_auth # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: boolean # +# Default Value: FALSE # +# Valid Values: TRUE, FALSE # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Rizwan # +# # +# Description: Test Cases of Dynamic System Variable secure_auth # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + +######################################################################## +# START OF secure_auth TESTS # +######################################################################## + + +############################################################################### +# Saving initial value of secure_auth in a temporary variable # +############################################################################### + +SET @global_start_value = @@global.secure_auth; +SELECT @global_start_value; + +--echo '#--------------------FN_DYNVARS_143_01------------------------#' +######################################################################## +# Display the DEFAULT value of secure_auth # +######################################################################## + +SET @@global.secure_auth = 1; +SET @@global.secure_auth = DEFAULT; +SELECT @@global.secure_auth; + +--echo '#---------------------FN_DYNVARS_143_02-------------------------#' +############################################################################# +# Check if secure_auth can be accessed with and without @@ sign # +############################################################################# + +--Error ER_GLOBAL_VARIABLE +SET secure_auth = 1; +SELECT @@secure_auth; +--Error ER_UNKNOWN_TABLE +SELECT global.secure_auth; + +SET global secure_auth = 1; +SELECT @@global.secure_auth; + + +--echo '#--------------------FN_DYNVARS_143_03------------------------#' +######################################################################## +# Change the value of secure_auth to a valid value # +######################################################################## + +SET @@global.secure_auth = 0; +SELECT @@global.secure_auth; +SET @@global.secure_auth = 1; +SELECT @@global.secure_auth; + + +--echo '#--------------------FN_DYNVARS_143_04-------------------------#' +########################################################################### +# Change the value of secure_auth to invalid value # +########################################################################### + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.secure_auth = -1; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.secure_auth = 2; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.secure_auth = "T"; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.secure_auth = "Y"; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.secure_auth = YES; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.secure_auth = ONN; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.secure_auth = OOF; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.secure_auth = 0FF; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.secure_auth = ' 1'; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.secure_auth = NO; + + +--echo '#-------------------FN_DYNVARS_143_05----------------------------#' +########################################################################### +# Test if accessing session secure_auth gives error # +########################################################################### + +--Error ER_GLOBAL_VARIABLE +SET @@session.secure_auth = 0; +--Error ER_GLOBAL_VARIABLE +SET @@secure_auth = 0; +--Error ER_GLOBAL_VARIABLE +SET @@local.secure_auth = 0; +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.secure_auth; +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@local.secure_auth; + +--echo '#----------------------FN_DYNVARS_143_06------------------------#' +######################################################################### +# Check if the value in SESSION Table contains variable value # +######################################################################### + +SELECT count(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='secure_auth'; + + +--echo '#----------------------FN_DYNVARS_143_07------------------------#' +######################################################################## +# Check if the value in GLOBAL Table matches value in variable # +######################################################################## + +SELECT @@global.secure_auth = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='secure_auth'; +SELECT @@global.secure_auth; +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='secure_auth'; + +--echo '#---------------------FN_DYNVARS_143_08-------------------------#' +################################################################### +# Check if ON and OFF values can be used on variable # +################################################################### + +SET @@global.secure_auth = OFF; +SELECT @@global.secure_auth; +SET @@global.secure_auth = ON; +SELECT @@global.secure_auth; + +--echo '#---------------------FN_DYNVARS_143_09----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +SET @@global.secure_auth = TRUE; +SELECT @@global.secure_auth; +SET @@global.secure_auth = FALSE; +SELECT @@global.secure_auth; + +############################## +# Restore initial value # +############################## + +SET @@global.secure_auth = @global_start_value; +SELECT @@global.secure_auth; + +############################################################### +# END OF secure_auth TESTS # +############################################################### diff --git a/mysql-test/t/secure_auth_func-master.opt b/mysql-test/t/secure_auth_func-master.opt new file mode 100644 index 00000000000..38ba956df15 --- /dev/null +++ b/mysql-test/t/secure_auth_func-master.opt @@ -0,0 +1,2 @@ +--secure-auth + diff --git a/mysql-test/t/secure_auth_func.test b/mysql-test/t/secure_auth_func.test new file mode 100644 index 00000000000..10dc383035d --- /dev/null +++ b/mysql-test/t/secure_auth_func.test @@ -0,0 +1,132 @@ +############# mysql-test\t\secure_auth_func.test ########################## +# # +# Variable Name: secure_auth # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: boolean # +# Default Value: FALSE # +# Values: TRUE / 1, FALSE / 0 # +# # +# # +# Creation Date: 2008-02-22 # +# Author: Sharique Abdullah # +# # +# Description: Test Cases of Dynamic System Variable "secure_auth " # +# that checks behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Cache behaviors # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html#option_mysqld_secure_auth # +# # +########################################################################### + +--echo ** Setup ** +--echo +# +# Setup +# + +--source include/not_embedded.inc + +# +# Save initial value +# + +SET @old_secure_auth = @@GLOBAL.secure_auth; + +--echo '#--------------------FN_DYNVARS_144_01-------------------------#' +# +# Testing command line option value +# + +SELECT @@GLOBAL.secure_auth; +--echo 1 / ON Expected + +--echo '#--------------------FN_DYNVARS_144_02-------------------------#' +# +# Value OFF +# +SET GLOBAL secure_auth = OFF; + +# +# Creating user with password in NEW format +# +CREATE USER 'testUser'@'localhost' IDENTIFIED BY 'newpass'; + +--echo ** Connecting con_user1 using testUser ** +connect (con_user1,localhost,testUser,newpass,); + +--echo ** Connection default** +connection default; + +# +# Setting password in OLD format +# +SET PASSWORD FOR 'testUser'@'localhost' = OLD_PASSWORD('newpass'); + +--echo ** Connecting con_user2 using testUser ** +connect (con_user2,localhost,testUser,newpass,); + +--echo ** Connection default** +connection default; + +--echo '#--------------------FN_DYNVARS_144_03-------------------------#' +# +# Value ON +# +SET GLOBAL secure_auth = ON; + +# +# Setting password in NEW format +# +SET PASSWORD FOR 'testUser'@'localhost' = PASSWORD('newpass'); + +--echo ** Connecting con_user3 using testUser ** +connect (con_user3,localhost,testUser,newpass,); +--echo ** Connection default ** +connection default; + +# +# Setting password in OLD format +# +SET PASSWORD FOR 'testUser'@'localhost' = OLD_PASSWORD('newpass'); + +--echo ** Connecting con_user4 using testUser ** +--disable_query_log +--error ER_SERVER_IS_IN_SECURE_AUTH_MODE +connect (con_user4,localhost,testUser,newpass,); +--enable_query_log +--echo Expected error "Server is in secure auth mode" + +--echo ** Connection default** +connection default; + +# +# Setting password back in NEW format +# +SET PASSWORD FOR 'testUser'@'localhost' = PASSWORD('newpass'); + +--echo ** Connecting con_user4 using testUser ** +connect (con_user4,localhost,testUser,newpass,); + +--echo ** Connection default ** +connection default; + +# +# Cleanup +# + +SET GLOBAL secure_auth = @old_secure_auth; + +--echo Disconnecting Connections con_user1, con_user2, con_user3, con_user4 +disconnect con_user1; +disconnect con_user2; +disconnect con_user3; +disconnect con_user4; + +REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'testUser'@'localhost'; + +DROP USER 'testUser'@'localhost'; diff --git a/mysql-test/t/server_id_basic_32.test b/mysql-test/t/server_id_basic_32.test new file mode 100644 index 00000000000..b7c4c603803 --- /dev/null +++ b/mysql-test/t/server_id_basic_32.test @@ -0,0 +1,9 @@ +################################################################################ +# Created by Horst Hunger 2008-05-07 # +# # +# Wrapper for 32 bit machines # +################################################################################ + +--source include/have_32bit.inc +--source include/server_id_basic.inc + diff --git a/mysql-test/t/server_id_basic_64.test b/mysql-test/t/server_id_basic_64.test new file mode 100644 index 00000000000..67653e0503e --- /dev/null +++ b/mysql-test/t/server_id_basic_64.test @@ -0,0 +1,9 @@ +################################################################################ +# Created by Horst Hunger 2008-05-07 # +# # +# Wrapper for 64 bit machines # +################################################################################ + +--source include/have_64bit.inc +--source include/server_id_basic.inc + diff --git a/mysql-test/t/slave_allow_batching_basic.test b/mysql-test/t/slave_allow_batching_basic.test new file mode 100644 index 00000000000..cf31917933a --- /dev/null +++ b/mysql-test/t/slave_allow_batching_basic.test @@ -0,0 +1,167 @@ +############## mysql-test\t\slave_allow_batching_basic.test #################### +# # +# Variable Name: slave_allow_batching # +# Scope: GLOBAL & SESSION # +# Access Type: Dynamic # +# Data Type: Numeric # +# Default Value: 1 # +# Range: 1 - 65536 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Rizwan Maredia # +# # +# Description: Test Cases of Dynamic System Variable slave_allow_batching # +# that checks the behavior of this variable in the following ways # +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +################################################################################ + +--source include/load_sysvars.inc + +######################################################################## +# START OF slave_allow_batching TESTS # +######################################################################## + + +################################################################################ +# Saving initial value of slave_allow_batching in a temporary variable # +################################################################################ + +--Error ER_UNKNOWN_SYSTEM_VARIABLE +SET @global_start_value = @@global.slave_allow_batching; + +--echo 'Bug: This variable is not supported in mysql version 5.1.22' + +--echo '#--------------------FN_DYNVARS_145_01------------------------#' +######################################################################## +# Display the DEFAULT value of slave_allow_batching # +######################################################################## + +#SET @@global.slave_allow_batching = 1; +#SET @@global.slave_allow_batching = DEFAULT; +#SELECT @@global.slave_allow_batching; + +--echo '#---------------------FN_DYNVARS_145_02-------------------------#' +############################################################################# +# Check if slave_allow_batching can be accessed with and without @@ sign # +############################################################################# + +#--Error ER_GLOBAL_VARIABLE +#SET slave_allow_batching = 1; +#SELECT @@slave_allow_batching; +#--Error ER_UNKNOWN_TABLE +#SELECT global.slave_allow_batching; +# +#SET global slave_allow_batching = 1; +#SELECT @@global.slave_allow_batching; + + +--echo '#--------------------FN_DYNVARS_145_03------------------------#' +######################################################################## +# Change the value of slave_allow_batching to a valid value # +######################################################################## + +#SET @@global.slave_allow_batching = 0; +#SELECT @@global.slave_allow_batching; +#SET @@global.slave_allow_batching = 1; +#SELECT @@global.slave_allow_batching; + + +--echo '#--------------------FN_DYNVARS_145_04-------------------------#' +########################################################################### +# Change the value of slave_allow_batching to invalid value # +########################################################################### + +#--Error ER_WRONG_VALUE_FOR_VAR +#SET @@global.slave_allow_batching = -1; +#--Error ER_WRONG_VALUE_FOR_VAR +#SET @@global.slave_allow_batching = 2; +#--Error ER_WRONG_VALUE_FOR_VAR +#SET @@global.slave_allow_batching = "T"; +#--Error ER_WRONG_VALUE_FOR_VAR +#SET @@global.slave_allow_batching = "Y"; +#--Error ER_WRONG_VALUE_FOR_VAR +#SET @@global.slave_allow_batching = YES; +#--Error ER_WRONG_VALUE_FOR_VAR +#SET @@global.slave_allow_batching = ONN; +#--Error ER_WRONG_VALUE_FOR_VAR +#SET @@global.slave_allow_batching = OOF; +#--Error ER_WRONG_VALUE_FOR_VAR +#SET @@global.slave_allow_batching = 0FF; +#--Error ER_WRONG_VALUE_FOR_VAR +#SET @@global.slave_allow_batching = ' 1'; +#--Error ER_WRONG_VALUE_FOR_VAR +#SET @@global.slave_allow_batching = NO; + + +--echo '#-------------------FN_DYNVARS_145_05----------------------------#' +########################################################################### +# Test if accessing session slave_allow_batching gives error # +########################################################################### + +#--Error ER_GLOBAL_VARIABLE +#SET @@session.slave_allow_batching = 0; +#--Error ER_GLOBAL_VARIABLE +#SET @@slave_allow_batching = 0; +#--Error ER_GLOBAL_VARIABLE +#SET @@local.slave_allow_batching = 0; +#--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +#SELECT @@session.slave_allow_batching; +#--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +#SELECT @@local.slave_allow_batching; + +--echo '#----------------------FN_DYNVARS_145_06------------------------#' +######################################################################### +# Check if the value in SESSION Table contains variable value # +######################################################################### + +#SELECT count(VARIABLE_VALUE) FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='slave_allow_batching'; + + +--echo '#----------------------FN_DYNVARS_145_07------------------------#' +######################################################################### +# Check if the value in GLOBAL Table matches value in variable # +######################################################################### + +#SELECT @@global.slave_allow_batching = VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='slave_allow_batching'; +#SELECT @@global.slave_allow_batching; +#SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='slave_allow_batching'; +#--echo 'Bug: value in information schema does not match' + +--echo '#---------------------FN_DYNVARS_145_08-------------------------#' +################################################################### +# Check if ON and OFF values can be used on variable # +################################################################### + +#SET @@global.slave_allow_batching = OFF; +#SELECT @@global.slave_allow_batching; +#SET @@global.slave_allow_batching = ON; +#SELECT @@global.slave_allow_batching; + +--echo '#---------------------FN_DYNVARS_145_09----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +#SET @@global.slave_allow_batching = TRUE; +#SELECT @@global.slave_allow_batching; +#SET @@global.slave_allow_batching = FALSE; +#SELECT @@global.slave_allow_batching; + +############################## +# Restore initial value # +############################## + +#SET @@global.slave_allow_batching = @global_start_value; +#SELECT @@global.slave_allow_batching; + +############################################################### +# END OF slave_allow_batching TESTS # +############################################################### diff --git a/mysql-test/t/slave_compressed_protocol_basic.test b/mysql-test/t/slave_compressed_protocol_basic.test new file mode 100644 index 00000000000..29a3227a8f5 --- /dev/null +++ b/mysql-test/t/slave_compressed_protocol_basic.test @@ -0,0 +1,167 @@ +############# mysql-test\t\slave_compressed_protocol_basic.test ############### +# # +# Variable Name: slave_compressed_protocol # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: boolean # +# Default Value: FALSE # +# Range: TRUE, FALSE # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Rizwan # +# # +# Description: Test Cases of Dynamic System Variable slave_compressed_protocol# +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/not_embedded.inc +--source include/load_sysvars.inc +######################################################################## +# START OF slave_compressed_protocol TESTS # +######################################################################## + + +############################################################################## +# Saving initial value of slave_compressed_protocol in a temporary variable # +############################################################################## + +SET @global_start_value = @@global.slave_compressed_protocol; +SELECT @global_start_value; + +--echo '#--------------------FN_DYNVARS_147_01------------------------#' +######################################################################## +# Display the DEFAULT value of slave_compressed_protocol # +######################################################################## + +SET @@global.slave_compressed_protocol = 1; +SET @@global.slave_compressed_protocol = DEFAULT; +SELECT @@global.slave_compressed_protocol; + +--echo '#---------------------FN_DYNVARS_147_02-------------------------#' +############################################################################### +# Check if slave_compressed_protocol can be accessed with and without @@ sign # +############################################################################### + +--Error ER_GLOBAL_VARIABLE +SET slave_compressed_protocol = 1; +SELECT @@slave_compressed_protocol; +--Error ER_UNKNOWN_TABLE +SELECT global.slave_compressed_protocol; + +SET global slave_compressed_protocol = 1; +SELECT @@global.slave_compressed_protocol; + + +--echo '#--------------------FN_DYNVARS_147_03------------------------#' +######################################################################## +# Change the value of slave_compressed_protocol to a valid value # +######################################################################## + +SET @@global.slave_compressed_protocol = 0; +SELECT @@global.slave_compressed_protocol; +SET @@global.slave_compressed_protocol = 1; +SELECT @@global.slave_compressed_protocol; + + +--echo '#--------------------FN_DYNVARS_147_04-------------------------#' +########################################################################### +# Change the value of slave_compressed_protocol to invalid value # +########################################################################### + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.slave_compressed_protocol = -1; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.slave_compressed_protocol = 2; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.slave_compressed_protocol = "1.00"; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.slave_compressed_protocol = "Y"; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.slave_compressed_protocol = YES; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.slave_compressed_protocol = ONN; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.slave_compressed_protocol = 0FF; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.slave_compressed_protocol = ' 1'; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.slave_compressed_protocol = NO; + + +--echo '#-------------------FN_DYNVARS_147_05----------------------------#' +########################################################################### +# Test if accessing session slave_compressed_protocol gives error # +########################################################################### + +--Error ER_GLOBAL_VARIABLE +SET @@session.slave_compressed_protocol = 0; +--Error ER_GLOBAL_VARIABLE +SET @@slave_compressed_protocol = 0; +--Error ER_GLOBAL_VARIABLE +SET @@local.slave_compressed_protocol = 0; +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.slave_compressed_protocol; +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@local.slave_compressed_protocol; + +--echo '#----------------------FN_DYNVARS_147_06------------------------#' +######################################################################### +# Check if the value in SESSION Table contains variable value # +######################################################################### + +SELECT count(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='slave_compressed_protocol'; + +--echo '#----------------------FN_DYNVARS_147_07------------------------#' +######################################################################### +# Check if the value in GLOBAL Table matches value in variable # +######################################################################### + +SELECT @@global.slave_compressed_protocol = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='slave_compressed_protocol'; +SELECT @@global.slave_compressed_protocol; +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='slave_compressed_protocol'; + +--echo '#---------------------FN_DYNVARS_147_08-------------------------#' +################################################################### +# Check if ON and OFF values can be used on variable # +################################################################### + +SET @@global.slave_compressed_protocol = OFF; +SELECT @@global.slave_compressed_protocol; +SET @@global.slave_compressed_protocol = ON; +SELECT @@global.slave_compressed_protocol; + +--echo '#---------------------FN_DYNVARS_147_09----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +SET @@global.slave_compressed_protocol = TRUE; +SELECT @@global.slave_compressed_protocol; +SET @@global.slave_compressed_protocol = FALSE; +SELECT @@global.slave_compressed_protocol; + +############################## +# Restore initial value # +############################## + +SET @@global.slave_compressed_protocol = @global_start_value; +SELECT @@global.slave_compressed_protocol; + +############################################################### +# END OF slave_compressed_protocol TESTS # +############################################################### diff --git a/mysql-test/t/slave_exec_mode_basic.test b/mysql-test/t/slave_exec_mode_basic.test new file mode 100644 index 00000000000..5c5b4e7da1b --- /dev/null +++ b/mysql-test/t/slave_exec_mode_basic.test @@ -0,0 +1,41 @@ +############## mysql-test\t\slave_exec_mode_basic.test ######################### +# # +# Variable Name: slave_exec_mode # +# Scope: GLOBAL & SESSION # +# Access Type: Dynamic # +# Data Type: Numeric # +# Default Value: 1 # +# Range: 1 - 65536 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Rizwan Maredia # +# # +# Description: Test Cases of Dynamic System Variable slave_exec_mode # +# that checks the behavior of this variable in the following ways # +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +################################################################################ + +--source include/load_sysvars.inc + +######################################################################## +# START OF slave_exec_mode TESTS # +######################################################################## + + +######################################################################## +# Saving initial value of slave_exec_mode in a temporary variable # +######################################################################## +SET @start_value = @@global.slave_exec_mode; +--echo 'This variable is not supported in version 5.1.22. It is introduced in 5.1.24' + +######################################################################## +# END OF slave_exec_mode TESTS # +######################################################################## diff --git a/mysql-test/t/slave_net_timeout_basic.test b/mysql-test/t/slave_net_timeout_basic.test new file mode 100644 index 00000000000..5662eec3957 --- /dev/null +++ b/mysql-test/t/slave_net_timeout_basic.test @@ -0,0 +1,187 @@ +################## mysql-test\t\slave_net_timeout_basic.test ################## +# # +# Variable Name: slave_net_timeout # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: numeric # +# Default Value: 3600 # +# Range: # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Rizwan # +# # +# Description: Test Cases of Dynamic System Variable slave_net_timeout # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/not_embedded.inc +--source include/load_sysvars.inc +########################################################### +# START OF slave_net_timeout TESTS # +########################################################### + + +############################################################# +# Save initial value # +############################################################# + +SET @start_global_value = @@global.slave_net_timeout; +SELECT @start_global_value; + +--echo '#--------------------FN_DYNVARS_146_01-------------------------#' +########################################################### +# Display the DEFAULT value of slave_net_timeout # +########################################################### + +SET @@global.slave_net_timeout = 500000; +SET @@global.slave_net_timeout = DEFAULT; +SELECT @@global.slave_net_timeout; + +--echo '#--------------------FN_DYNVARS_146_02-------------------------#' +############################################################ +# Check the DEFAULT value of slave_net_timeout # +############################################################ + +SET @@global.slave_net_timeout = DEFAULT; +SELECT @@global.slave_net_timeout = 3600; + +--echo '#--------------------FN_DYNVARS_146_03-------------------------#' +########################################################################### +# Change the value of slave_net_timeout to a valid value for GLOBAL Scope # +########################################################################### + +SET @@global.slave_net_timeout = 0; +SELECT @@global.slave_net_timeout; +SET @@global.slave_net_timeout = 1; +SELECT @@global.slave_net_timeout; +SET @@global.slave_net_timeout = 15; +SELECT @@global.slave_net_timeout; +SET @@global.slave_net_timeout = 1024; +SELECT @@global.slave_net_timeout; +SET @@global.slave_net_timeout = 3600+1; +SELECT @@global.slave_net_timeout; +SET @@global.slave_net_timeout = 2147483648; +SELECT @@global.slave_net_timeout; +SET @@global.slave_net_timeout = 2147483648*2-1; +SELECT @@global.slave_net_timeout; + + +--echo '#--------------------FN_DYNVARS_146_04-------------------------#' +############################################################################### +# Check if variable can be access with session scope # +############################################################################### + +--Error ER_GLOBAL_VARIABLE +SET @@slave_net_timeout = 2; + +--Error ER_GLOBAL_VARIABLE +SET @@session.slave_net_timeout = 3; + +--Error ER_GLOBAL_VARIABLE +SET @@local.slave_net_timeout = 4; + + + +--echo '#------------------FN_DYNVARS_146_05-----------------------#' +############################################################# +# Change the value of slave_net_timeout to an invalid value # +############################################################# + +SET @@global.slave_net_timeout = -1; +SELECT @@global.slave_net_timeout; + +SET @@global.slave_net_timeout = -2147483648; +SELECT @@global.slave_net_timeout; + +SET @@global.slave_net_timeout = 2147483649*2; +SELECT @@global.slave_net_timeout; + +--Error ER_PARSE_ERROR +SET @@global.slave_net_timeout = 65530.34.; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.slave_net_timeout = 100s; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.slave_net_timeout = 7483649.56; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.slave_net_timeout = 0.6; + +--echo 'Bug# 34877: Invalid Values are coming in variable on assigning valid values'; + + +--echo '#------------------FN_DYNVARS_146_06-----------------------#' +#################################################################### +# Check if the value in GLOBAL Table matches value in variable # +#################################################################### + +SET @@global.slave_net_timeout = 3000; +SELECT @@global.slave_net_timeout = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='slave_net_timeout'; + + +--echo '#------------------FN_DYNVARS_146_07-----------------------#' +########################################################################### +# Check if the value is present in INFORMATION_SCHEMA.SESSION_VARIABLES # +########################################################################### + +SELECT count(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='slave_net_timeout'; + + +--echo '#------------------FN_DYNVARS_146_08-----------------------#' +#################################################################### +# Check if TRUE and FALSE values can be used on variable # +#################################################################### + +SET @@global.slave_net_timeout = TRUE; +SELECT @@global.slave_net_timeout; +SET @@global.slave_net_timeout = FALSE; +SELECT @@global.slave_net_timeout; + + +--echo '#---------------------FN_DYNVARS_001_09----------------------#' +############################################################################### +# Check if accessing variable with and without GLOBAL point to same variable # +############################################################################### + + +SET @@global.slave_net_timeout = 60*60; +SELECT @@slave_net_timeout = @@global.slave_net_timeout; + + +--echo '#---------------------FN_DYNVARS_001_10----------------------#' +########################################################################## +# Check if slave_net_timeout can be accessed without @@ sign and scope # +########################################################################## + +--Error ER_GLOBAL_VARIABLE +SET slave_net_timeout = 2048; +--Error ER_BAD_FIELD_ERROR +SELECT slave_net_timeout; + +SELECT @@slave_net_timeout; + +#verifying another another syntax for setting value +SET global slave_net_timeout = 99; + +#################################### +# Restore initial value # +#################################### + +SET @@global.slave_net_timeout = @start_global_value; +SELECT @@global.slave_net_timeout; + +################################################ +# END OF slave_net_timeout TESTS # +################################################ + diff --git a/mysql-test/t/slave_transaction_retries_basic_32.test b/mysql-test/t/slave_transaction_retries_basic_32.test new file mode 100644 index 00000000000..c19297ba72f --- /dev/null +++ b/mysql-test/t/slave_transaction_retries_basic_32.test @@ -0,0 +1,9 @@ +################################################################################ +# Created by Horst Hunger 2008-05-07 # +# # +# Wrapper for 32 bit machines # +################################################################################ + +--source include/have_32bit.inc +--source include/slave_transaction_retries_basic.inc + diff --git a/mysql-test/t/slave_transaction_retries_basic_64.test b/mysql-test/t/slave_transaction_retries_basic_64.test new file mode 100644 index 00000000000..e07f96edf3f --- /dev/null +++ b/mysql-test/t/slave_transaction_retries_basic_64.test @@ -0,0 +1,9 @@ +################################################################################ +# Created by Horst Hunger 2008-05-07 # +# # +# Wrapper for 64 bit machines # +################################################################################ + +--source include/have_64bit.inc +--source include/slave_transaction_retries_basic.inc + diff --git a/mysql-test/t/slow_launch_time_basic.test b/mysql-test/t/slow_launch_time_basic.test new file mode 100644 index 00000000000..6289a91abb3 --- /dev/null +++ b/mysql-test/t/slow_launch_time_basic.test @@ -0,0 +1,177 @@ +############## mysql-test\t\slow_launch_time_basic.test ############### +# # +# Variable Name: slow_launch_time # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: numeric # +# Default Value: 2 # +# Range: - # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Salman # +# # +# Description: Test Cases of Dynamic System Variable slow_launch_time # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc +######################################################################## +# START OF slow_launch_time TESTS # +######################################################################## + + +######################################################################## +# Saving initial value of slow_launch_time in a temporary variable # +######################################################################## + +SET @start_value = @@global.slow_launch_time; +SELECT @start_value; + + +--echo '#--------------------FN_DYNVARS_150_01------------------------#' +######################################################################## +# Display the DEFAULT value of slow_launch_time # +######################################################################## + +SET @@global.slow_launch_time = 99; +SET @@global.slow_launch_time = DEFAULT; +SELECT @@global.slow_launch_time; + + +--echo '#---------------------FN_DYNVARS_150_02-------------------------#' +############################################### +# Verify default value of variable # +############################################### + +SET @@global.slow_launch_time = @start_value; +SELECT @@global.slow_launch_time = 2; + + +--echo '#--------------------FN_DYNVARS_150_03------------------------#' +######################################################################## +# Change the value of slow_launch_time to a valid value # +######################################################################## + +SET @@global.slow_launch_time = 0; +SELECT @@global.slow_launch_time; +SET @@global.slow_launch_time = 1; +SELECT @@global.slow_launch_time; +SET @@global.slow_launch_time = 31536000; +SELECT @@global.slow_launch_time; +SET @@global.slow_launch_time = 31535999; +SELECT @@global.slow_launch_time; +SET @@global.slow_launch_time = 65536; +SELECT @@global.slow_launch_time; + +--echo '#--------------------FN_DYNVARS_150_04-------------------------#' +########################################################################### +# Change the value of slow_launch_time to invalid value # +########################################################################### + +SET @@global.slow_launch_time = -1; +SELECT @@global.slow_launch_time; +SET @@global.slow_launch_time = 31536001; +SELECT @@global.slow_launch_time; +SET @@global.slow_launch_time = 10240022115; +SELECT @@global.slow_launch_time; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.slow_launch_time = 10000.01; +SELECT @@global.slow_launch_time; +SET @@global.slow_launch_time = -1024; +SELECT @@global.slow_launch_time; +SET @@global.slow_launch_time = 42949672950; +SELECT @@global.slow_launch_time; +--echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.slow_launch_time = ON; +SELECT @@global.slow_launch_time; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.slow_launch_time = 'test'; +SELECT @@global.slow_launch_time; + + +--echo '#-------------------FN_DYNVARS_150_05----------------------------#' +########################################################################### +# Test if accessing session slow_launch_time gives error # +########################################################################### + +--Error ER_GLOBAL_VARIABLE +SET @@session.slow_launch_time = 0; +SELECT @@slow_launch_time; + + +--echo '#----------------------FN_DYNVARS_150_06------------------------#' +############################################################################## +# Check if the value in GLOBAL & SESSION Tables matches values in variable # +############################################################################## + +SELECT @@global.slow_launch_time = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='slow_launch_time'; + +SELECT @@slow_launch_time = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='slow_launch_time'; + + +--echo '#---------------------FN_DYNVARS_150_07----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +SET @@global.slow_launch_time = TRUE; +SELECT @@global.slow_launch_time; +SET @@global.slow_launch_time = FALSE; +SELECT @@global.slow_launch_time; + + +--echo '#---------------------FN_DYNVARS_150_08----------------------#' +######################################################################################################## +# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable # +######################################################################################################## + +SET @@global.slow_launch_time = 1; +SELECT @@slow_launch_time = @@global.slow_launch_time; + + +--echo '#---------------------FN_DYNVARS_150_09----------------------#' +########################################################################## +# Check if slow_launch_time can be accessed with and without @@ sign # +########################################################################## + +--Error ER_GLOBAL_VARIABLE +SET slow_launch_time = 1; +SELECT @@slow_launch_time; +--Error ER_PARSE_ERROR +SET local.slow_launch_time = 1; +--Error ER_UNKNOWN_TABLE +SELECT local.slow_launch_time; +--Error ER_PARSE_ERROR +SET global.slow_launch_time = 1; +--Error ER_UNKNOWN_TABLE +SELECT global.slow_launch_time; +--Error ER_BAD_FIELD_ERROR +SELECT slow_launch_time = @@session.slow_launch_time; + + +############################## +# Restore initial value # +############################## + +SET @@global.slow_launch_time = @start_value; +SELECT @@global.slow_launch_time; + + +######################################################################## +# END OF slow_launch_time TESTS # +######################################################################## diff --git a/mysql-test/t/slow_launch_time_func.test b/mysql-test/t/slow_launch_time_func.test new file mode 100644 index 00000000000..fe8d1ba4c02 --- /dev/null +++ b/mysql-test/t/slow_launch_time_func.test @@ -0,0 +1,109 @@ +############# mysql-test\t\SLOW_LAUNCH_time_func.test ########################## +# # +# Variable Name: slow_launch_time # +# Scope: SESSION # +# Access Type: Dynamic # +# Data Type: NUMERIC # +# Default Value: 2 # +# Values: - # +# # +# # +# Creation Date: 2008-03-02 # +# Author: Sharique Abdullah # +# # +# Description: Test Cases of Dynamic System Variable "slow_launch_time " # +# that checks behavior of this variable in the following ways # +# * Functionality based on different values # +# # +#Reference: http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html# +# option_mysqld_slow_launch_time # +# # +################################################################################ + +# +# Setup +# + +--source include/not_embedded.inc + +SET @global_slow_launch_time = @@GLOBAL.slow_launch_time; + + +--echo '#--------------------FN_DYNVARS_124_01-------------------------#' + +##################################### +# Increase number of connection # +##################################### + +--echo ** Connection default ** +connection default; + +SET @@GLOBAL.slow_launch_time=0; +SELECT @@GLOBAL.slow_launch_time; + +--echo ** Connecting conn5 using username 'root' ** +CONNECT (conn5,localhost,root,,); +--echo ** Connecting conn6 using username 'root' ** +CONNECT (conn6,localhost,root,,); +--echo ** Connecting conn7 using username 'root' ** +CONNECT (conn7,localhost,root,,); +--echo ** Connecting conn8 using username 'root' ** +CONNECT (conn8,localhost,root,,); +--echo ** Connecting conn9 using username 'root' ** +CONNECT (conn9,localhost,root,,); +--echo ** Connecting conn10 using username 'root' ** +CONNECT (conn10,localhost,root,,); +--echo ** Connecting conn11 using username 'root' ** +CONNECT (conn11,localhost,root,,); +--echo ** Connecting conn12 using username 'root' ** +CONNECT (conn12,localhost,root,,); +--echo ** Connecting conn13 using username 'root' ** +CONNECT (conn13,localhost,root,,); +--echo ** Connecting conn14 using username 'root' ** +CONNECT (conn14,localhost,root,,); +--echo ** Connecting conn15 using username 'root' ** +CONNECT (conn15,localhost,root,,); +--echo ** Connecting conn16 using username 'root' ** +CONNECT (conn16,localhost,root,,); + + +# +# Checking status of slow_launch_threads +# + +show status like 'slow_launch_threads'; +--echo 12 Expected + +# +# Cleanup +# + +--echo ** Connection default ** +connection default; + +--echo ** Disconnecting conn5 ** +disconnect conn5; +--echo ** Disconnecting conn6 ** +disconnect conn6; +--echo ** Disconnecting conn7 ** +disconnect conn7; +--echo ** Disconnecting conn8 ** +disconnect conn8; +--echo ** Disconnecting conn9 ** +disconnect conn9; +--echo ** Disconnecting conn10 ** +disconnect conn10; +--echo ** Disconnecting conn11 ** +disconnect conn11; +--echo ** Disconnecting conn12 ** +disconnect conn12; +--echo ** Disconnecting conn13 ** +disconnect conn13; +--echo ** Disconnecting conn14 ** +disconnect conn14; +--echo ** Disconnecting conn15 ** +disconnect conn15; +--echo ** Disconnecting conn16 ** +disconnect conn16; + +SET @@GLOBAL.slow_launch_time = @global_slow_launch_time; diff --git a/mysql-test/t/slow_query_log_basic.test b/mysql-test/t/slow_query_log_basic.test new file mode 100644 index 00000000000..3a1b2fbd9e7 --- /dev/null +++ b/mysql-test/t/slow_query_log_basic.test @@ -0,0 +1,170 @@ +##################### mysql-test\t\slow_query_log_basic.test ################### +# # +# Variable Name: slow_query_log # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: BOOLEAN # +# Default Value: OFF # +# Valid Values: ON, OFF # +# # +# # +# Creation Date: 2008-03-16 # +# Author: Salman Rawala # +# # +# Description: Test Cases of Dynamic System Variable "slow_query_log" # +# that checks behavior of this variable in the following ways # +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-options.html#option_mysqld_event-scheduler # +# # +################################################################################ + +--source include/load_sysvars.inc + +########################################################### +# START OF slow_query_log TESTS # +########################################################### + + +###################################################################### +# Saving initial value of slow_query_log in a temporary variable # +###################################################################### + +SET @start_value = @@global.slow_query_log; +SELECT @start_value; + + +--echo '#---------------------FN_DYNVARS_004_01-------------------------#' +############################################### +# Verify default value of variable # +############################################### + +SET @@global.slow_query_log = DEFAULT; +SELECT @@global.slow_query_log = 0; + + +--echo '#--------------------FN_DYNVARS_004_02------------------------#' +###################################################################### +# Change the value of slow_query_log to a valid value # +###################################################################### + +SET @@global.slow_query_log = ON; +SELECT @@global.slow_query_log; +SET @@global.slow_query_log = OFF; +SELECT @@global.slow_query_log; + +--echo '#--------------------FN_DYNVARS_004_03-------------------------#' +###################################################################### +# Change the value of slow_query_log to invalid value # +###################################################################### + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.slow_query_log = 2; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.slow_query_log = -1; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.slow_query_log = TRUEF; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.slow_query_log = TRUE_F; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.slow_query_log = FALSE0; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.slow_query_log = OON; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.slow_query_log = ONN; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.slow_query_log = OOFF; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.slow_query_log = 0FF; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.slow_query_log = ' '; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.slow_query_log = " "; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.slow_query_log = ''; + + +--echo '#-------------------FN_DYNVARS_004_04----------------------------#' +################################################################## +# Test if accessing session slow_query_log gives error # +################################################################## + +--Error ER_GLOBAL_VARIABLE +SET @@session.slow_query_log = OFF; +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.slow_query_log; + + +--echo '#----------------------FN_DYNVARS_004_05------------------------#' +############################################################################## +# Check if the value in GLOBAL Tables matches values in variable # +############################################################################## + +SELECT @@global.slow_query_log = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='slow_query_log'; + + +--echo '#---------------------FN_DYNVARS_004_06----------------------#' +################################################################ +# Check if 0 and 1 values can be used on variable # +################################################################ + +SET @@global.slow_query_log = 0; +SELECT @@global.slow_query_log; +SET @@global.slow_query_log = 1; +SELECT @@global.slow_query_log; + +--echo '#---------------------FN_DYNVARS_004_07----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +SET @@global.slow_query_log = TRUE; +SELECT @@global.slow_query_log; +SET @@global.slow_query_log = FALSE; +SELECT @@global.slow_query_log; + +--echo '#---------------------FN_DYNVARS_004_08----------------------#' +############################################################################## +# Check if accessing variable with SESSION,LOCAL and without SCOPE points # +# to same session variable # +############################################################################## + +SET @@global.slow_query_log = ON; +SELECT @@slow_query_log = @@global.slow_query_log; + +--echo '#---------------------FN_DYNVARS_004_09----------------------#' +###################################################################### +# Check if slow_query_log can be accessed with and without @@ sign # +###################################################################### +--Error ER_GLOBAL_VARIABLE +SET slow_query_log = ON; +--Error ER_PARSE_ERROR +SET local.slow_query_log = OFF; +--Error ER_UNKNOWN_TABLE +SELECT local.slow_query_log; +--Error ER_PARSE_ERROR +SET global.slow_query_log = ON; +--Error ER_UNKNOWN_TABLE +SELECT global.slow_query_log; +--Error ER_BAD_FIELD_ERROR +SELECT slow_query_log = @@session.slow_query_log; + + + +############################## +# Restore initial value # +############################## + +SET @@global.slow_query_log = @start_value; +SELECT @@global.slow_query_log; + + +#################################################### +# END OF slow_query_log TESTS # +#################################################### diff --git a/mysql-test/t/slow_query_log_file_basic-master.opt b/mysql-test/t/slow_query_log_file_basic-master.opt new file mode 100644 index 00000000000..aca191f7fea --- /dev/null +++ b/mysql-test/t/slow_query_log_file_basic-master.opt @@ -0,0 +1 @@ +--log-slow-queries=slowtest.log diff --git a/mysql-test/t/slow_query_log_file_basic.test b/mysql-test/t/slow_query_log_file_basic.test new file mode 100644 index 00000000000..2620cd5eabc --- /dev/null +++ b/mysql-test/t/slow_query_log_file_basic.test @@ -0,0 +1,72 @@ +################### mysql-test\t\slow_query_log_file_basic.test ################ +# # +# Variable Name: slow_query_log_file # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: Filename # +# Default Value: host_name-slow.log # +# Valid Values: # +# # +# # +# Creation Date: 2008-03-16 # +# Author: Salman Rawala # +# # +# Description: Test Cases of Dynamic System Variable "slow_query_log_file" # +# that checks behavior of this variable in the following ways # +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html#option_mysqld_slow_query_log_file # +# # +################################################################################ + +--source include/load_sysvars.inc + +########################################################### +# START OF slow_query_log_file TESTS # +########################################################### + + +########################################################################### +# Saving initial value of slow_query_log_file in a temporary variable # +########################################################################### + +SET @start_value = @@global.slow_query_log_file; +SELECT @start_value; + + +--echo '#---------------------FN_DYNVARS_004_01-------------------------#' +############################################### +# Verify default value of variable # +############################################### + +SET @@global.slow_query_log_file = DEFAULT; +SELECT RIGHT(@@global.slow_query_log_file,15); + + +--echo '#--------------------FN_DYNVARS_004_02------------------------#' +####################################################################### +# Change the value of slow_query_log_file to a invalid value # +####################################################################### + +# Assumed text if no quotes or numbers. +SET @@global.slow_query_log_file = mytest.log; +--error ER_WRONG_TYPE_FOR_VAR +SET @@global.slow_query_log_file = 12; + +--echo '#----------------------FN_DYNVARS_004_03------------------------#' +############################################################################## +# Check if the value in GLOBAL Tables matches values in variable # +############################################################################## + +SELECT @@global.slow_query_log_file = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='slow_query_log_file'; + + +##################################################### +# END OF slow_query_log_file TESTS # +##################################################### diff --git a/mysql-test/t/slow_query_log_file_func-master.opt b/mysql-test/t/slow_query_log_file_func-master.opt new file mode 100644 index 00000000000..e5b1c0948b0 --- /dev/null +++ b/mysql-test/t/slow_query_log_file_func-master.opt @@ -0,0 +1,2 @@ +--log-slow-queries=my_slow_test.log + diff --git a/mysql-test/t/slow_query_log_file_func.test b/mysql-test/t/slow_query_log_file_func.test new file mode 100644 index 00000000000..9a2ddae8c4a --- /dev/null +++ b/mysql-test/t/slow_query_log_file_func.test @@ -0,0 +1,33 @@ +########### mysql-test\t\slow_query_log_file_func.test ######################### +# # +# Variable Name: slow_query_log_file # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: Boolean # +# Default Value: OFF # +# Valid Values: ON, OFF # +# # +# # +# Creation Date: 2008-03-17 # +# Author: Salman Rawala # +# # +# Description: Test Cases of Dynamic System Variable "slow_query_log_file" # +# that checks functionality of this variable # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html#option_mysqld_slow_query_log_file # +# # +################################################################################ + + +--echo '#--------------------FN_DYNVARS_018_01-------------------------#' +#################################################################### +# Verifying log file after setting it in opt file # +#################################################################### + +let $MYSQLD_DATADIR= `select @@datadir`; +--echo ## Checking if my_slow_test.log exist in servers datadir ## +--replace_result $MYSQLD_DATADIR MYSQLD_DATADIR +--file_exists $MYSQLD_DATADIR/my_slow_test.log + +--echo ## This case should pass because we have set this filename in opt file ## diff --git a/mysql-test/t/slow_query_log_func.test b/mysql-test/t/slow_query_log_func.test new file mode 100644 index 00000000000..9bcbeb14fd7 --- /dev/null +++ b/mysql-test/t/slow_query_log_func.test @@ -0,0 +1,39 @@ + +# save +SET @global_slow_query_log = @@global.slow_query_log; +SET @global_log_output = @@global.log_output; +############################################################################### +# Begin the functionality testing for slow_query_log # +############################################################################### + +SET @@session.long_query_time=1; + +SET @@global.log_output = 'TABLE'; + +#========================================= +--echo '----When slow_query_log = OFF----' +#========================================= + +SET @@global.slow_query_log = OFF; +TRUNCATE mysql.slow_log; +SELECT sleep(2); + +SELECT count(*) FROM mysql.slow_log; + +#========================================= +--echo '----When slow_query_log = ON-----' +#========================================= + +SET @@global.slow_query_log = ON; +TRUNCATE mysql.slow_log; +SELECT sleep(2); + +SELECT count(*) FROM mysql.slow_log; + +#restore +SET @@global.log_output = @global_log_output; +SET @global.slow_query_log = @global_slow_query_log; + +############################################################################### +# End of the functionality test for slow_query_log # +############################################################################### diff --git a/mysql-test/t/sort_buffer_size_basic_32.test b/mysql-test/t/sort_buffer_size_basic_32.test new file mode 100644 index 00000000000..8c86fe7786a --- /dev/null +++ b/mysql-test/t/sort_buffer_size_basic_32.test @@ -0,0 +1,9 @@ +################################################################################ +# Created by Horst Hunger 2008-05-07 # +# # +# Wrapper for 32 bit machines # +################################################################################ + +--source include/have_32bit.inc +--source include/sort_buffer_size_basic.inc + diff --git a/mysql-test/t/sort_buffer_size_basic_64.test b/mysql-test/t/sort_buffer_size_basic_64.test new file mode 100644 index 00000000000..86081b3820b --- /dev/null +++ b/mysql-test/t/sort_buffer_size_basic_64.test @@ -0,0 +1,9 @@ +################################################################################ +# Created by Horst Hunger 2008-05-07 # +# # +# Wrapper for 64 bit machines # +################################################################################ + +--source include/have_64bit.inc +--source include/sort_buffer_size_basic.inc + diff --git a/mysql-test/t/sp.test b/mysql-test/t/sp.test index ac90217f891..7f2bf5df421 100644 --- a/mysql-test/t/sp.test +++ b/mysql-test/t/sp.test @@ -2945,7 +2945,8 @@ begin show columns from t1; show keys from t1; show open tables like 'foo'; - show privileges; + # Removed because result will differ in embedded mode. + #show privileges; show status like 'foo'; show tables like 'foo'; show variables like 'foo'; diff --git a/mysql-test/t/sql_auto_is_null_basic.test b/mysql-test/t/sql_auto_is_null_basic.test new file mode 100644 index 00000000000..a843b88bf85 --- /dev/null +++ b/mysql-test/t/sql_auto_is_null_basic.test @@ -0,0 +1,101 @@ + + +################## mysql-test\t\sql_auto_is_null_basic.test ################### +# # +# Variable Name: sql_auto_is_null # +# Scope: Session # +# Access Type: Static # +# Data Type: filename # +# # +# # +# Creation Date: 2008-02-07 # +# Author : Sharique Abdullah # +# # +# # +# Description:Test Cases of Dynamic System Variable sql_auto_is_null # +# that checks the behavior of this variable in the following ways # +# * Value Check # +# * Scope Check # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--echo '#---------------------BS_STVARS_044_01----------------------#' +#################################################################### +# Displaying default value # +#################################################################### + +SELECT COUNT(@@SESSION.sql_auto_is_null); +--echo 1 Expected + +--echo '#---------------------BS_STVARS_044_02----------------------#' +# +# Test case for Bug #35433 +# +#################################################################### +# Check if Value can set # +#################################################################### + + +#--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@SESSION.sql_auto_is_null=1; +--ECHO "BUG:It should give error on setting this variable as it is readonly variable" +--echo Expected error 'Read only variable' + +SELECT COUNT(@@SESSION.sql_auto_is_null); +--echo 1 Expected + + + + +--echo '#---------------------BS_STVARS_044_03----------------------#' +################################################################# +# Check if the value in SESSION Table matches value in variable # +################################################################# + +SELECT @@SESSION.sql_auto_is_null = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_auto_is_null'; +--echo 1 Expected + +SELECT COUNT(@@SESSION.sql_auto_is_null); +--echo 1 Expected + +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_auto_is_null'; +--echo 1 Expected + + +--echo '#---------------------BS_STVARS_044_04----------------------#' +################################################################################ +# Check if accessing variable with and without SESSION point to same variable # +################################################################################ +SELECT @@sql_auto_is_null = @@SESSION.sql_auto_is_null; +--echo 1 Expected + + + +--echo '#---------------------BS_STVARS_044_05----------------------#' +################################################################################ +# Check if sql_auto_is_null can be accessed with and without @@ sign # +################################################################################ + +SELECT COUNT(@@sql_auto_is_null); +--echo 1 Expected +SELECT COUNT(@@local.sql_auto_is_null); +--echo 1 Expected +SELECT COUNT(@@SESSION.sql_auto_is_null); +--echo 1 Expected + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT COUNT(@@GLOBAL.sql_auto_is_null); +--echo Expected error 'Variable is a SESSION variable' + +--error ER_BAD_FIELD_ERROR +SELECT COUNT(sql_auto_is_null = @@GLOBAL.sql_auto_is_null); +--echo Expected error 'Readonly variable' + + diff --git a/mysql-test/t/sql_big_selects_basic.test b/mysql-test/t/sql_big_selects_basic.test new file mode 100644 index 00000000000..dd83a19230a --- /dev/null +++ b/mysql-test/t/sql_big_selects_basic.test @@ -0,0 +1,174 @@ +############## mysql-test\t\sql_big_selects_basic.test ######################## +# # +# Variable Name: sql_big_selects # +# Scope: SESSION # +# Access Type: Dynamic # +# Data Type: boolean # +# Default Value: # +# Range: 0,1 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Rizwan # +# # +# Description: Test Cases of Dynamic System Variable sql_big_selects # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + +######################################################################## +# START OF sql_big_selects TESTS # +######################################################################## + + +################################################################################ +# Saving initial value of sql_big_selects in a temporary variable # +################################################################################ + +SET @session_start_value = @@session.sql_big_selects; +SELECT @session_start_value; + +--echo '#--------------------FN_DYNVARS_153_01------------------------#' +######################################################################## +# Display the DEFAULT value of sql_big_selects # +######################################################################## + +SET @@session.sql_big_selects = 0; +SET @@session.sql_big_selects = DEFAULT; +SELECT @@session.sql_big_selects; + + +--echo '#---------------------FN_DYNVARS_153_02-------------------------#' +############################################################################# +# Check if sql_big_selects can be accessed with and without @@ sign # +############################################################################# + +SET sql_big_selects = 1; +SELECT @@sql_big_selects; + +--Error ER_UNKNOWN_TABLE +SELECT session.sql_big_selects; + +--Error ER_UNKNOWN_TABLE +SELECT local.sql_big_selects; + +SET session sql_big_selects = 0; +SELECT @@session.sql_big_selects; + + +--echo '#--------------------FN_DYNVARS_153_03------------------------#' +##################################################################### +# change the value of sql_big_selects to a valid value # +##################################################################### + +SET @@session.sql_big_selects = 0; +SELECT @@session.sql_big_selects; +SET @@session.sql_big_selects = 1; +SELECT @@session.sql_big_selects; + + +--echo '#--------------------FN_DYNVARS_153_04-------------------------#' +######################################################################## +# Change the value of sql_big_selects to invalid value # +######################################################################## + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_big_selects = -1; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_big_selects = 2; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_big_selects = "T"; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_big_selects = "Y"; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_big_selects = TRÜE; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_big_selects = ÕN; + +SET @@session.sql_big_selects = OF; +SELECT @@session.sql_big_selects; + +--echo 'Bug # 34828: OF is taken as OFF and a value of 0 is set.' + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_big_selects = ÓFF; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_big_selects = '¹'; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_big_selects = NO; + + +--echo '#-------------------FN_DYNVARS_153_05----------------------------#' +######################################################################## +# Test if accessing global sql_big_selects gives error # +######################################################################## + +--Error ER_LOCAL_VARIABLE +SET @@global.sql_big_selects = 0; + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@global.sql_big_selects; + +--echo '#----------------------FN_DYNVARS_153_06------------------------#' +######################################################################### +# Check if the value in GLOBAL Table contains variable value # +######################################################################### + +SELECT count(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='sql_big_selects'; + +--echo '#----------------------FN_DYNVARS_153_07------------------------#' +######################################################################## +# Check if the value in GLOBAL Table matches value in variable # +######################################################################## + +SELECT @@session.sql_big_selects = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_big_selects'; +SELECT @@session.sql_big_selects; + +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_big_selects'; + +--echo '#---------------------FN_DYNVARS_153_08-------------------------#' +################################################################### +# Check if ON and OFF values can be used on variable # +################################################################### + +SET @@session.sql_big_selects = OFF; +SELECT @@session.sql_big_selects; +SET @@session.sql_big_selects = ON; +SELECT @@session.sql_big_selects; + +--echo '#---------------------FN_DYNVARS_153_09----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +SET @@session.sql_big_selects = TRUE; +SELECT @@session.sql_big_selects; +SET @@session.sql_big_selects = FALSE; +SELECT @@session.sql_big_selects; + +############################## +# Restore initial value # +############################## + +SET @@session.sql_big_selects = @session_start_value; +SELECT @@session.sql_big_selects; + +############################################################ +# END OF sql_big_selects TESTS # +############################################################ + diff --git a/mysql-test/t/sql_big_selects_func.test b/mysql-test/t/sql_big_selects_func.test new file mode 100644 index 00000000000..4aefda5e15e --- /dev/null +++ b/mysql-test/t/sql_big_selects_func.test @@ -0,0 +1,133 @@ +############# mysql-test\t\sql_big_selects_func.test ###################### +# # +# Variable Name: sql_big_selects # +# Scope: SESSION # +# Access Type: Dynamic # +# Data Type: BOOLEAN # +# Default Value: 1 TRUE # +# Values: 1 TRUE, 0 FALSE # +# # +# # +# Creation Date: 2008-02-25 # +# Author: Sharique Abdullah # +# # +# Description: Test Cases of Dynamic System Variable "sql_big_selects" # +# that checks behavior of this variable in the following ways# +# * Functionality based on different values # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/set-option.html # +# # +########################################################################### + +--echo ** Setup ** +--echo +# +# Setup +# + +SET @session_sql_big_selects = @@SESSION.sql_big_selects; +SET @session_max_join_size = @@SESSION.max_join_size; +SET @global_max_join_size = @@GLOBAL.max_join_size; +SET SQL_MAX_JOIN_SIZE=9; + +# +# Create tables +# + +CREATE TEMPORARY TABLE t1(a varchar(20) not null, b varchar(20)); +CREATE TEMPORARY TABLE t2(a varchar(20) null, b varchar(20)); + +INSERT INTO t1 VALUES('aa','bb'); +INSERT INTO t1 VALUES('aa1','bb'); +INSERT INTO t1 VALUES('aa2','bb'); +INSERT INTO t1 VALUES('aa3','bb'); +INSERT INTO t1 VALUES('aa4','bb'); + +INSERT INTO t2 VALUES('aa','bb'); +INSERT INTO t2 VALUES('aa1','bb'); +INSERT INTO t2 VALUES('aa2','bb'); +INSERT INTO t2 VALUES('aa3','bb'); +INSERT INTO t2 VALUES('aa4','bb'); + +--echo '#--------------------FN_DYNVARS_154_01-------------------------#' +# +# Testing fail condition +# + +--echo Expected error "Too big select" +--error ER_TOO_BIG_SELECT +SELECT * FROM t1 INNER JOIN t2 ON t1.a = t2.a; +--echo Expected error The SELECT would examine more than MAX_JOIN_SIZE rows. + +--echo '#--------------------FN_DYNVARS_154_02-------------------------#' +# +# Testing pass conditions +# + +SET SESSION SQL_BIG_SELECTS = 1; + +SELECT * FROM t1 INNER JOIN t2 ON t1.a = t2.a; +--echo This should work + +SET SESSION SQL_BIG_SELECTS = 0; + +DELETE FROM t2 WHERE a = 'aa4'; +SELECT * FROM t1 INNER JOIN t2 ON t1.a = t2.a; +--echo This should work + +--echo '#--------------------FN_DYNVARS_154_03-------------------------#' +# +# Session data integrity check +# + +--echo ** Connecting con_int1 using root ** +connect (con_int1,localhost,root,,); + +--echo ** Connection con_int1 ** +connection con_int1; + +SELECT @@SESSION.sql_big_selects; +--echo 1 Expected +SET SESSION sql_big_selects = 0; + +--echo ** Connecting con_int2 using root ** +connect (con_int2,localhost,root,,); + +--echo ** Connection con_int2 ** +connection con_int2; + +SELECT @@SESSION.sql_big_selects; +--echo 1 Expected + +SET SESSION sql_big_selects = 1; + +--echo ** Connection con_int1 ** +connection con_int1; + +SELECT @@SESSION.sql_big_selects; +--echo 0 Expected + +--echo ** Connection con_int2 ** +connection con_int2; + +SELECT @@SESSION.sql_big_selects; +--echo 1 Expected + +--echo ** Connection default ** +connection default; + +--echo Disconnecting Connections con_int1, con_int2 +disconnect con_int1; +disconnect con_int2; + +# +# Cleanup +# + + +SET @@SESSION.sql_big_selects = @session_sql_big_selects; +SET @@SESSION.max_join_size = @session_max_join_size; +SET @@GLOBAL.max_join_size = @global_max_join_size; + +DROP TABLE t1; +DROP TABLE t2; diff --git a/mysql-test/t/sql_big_tables_basic.test b/mysql-test/t/sql_big_tables_basic.test new file mode 100644 index 00000000000..4e3dbdc9504 --- /dev/null +++ b/mysql-test/t/sql_big_tables_basic.test @@ -0,0 +1,175 @@ +###################### mysql-test\t\sql_big_tables_basic.test ################# +# # +# Variable Name: sql_big_tables # +# Scope: SESSION # +# Access Type: Dynamic # +# Data Type: boolean # +# Default Value: # +# Valid Values : 0,1 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Rizwan # +# # +# Description: Test Cases of Dynamic System Variable sql_big_tables # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc +######################################################################## +# START OF sql_big_tables TESTS # +######################################################################## + + +############################################################################## +# Saving initial value of sql_big_tables in a temporary variable # +############################################################################## + +SET @session_start_value = @@session.sql_big_tables; +SELECT @session_start_value; + +--echo '#--------------------FN_DYNVARS_154_01------------------------#' +######################################################################## +# Display the DEFAULT value of sql_big_tables # +######################################################################## + +SET @@session.sql_big_tables = 0; +SET @@session.sql_big_tables = DEFAULT; +SELECT @@session.sql_big_tables; + +SET @@session.sql_big_tables = 1; +SET @@session.sql_big_tables = DEFAULT; +SELECT @@session.sql_big_tables; + + +--echo '#---------------------FN_DYNVARS_154_02-------------------------#' +############################################################################# +# Check if sql_big_tables can be accessed with and without @@ sign # +############################################################################# + +SET sql_big_tables = 1; +SELECT @@sql_big_tables; + +--Error ER_UNKNOWN_TABLE +SELECT session.sql_big_tables; + +--Error ER_UNKNOWN_TABLE +SELECT local.sql_big_tables; + +SET session sql_big_tables = 0; +SELECT @@session.sql_big_tables; + + +--echo '#--------------------FN_DYNVARS_154_03------------------------#' +######################################################################## +# change the value of sql_big_tables to a valid value # +######################################################################## + +SET @@session.sql_big_tables = 0; +SELECT @@session.sql_big_tables; +SET @@session.sql_big_tables = 1; +SELECT @@session.sql_big_tables; + + +--echo '#--------------------FN_DYNVARS_154_04-------------------------#' +########################################################################### +# Change the value of sql_big_tables to invalid value # +########################################################################### + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_big_tables = -1; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_big_tables = 2; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_big_tables = "T"; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_big_tables = "Y"; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_big_tables = TRÜE; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_big_tables = ÕN; + +SET @@session.sql_big_tables = OF; +SELECT @@session.sql_big_tables; + +--echo 'Bug# 34828: OF is taken as OFF and a value of 0 is set.' + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_big_tables = ÓFF; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_big_tables = '¹'; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_big_tables = NO; + + +--echo '#-------------------FN_DYNVARS_154_05----------------------------#' +########################################################################### +# Test if accessing global sql_big_tables gives error # +########################################################################### + +--Error ER_LOCAL_VARIABLE +SET @@global.sql_big_tables = 0; + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@global.sql_big_tables; + +--echo '#----------------------FN_DYNVARS_154_06------------------------#' +######################################################################### +# Check if the value in GLOBAL Table contains variable value # +######################################################################### + +SELECT count(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='sql_big_tables'; + +--echo '#----------------------FN_DYNVARS_154_07------------------------#' +######################################################################### +# Check if the value in GLOBAL Table matches value in variable # +######################################################################### + +SELECT @@session.sql_big_tables = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_big_tables'; +SELECT @@session.sql_big_tables; +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_big_tables'; + +--echo '#---------------------FN_DYNVARS_154_08-------------------------#' +################################################################### +# Check if ON and OFF values can be used on variable # +################################################################### + +SET @@session.sql_big_tables = OFF; +SELECT @@session.sql_big_tables; +SET @@session.sql_big_tables = ON; +SELECT @@session.sql_big_tables; + +--echo '#---------------------FN_DYNVARS_154_09----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +SET @@session.sql_big_tables = TRUE; +SELECT @@session.sql_big_tables; +SET @@session.sql_big_tables = FALSE; +SELECT @@session.sql_big_tables; + +############################## +# Restore initial value # +############################## + +SET @@session.sql_big_tables = @session_start_value; +SELECT @@session.sql_big_tables; + +############################################################### +# END OF sql_big_tables TESTS # +############################################################### diff --git a/mysql-test/t/sql_big_tables_func.test b/mysql-test/t/sql_big_tables_func.test new file mode 100644 index 00000000000..5f919fac2c7 --- /dev/null +++ b/mysql-test/t/sql_big_tables_func.test @@ -0,0 +1,146 @@ +############# mysql-test\t\sql_big_tables_func.test ######################## +# # +# Variable Name: sql_big_tables # +# Scope: SESSION # +# Access Type: Dynamic # +# Data Type: BOOLEAN # +# Default Value: 0 FALSE # +# Values: 1 TRUE, 0 FALSE # +# # +# # +# Creation Date: 2008-02-25 # +# Author: Sharique Abdullah # +# # +# Description: Test Cases of Dynamic System Variable "sql_big_tables" # +# that checks behavior of this variable in the following ways # +# * Functionality based on different values # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/set-option.html # +# # +############################################################################ + +# Due to difference in the result the ps-protocol is disabled +--disable_ps_protocol + +--echo ** Setup ** +--echo +# +# Setup +# + +SET @old_big_tables = @@SESSION.sql_big_tables; + +# +# Create tables +# + +CREATE TABLE t1(a varchar(20), b varchar(20)); + +INSERT INTO t1 VALUES('aa','bb'); +INSERT INTO t1 VALUES('aa','bb'); +INSERT INTO t1 VALUES('aa','bb'); +INSERT INTO t1 VALUES('aa','bb'); +INSERT INTO t1 VALUES('aa','bb'); + +--echo '#--------------------FN_DYNVARS_155_01-------------------------#' +# +# TRUE mode +# + +SET SESSION sql_big_tables = 1; + +let $diskTablesBig = query_get_value(SHOW STATUS LIKE 'Created_tmp_disk_tables', Value, 1); +let $totalTablesBig = query_get_value(SHOW STATUS LIKE 'Created_tmp_tables', Value, 1); + +eval SET @diskTableCount = $diskTablesBig; +eval SET @tempTableCount = $totalTablesBig; + +SELECT * FROM (SELECT ta.a as a, tb.b as b +FROM t1 as ta INNER JOIN t1 as tb ON ta.a = tb.a) sub; + +let $newDiskTablesBig = query_get_value(SHOW STATUS LIKE 'Created_tmp_disk_tables', Value, 1); +let $newTotalTablesBig = query_get_value(SHOW STATUS LIKE 'Created_tmp_tables', Value, 1); + +eval SET @diskTableCount = $newDiskTablesBig - @diskTableCount; +eval SET @tempTableCount = $newTotalTablesBig - @tempTableCount; + +SELECT @diskTableCount; +--echo 1 Expected +SELECT @tempTableCount; +--echo 1 Expected + +--echo '#--------------------FN_DYNVARS_155_02-------------------------#' +# +# FALSE mode +# + +SET SESSION sql_big_tables = 0; + +let $diskTables = query_get_value(SHOW STATUS LIKE 'Created_tmp_disk_tables', Value, 1); +let $totalTables = query_get_value(SHOW STATUS LIKE 'Created_tmp_tables', Value, 1); + +eval SET @diskTableCount = $diskTables; +eval SET @tempTableCount = $totalTables; + +SELECT * FROM (SELECT ta.b as a, tb.a as b FROM t1 as ta INNER JOIN t1 as tb ON ta.a = tb.a) sub; + +let $newDiskTables= query_get_value(SHOW STATUS LIKE 'Created_tmp_disk_tables', Value, 1); +let $newTotalTables= query_get_value(SHOW STATUS LIKE 'Created_tmp_tables', Value, 1); + +eval SET @diskTableCount = $newDiskTables - @diskTableCount; +eval SET @tempTableCount = $newTotalTables - @tempTableCount; + +SELECT @diskTableCount; +--echo 0 Expected +SELECT @tempTableCount; +--echo 1 Expected + +--echo '#--------------------FN_DYNVARS_155_03-------------------------#' +# +# Session data integrity check +# +--echo ** Connecting con_int1 using root ** +connect (con_int1,localhost,root,,); +--echo ** Connection con_int1 ** +connection con_int1; + +SELECT @@SESSION.sql_big_tables; +--echo 0 / FALSE Expected; +SET SESSION sql_big_tables = FALSE; + +--echo ** Connecting con_int2 using root ** +connect (con_int2,localhost,root,,); +--echo ** Connection con_int2 ** +connection con_int2; + +SELECT @@SESSION.sql_big_tables; +--echo 0 / FALSE Expected; + +SET SESSION sql_big_tables = TRUE; + +--echo ** Connection con_int1 ** +connection con_int1; +SELECT @@SESSION.sql_big_tables; +--echo 0 / FALSE Expected; + +--echo ** Connection con_int2 ** +connection con_int2; +SELECT @@SESSION.sql_big_tables; +--echo 1 / TRUE Expected; + +--echo ** Connection default ** +connection default; +--echo Disconnecting Connections con_int1, con_int2 +disconnect con_int1; +disconnect con_int2; + +# +# Cleanup +# + +SET SESSION sql_big_tables = @old_big_tables; + +DROP TABLE t1; + +--enable_ps_protocol + diff --git a/mysql-test/t/sql_buffer_result_basic.test b/mysql-test/t/sql_buffer_result_basic.test new file mode 100644 index 00000000000..f5a5e323fc4 --- /dev/null +++ b/mysql-test/t/sql_buffer_result_basic.test @@ -0,0 +1,184 @@ +############## mysql-test\t\sql_buffer_result_basic.test ###################### +# # +# Variable Name: sql_buffer_result # +# Scope: SESSION # +# Access Type: Dynamic # +# Data Type: boolean # +# Default Value: # +# Valid Values : 0,1 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Rizwan # +# # +# Description: Test Cases of Dynamic System Variable sql_buffer_result # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + +######################################################################## +# START OF sql_buffer_result TESTS # +######################################################################## + + +################################################################################ +# Saving initial value of sql_buffer_result in a temporary variable # +################################################################################ + +SET @session_start_value = @@session.sql_buffer_result; +SELECT @session_start_value; + +--echo '#--------------------FN_DYNVARS_155_01------------------------#' +######################################################################## +# Display the DEFAULT value of sql_buffer_result # +######################################################################## + +SET @@session.sql_buffer_result = 0; +SET @@session.sql_buffer_result = DEFAULT; +SELECT @@session.sql_buffer_result; + +SET @@session.sql_buffer_result = 1; +SET @@session.sql_buffer_result = DEFAULT; +SELECT @@session.sql_buffer_result; + + +--echo '#---------------------FN_DYNVARS_155_02-------------------------#' +############################################################################# +# Check if sql_buffer_result can be accessed with and without @@ sign # +############################################################################# + +SET sql_buffer_result = 1; +SELECT @@sql_buffer_result; + +--Error ER_UNKNOWN_TABLE +SELECT session.sql_buffer_result; + +--Error ER_UNKNOWN_TABLE +SELECT local.sql_buffer_result; + +SET session sql_buffer_result = 0; +SELECT @@session.sql_buffer_result; + + +--echo '#--------------------FN_DYNVARS_155_03------------------------#' +######################################################################## +# change the value of sql_buffer_result to a valid value # +######################################################################## + +SET @@session.sql_buffer_result = 0; +SELECT @@session.sql_buffer_result; +SET @@session.sql_buffer_result = 1; +SELECT @@session.sql_buffer_result; + + +--echo '#--------------------FN_DYNVARS_155_04-------------------------#' +########################################################################### +# Change the value of sql_buffer_result to invalid value # +########################################################################### + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_buffer_result = -1; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_buffer_result = 2; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_buffer_result = "TRU"; + +SET @@session.sql_buffer_result = 0.4; +SELECT @@session.sql_buffer_result; + +SET @@session.sql_buffer_result = 1.4; +SELECT @@session.sql_buffer_result; + +--echo 'Bug: Decimal values are accepted and rounded to an integer before'; +--echo 'assingment.'; + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_buffer_result = TRÜE; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_buffer_result = ÕN; + +SET @@session.sql_buffer_result = OF; +SELECT @@session.sql_buffer_result; + +--echo 'Bug# 34828: OF is taken as OFF and a value of 0 is set.' + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_buffer_result = ÓFF; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_buffer_result = '¹'; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_buffer_result = NO; + + +--echo '#-------------------FN_DYNVARS_155_05----------------------------#' +########################################################################### +# Test if accessing global sql_buffer_result gives error # +########################################################################### + +--Error ER_LOCAL_VARIABLE +SET @@global.sql_buffer_result = 0; + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@global.sql_buffer_result; + +--echo '#----------------------FN_DYNVARS_155_06------------------------#' +######################################################################### +# Check if the value in GLOBAL Table contains variable value # +######################################################################### + +SELECT count(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='sql_buffer_result'; + +--echo '#----------------------FN_DYNVARS_155_07------------------------#' +######################################################################### +# Check if the value in GLOBAL Table matches value in variable # +######################################################################### + +SELECT @@session.sql_buffer_result = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_buffer_result'; +SELECT @@session.sql_buffer_result; +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_buffer_result'; + +--echo '#---------------------FN_DYNVARS_155_08-------------------------#' +################################################################### +# Check if ON and OFF values can be used on variable # +################################################################### + +SET @@session.sql_buffer_result = OFF; +SELECT @@session.sql_buffer_result; +SET @@session.sql_buffer_result = ON; +SELECT @@session.sql_buffer_result; + +--echo '#---------------------FN_DYNVARS_155_09----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +SET @@session.sql_buffer_result = TRUE; +SELECT @@session.sql_buffer_result; +SET @@session.sql_buffer_result = FALSE; +SELECT @@session.sql_buffer_result; + +############################## +# Restore initial value # +############################## + +SET @@session.sql_buffer_result = @session_start_value; +SELECT @@session.sql_buffer_result; + +############################################################### +# END OF sql_buffer_result TESTS # +############################################################### diff --git a/mysql-test/t/sql_buffer_result_func.test b/mysql-test/t/sql_buffer_result_func.test new file mode 100644 index 00000000000..4530545b8f0 --- /dev/null +++ b/mysql-test/t/sql_buffer_result_func.test @@ -0,0 +1,130 @@ +############# mysql-test\t\sql_buffer_result_func.test ##################### +# # +# Variable Name: sql_buffer_result # +# Scope: SESSION # +# Access Type: Dynamic # +# Data Type: BOOLEAN # +# Default Value: 0 FALSE # +# Values: 1 TRUE, 0 FALSE # +# # +# # +# Creation Date: 2008-02-25 # +# Author: Sharique Abdullah # +# # +# Description: Test Cases of Dynamic System Variable "sql_buffer_result" # +# that checks behavior of this variable in the following ways # +# * Functionality based on different values # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/set-option.html # +# # +############################################################################ + +--echo ** Setup ** +--echo +# +# Setup +# + +SET @original_sql_buffer_result = @@sql_buffer_result; + +# +# Create tables +# + +CREATE TEMPORARY TABLE t1(a varchar(20), b varchar(20)); + +INSERT INTO t1 VALUES('aa','bb'); +INSERT INTO t1 VALUES('aa','bb'); +INSERT INTO t1 VALUES('aa','bb'); +INSERT INTO t1 VALUES('aa','bb'); +INSERT INTO t1 VALUES('aa','bb'); + +--echo '#--------------------FN_DYNVARS_156_01-------------------------#' +# +# TRUE mode +# + +SET SESSION sql_buffer_result = 1; + +SHOW STATUS LIKE 'Created_tmp_tables'; +--echo Expected value : 0. + +SELECT * FROM t1; + +SHOW STATUS LIKE 'Created_tmp_tables'; +--echo Expected value : 1. + +SELECT * FROM t1; + +SHOW STATUS LIKE 'Created_tmp_tables'; +--echo Expected value : 2. + +--echo '#--------------------FN_DYNVARS_156_02-------------------------#' +# +# FALSE mode +# + +SET SESSION sql_buffer_result = 0; + +SHOW STATUS LIKE 'Created_tmp_tables'; +--echo Expected value : 2. + +SELECT * FROM t1; + +SHOW STATUS LIKE 'Created_tmp_tables'; +--echo Expected value : 2. + +--echo '#--------------------FN_DYNVARS_156_03-------------------------#' +# +# Session data integrity check +# +--echo ** Connecting con_int1 using root ** +connect (con_int1,localhost,root,,); + +--echo ** Connection con_int1 ** +connection con_int1; + +SELECT @@SESSION.sql_buffer_result; +--echo 0 / FALSE Expected + +SET SESSION sql_buffer_result = FALSE; + +--echo ** Connecting con_int2 using root ** +connect (con_int2,localhost,root,,); + +--echo ** Connection con_int2 ** +connection con_int2; + +SELECT @@SESSION.sql_buffer_result; +--echo 0 / FALSE Expected + +SET SESSION sql_buffer_result = TRUE; + +--echo ** Connection con_int1 ** +connection con_int1; + +SELECT @@SESSION.sql_buffer_result; +--echo 0 / FALSE Expected + +--echo ** Connection con_int2 ** +connection con_int2; + +SELECT @@SESSION.sql_buffer_result; +--echo 1 / TRUE Expected + +--echo ** Connection default ** +connection default; + +--echo Disconnecting Connections con_int1, con_int2 +disconnect con_int1; +disconnect con_int2; + + +# +# Cleanup +# +--echo ** Cleanup ** + +SET @@sql_buffer_result = @original_sql_buffer_result; + +DROP TABLE t1; diff --git a/mysql-test/t/sql_log_bin_basic.test b/mysql-test/t/sql_log_bin_basic.test new file mode 100644 index 00000000000..0f6d9e1e126 --- /dev/null +++ b/mysql-test/t/sql_log_bin_basic.test @@ -0,0 +1,174 @@ +####################### mysql-test\t\sql_log_bin_basic.test ################### +# # +# Variable Name: sql_log_bin # +# Scope: SESSION # +# Access Type: Dynamic # +# Data Type: boolean # +# Default Value: # +# Valid Values: 0,1 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Rizwan # +# # +# Description: Test Cases of Dynamic System Variable sql_log_bin # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + +######################################################################## +# START OF sql_log_bin TESTS # +######################################################################## + + +############################################################################## +# Saving initial value of sql_log_bin in a temporary variable # +############################################################################## + +SET @session_start_value = @@session.sql_log_bin; +SELECT @session_start_value; + +--echo '#--------------------FN_DYNVARS_156_01------------------------#' +######################################################################## +# Display the DEFAULT value of sql_log_bin # +######################################################################## + +SET @@session.sql_log_bin = 0; +SET @@session.sql_log_bin = DEFAULT; +SELECT @@session.sql_log_bin; + +SET @@session.sql_log_bin = 1; +SET @@session.sql_log_bin = DEFAULT; +SELECT @@session.sql_log_bin; + + +--echo '#---------------------FN_DYNVARS_156_02-------------------------#' +############################################################################# +# Check if sql_log_bin can be accessed with and without @@ sign # +############################################################################# + +SET sql_log_bin = 1; +SELECT @@sql_log_bin; + +--Error ER_UNKNOWN_TABLE +SELECT session.sql_log_bin; + +--Error ER_UNKNOWN_TABLE +SELECT local.sql_log_bin; + +SET session sql_log_bin = 0; +SELECT @@session.sql_log_bin; + + +--echo '#--------------------FN_DYNVARS_156_03------------------------#' +######################################################################## +# change the value of sql_log_bin to a valid value # +######################################################################## + +SET @@session.sql_log_bin = 0; +SELECT @@session.sql_log_bin; +SET @@session.sql_log_bin = 1; +SELECT @@session.sql_log_bin; + + +--echo '#--------------------FN_DYNVARS_156_04-------------------------#' +########################################################################### +# Change the value of sql_log_bin to invalid value # +########################################################################### + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_log_bin = -1; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_log_bin = 2; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_log_bin = "T"; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_log_bin = "Y"; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_log_bin = TRÜE; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_log_bin = ÕN; + +SET @@session.sql_log_bin = OF; +SELECT @@session.sql_log_bin; + +--echo 'Bug# 34828: OF is taken as OFF and a value of 0 is set.' + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_log_bin = ÓFF; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_log_bin = '¹'; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_log_bin = NO; + + +--echo '#-------------------FN_DYNVARS_156_05----------------------------#' +########################################################################### +# Test if accessing global sql_log_bin gives error # +########################################################################### + +--Error ER_LOCAL_VARIABLE +SET @@global.sql_log_bin = 0; + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@global.sql_log_bin; + +--echo '#----------------------FN_DYNVARS_156_06------------------------#' +######################################################################### +# Check if the value in GLOBAL Table contains variable value # +######################################################################### + +SELECT count(VARIABLE_VALUE) FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='sql_log_bin'; + +--echo '#----------------------FN_DYNVARS_156_07------------------------#' +######################################################################### +# Check if the value in GLOBAL Table matches value in variable # +######################################################################### + +SELECT @@session.sql_log_bin = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_log_bin'; +SELECT @@session.sql_log_bin; +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_log_bin'; + +--echo '#---------------------FN_DYNVARS_156_08-------------------------#' +################################################################### +# Check if ON and OFF values can be used on variable # +################################################################### + +SET @@session.sql_log_bin = OFF; +SELECT @@session.sql_log_bin; +SET @@session.sql_log_bin = ON; +SELECT @@session.sql_log_bin; + +--echo '#---------------------FN_DYNVARS_156_09----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +SET @@session.sql_log_bin = TRUE; +SELECT @@session.sql_log_bin; +SET @@session.sql_log_bin = FALSE; +SELECT @@session.sql_log_bin; + +############################## +# Restore initial value # +############################## + +SET @@session.sql_log_bin = @session_start_value; +SELECT @@session.sql_log_bin; + +############################################################### +# END OF sql_log_bin TESTS # +############################################################### diff --git a/mysql-test/t/sql_log_off_basic.test b/mysql-test/t/sql_log_off_basic.test new file mode 100644 index 00000000000..bcf9e87c1dd --- /dev/null +++ b/mysql-test/t/sql_log_off_basic.test @@ -0,0 +1,175 @@ +################# mysql-test\t\sql_log_off_basic.test ######################### +# # +# Variable Name: sql_log_off # +# Scope: SESSION # +# Access Type: Dynamic # +# Data Type: boolean # +# Default Value: # +# Range: 0,1 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Rizwan # +# # +# Description: Test Cases of Dynamic System Variable sql_log_off # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc +######################################################################## +# START OF sql_log_off TESTS # +######################################################################## + + +################################################################################ +# Saving initial value of sql_log_off in a temporary variable # +################################################################################ + +SET @session_start_value = @@session.sql_log_off; +SELECT @session_start_value; + +--echo '#--------------------FN_DYNVARS_157_01------------------------#' +######################################################################## +# Display the DEFAULT value of sql_log_off # +######################################################################## + +SET @@session.sql_log_off = 0; +SET @@session.sql_log_off = DEFAULT; +SELECT @@session.sql_log_off; + +SET @@session.sql_log_off = 1; +SET @@session.sql_log_off = DEFAULT; +SELECT @@session.sql_log_off; + + +--echo '#---------------------FN_DYNVARS_157_02-------------------------#' +############################################################################# +# Check if sql_log_off can be accessed with and without @@ sign # +############################################################################# + +SET sql_log_off = 1; +SELECT @@sql_log_off; + +--Error ER_UNKNOWN_TABLE +SELECT session.sql_log_off; + +--Error ER_UNKNOWN_TABLE +SELECT local.sql_log_off; + +SET session sql_log_off = 0; +SELECT @@session.sql_log_off; + + +--echo '#--------------------FN_DYNVARS_157_03------------------------#' +######################################################################## +# change the value of sql_log_off to a valid value # +######################################################################## + +SET @@session.sql_log_off = 0; +SELECT @@session.sql_log_off; +SET @@session.sql_log_off = 1; +SELECT @@session.sql_log_off; + + +--echo '#--------------------FN_DYNVARS_157_04-------------------------#' +########################################################################### +# Change the value of sql_log_off to invalid value # +########################################################################### + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_log_off = -1; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_log_off = 2; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_log_off = "T"; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_log_off = "Y"; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_log_off = TRÜE; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_log_off = ÕN; + +SET @@session.sql_log_off = OF; +SELECT @@session.sql_log_off; + +--echo 'Bug# 34828: OF is taken as OFF and a value of 0 is set.' + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_log_off = ÓFF; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_log_off = '¹'; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_log_off = NO; + + +--echo '#-------------------FN_DYNVARS_157_05----------------------------#' +########################################################################### +# Test if accessing global sql_log_off gives error # +########################################################################### + +--Error ER_LOCAL_VARIABLE +SET @@global.sql_log_off = 0; + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@global.sql_log_off; + +--echo '#----------------------FN_DYNVARS_157_06------------------------#' +######################################################################### +# Check if the value in GLOBAL Table contains variable value # +######################################################################### + +SELECT count(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='sql_log_off'; + +--echo '#----------------------FN_DYNVARS_157_07------------------------#' +######################################################################### +# Check if the value in GLOBAL Table matches value in variable # +######################################################################### + +SELECT @@session.sql_log_off = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_log_off'; +SELECT @@session.sql_log_off; +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_log_off'; + +--echo '#---------------------FN_DYNVARS_157_08-------------------------#' +################################################################### +# Check if ON and OFF values can be used on variable # +################################################################### + +SET @@session.sql_log_off = OFF; +SELECT @@session.sql_log_off; +SET @@session.sql_log_off = ON; +SELECT @@session.sql_log_off; + +--echo '#---------------------FN_DYNVARS_157_09----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +SET @@session.sql_log_off = TRUE; +SELECT @@session.sql_log_off; +SET @@session.sql_log_off = FALSE; +SELECT @@session.sql_log_off; + +############################## +# Restore initial value # +############################## + +SET @@session.sql_log_off = @session_start_value; +SELECT @@session.sql_log_off; + +############################################################### +# END OF sql_log_off TESTS # +############################################################### diff --git a/mysql-test/t/sql_log_off_func.test b/mysql-test/t/sql_log_off_func.test new file mode 100644 index 00000000000..fb06a12b264 --- /dev/null +++ b/mysql-test/t/sql_log_off_func.test @@ -0,0 +1,115 @@ +############# mysql-test\t\sql_log_off_func.test ########################## +# # +# Variable Name: sql_log_off # +# Scope: SESSION # +# Access Type: Dynamic # +# Data Type: BOOLEAN # +# Default Value: 0 FALSE # +# Values: 1 TRUE, 0 FALSE # +# # +# # +# Creation Date: 2008-02-25 # +# Author: Sharique Abdullah # +# # +# Description: Test Cases of Dynamic System Variable "sql_log_off" # +# that checks behavior of this variable in the following ways# +# * Functionality based on different values # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/set-option.html # +# # +########################################################################### + +--echo ** Setup ** +--echo +# +# Setup +# + +SET @default_sql_log_off = @@sql_log_off; + +# +# Create tables +# + +CREATE TEMPORARY TABLE t1(a varchar(20), b varchar(20)); + +INSERT INTO t1 VALUES('aa1','bb'); +INSERT INTO t1 VALUES('aa2','bb'); +INSERT INTO t1 VALUES('aa3','bb'); +INSERT INTO t1 VALUES('aa4','bb'); +INSERT INTO t1 VALUES('aa5','bb'); + +--echo '#--------------------FN_DYNVARS_158_01-------------------------#' +# +# Value ON +# + +SET SESSION sql_log_off = ON; + +UPDATE t1 SET a = 'aa1-updated' WHERE a = 'aa1'; + +--echo Checking if log contains the executed statement +SELECT argument FROM mysql.general_log WHERE argument = 'UPDATE t1 SET a = \'aa1-updated\' WHERE a = \'aa1\''; + +--echo '#--------------------FN_DYNVARS_158_02-------------------------#' +# +# Value OFF +# + +SET SESSION sql_log_off = OFF; + +# With ps-protocol the UPDATE is executed twice +--disable_ps_protocol +UPDATE t1 SET a = 'aa1' WHERE a = 'aa1-updated'; +--enable_ps_protocol + +--echo Checking if log contains the executed statement +SELECT argument FROM mysql.general_log WHERE argument = 'UPDATE t1 SET a = \'aa1\' WHERE a = \'aa1-updated\''; + +--echo '#--------------------FN_DYNVARS_158_03--------------------------#' +# +# Session data integrity check +# +--echo ** Connecting con_int1 using root ** +connect (con_int1,localhost,root,,); + +--echo ** Connection con_int1 ** +connection con_int1; +SELECT @@SESSION.sql_log_off; +--echo 0 / FALSE Expected + +SET SESSION sql_log_off = FALSE; +--echo ** Connecting con_int2 using root ** +connect (con_int2,localhost,root,,); + +--echo ** Connection con_int2 ** +connection con_int2; +SELECT @@SESSION.sql_log_off; +--echo 0 / FALSE Expected + +SET SESSION sql_log_off = TRUE; + +--echo ** Connection con_int2 ** +connection con_int2; +SELECT @@SESSION.sql_log_off; +--echo 1 / TRUE Expected + +--echo ** Connection con_int1 ** +connection con_int1; +SELECT @@SESSION.sql_log_off; +--echo 0 / FALSE Expected + +--echo ** Connection default ** +connection default; +--echo Disconnecting Connections con_int1, con_int2 +disconnect con_int1; +disconnect con_int2; + + +# +# Cleanup +# + +SET SESSION sql_log_off = @default_sql_log_off; + +DROP TABLE t1; diff --git a/mysql-test/t/sql_low_priority_updates_basic.test b/mysql-test/t/sql_low_priority_updates_basic.test new file mode 100644 index 00000000000..499723b636d --- /dev/null +++ b/mysql-test/t/sql_low_priority_updates_basic.test @@ -0,0 +1,233 @@ +############## mysql-test\t\sql_low_priority_updates_basic.test ############### +# # +# Variable Name: sql_low_priority_updates # +# Scope: GLOBAL | SESSION # +# Access Type: Dynamic # +# Data Type: boolean # +# Default Value: # +# Valid Values: 0,1 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Rizwan # +# # +# Description: Test Cases of Dynamic System Variable sql_low_priority_updates # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + +######################################################################## +# START OF sql_low_priority_updates TESTS # +######################################################################## + + +############################################################################### +# Saving initial value of sql_low_priority_updates in a temporary variable # +############################################################################### + +SET @session_start_value = @@session.sql_low_priority_updates; +SELECT @session_start_value; + +SET @global_start_value = @@global.sql_low_priority_updates; +SELECT @global_start_value; + +--echo '#--------------------FN_DYNVARS_159_01------------------------#' +######################################################################## +# Display the DEFAULT value of sql_low_priority_updates # +######################################################################## + +SET @@session.sql_low_priority_updates = 1; +SET @@session.sql_low_priority_updates = DEFAULT; +SELECT @@session.sql_low_priority_updates; + +SET @@global.sql_low_priority_updates = 1; +--Error ER_NO_DEFAULT +SET @@global.sql_low_priority_updates = DEFAULT; + +--echo 'Bug: DEFAULT value is only associated with session' + + +--echo '#---------------------FN_DYNVARS_159_02-------------------------#' +#################################################################################### +# Check if sql_low_priority_updates can be accessed with and without @@ sign # +#################################################################################### + +SET sql_low_priority_updates = 1; +SELECT @@sql_low_priority_updates; + +--Error ER_UNKNOWN_TABLE +SELECT session.sql_low_priority_updates; + +--Error ER_UNKNOWN_TABLE +SELECT local.sql_low_priority_updates; + +--Error ER_UNKNOWN_TABLE +SELECT global.sql_low_priority_updates; + +#using another syntax for accessing system variables +SET session sql_low_priority_updates = 0; +SELECT @@session.sql_low_priority_updates; + +SET global sql_low_priority_updates = 0; +SELECT @@global.sql_low_priority_updates; + + +--echo '#--------------------FN_DYNVARS_159_03------------------------#' +########################################################################## +# change the value of sql_low_priority_updates to a valid value # +########################################################################## +# for session +SET @@session.sql_low_priority_updates = 0; +SELECT @@session.sql_low_priority_updates; +SET @@session.sql_low_priority_updates = 1; +SELECT @@session.sql_low_priority_updates; + +# for global +SET @@global.sql_low_priority_updates = 0; +SELECT @@global.sql_low_priority_updates; +SET @@global.sql_low_priority_updates = 1; +SELECT @@global.sql_low_priority_updates; + + +--echo '#--------------------FN_DYNVARS_159_04-------------------------#' +########################################################################### +# Change the value of sql_low_priority_updates to invalid value # +########################################################################### + +# for session +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_low_priority_updates = -1; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_low_priority_updates = 1.6; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_low_priority_updates = "T"; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_low_priority_updates = "Y"; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_low_priority_updates = TRÜE; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_low_priority_updates = ÕN; + +SET @@session.sql_low_priority_updates = OF; +SELECT @@session.sql_low_priority_updates; + +--echo 'Bug# 34828: OF is taken as OFF and a value of 0 is set.' + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_low_priority_updates = ÓFF; + +# for global + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.sql_low_priority_updates = -1; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.sql_low_priority_updates = 2; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.sql_low_priority_updates = "T"; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.sql_low_priority_updates = "Y"; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.sql_low_priority_updates = TRÜE; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.sql_low_priority_updates = ÕN; + +SET @@global.sql_low_priority_updates = OF; +SELECT @@global.sql_low_priority_updates; + +--echo 'Bug# 34828: OF is taken as OFF and a value of 0 is set.' + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.sql_low_priority_updates = ÓFF; + + +--echo '#-------------------FN_DYNVARS_159_05----------------------------#' +########################################################################### +# Test if changing global variable effects session and vice versa # +########################################################################### + +SET @@global.sql_low_priority_updates = 0; +SET @@session.sql_low_priority_updates = 1; +SELECT @@global.sql_low_priority_updates AS res_is_0; + +SET @@global.sql_low_priority_updates = 0; +SELECT @@session.sql_low_priority_updates AS res_is_1; + +--echo '#----------------------FN_DYNVARS_159_06------------------------#' +######################################################################### +# Check if the value in GLOBAL Table matches value in variable # +######################################################################### + +SELECT @@global.sql_low_priority_updates = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='sql_low_priority_updates'; +SELECT @@global.sql_low_priority_updates; +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='sql_low_priority_updates'; + +--echo '#----------------------FN_DYNVARS_159_07------------------------#' +######################################################################### +# Check if the value in SESSION Table matches value in variable # +######################################################################### + +SELECT @@session.sql_low_priority_updates = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_low_priority_updates'; +SELECT @@session.sql_low_priority_updates; +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_low_priority_updates'; + +--echo '#---------------------FN_DYNVARS_159_08-------------------------#' +################################################################### +# Check if ON and OFF values can be used on variable # +################################################################### + +SET @@session.sql_low_priority_updates = OFF; +SELECT @@session.sql_low_priority_updates; +SET @@session.sql_low_priority_updates = ON; +SELECT @@session.sql_low_priority_updates; + +SET @@global.sql_low_priority_updates = OFF; +SELECT @@global.sql_low_priority_updates; +SET @@global.sql_low_priority_updates = ON; +SELECT @@global.sql_low_priority_updates; + +--echo '#---------------------FN_DYNVARS_159_09----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +SET @@session.sql_low_priority_updates = TRUE; +SELECT @@session.sql_low_priority_updates; +SET @@session.sql_low_priority_updates = FALSE; +SELECT @@session.sql_low_priority_updates; + +SET @@global.sql_low_priority_updates = TRUE; +SELECT @@global.sql_low_priority_updates; +SET @@global.sql_low_priority_updates = FALSE; +SELECT @@global.sql_low_priority_updates; + +############################## +# Restore initial value # +############################## + +SET @@session.sql_low_priority_updates = @session_start_value; +SELECT @@session.sql_low_priority_updates; + +SET @@global.sql_low_priority_updates = @global_start_value; +SELECT @@global.sql_low_priority_updates; + +########################################################### +# END OF sql_low_priority_updates TESTS # +########################################################### + diff --git a/mysql-test/t/sql_low_priority_updates_func.test b/mysql-test/t/sql_low_priority_updates_func.test new file mode 100644 index 00000000000..a427adf3ad3 --- /dev/null +++ b/mysql-test/t/sql_low_priority_updates_func.test @@ -0,0 +1,239 @@ +############# mysql-test\t\sql_low_priority_updates_func.test ################# +# # +# Variable Name: sql_low_priority_updates # +# Scope: GLOBAL & SESSION # +# Access Type: Dynamic # +# Data Type: BOOLEAN # +# Default Value: 1 TRUE # +# Values: 1 TRUE, 0 FALSE # +# # +# # +# Creation Date: 2008-02-25 # +# Author: Sharique Abdullah # +# # +# Description: Test Cases of Dynamic System Variable sql_low_priority_updates# +# that checks behavior of this variable in the following ways # +# * Functionality based on different values # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/set-option.html # +# # +############################################################################### + + +################################################################ +# sql_low_priority_updates was renamed to low_priority_updates # +################################################################ + +--echo ** Setup ** +--echo +# +# Setup +# +--echo ** Connecting con0 using root ** +connect (con0,localhost,root,,); +--echo ** Connecting con1 using root ** +connect (con1,localhost,root,,); + +--echo ** Connection default ** +connection default; + +SET @global_low_priority_updates = @@GLOBAL.low_priority_updates; +SET @session_low_priority_updates = @@SESSION.low_priority_updates; + +# +# Create Table +# + +CREATE TABLE t1 (a varchar(100)); + +--echo '#--------------------FN_DYNVARS_160_01-------------------------#' +# +# Value ON +# + +--echo ** Connection con0 ** +connection con0; +SET SESSION low_priority_updates = ON; +--echo ** Connection con1 ** +connection con1; +SET SESSION low_priority_updates = ON; +--echo ** Connection default ** +connection default; +SET SESSION low_priority_updates = ON; + +INSERT INTO t1 VALUES('1'); +INSERT INTO t1 VALUES('2'); +INSERT INTO t1 VALUES('3'); +INSERT INTO t1 VALUES('4'); +INSERT INTO t1 VALUES('5'); +INSERT INTO t1 VALUES('6'); + +LOCK TABLE t1 WRITE; + +--echo ** Connection con1 ** +connection con1; + +--echo ** Asynchronous Execution ** +delimiter |; + +send +UPDATE t1 SET a = CONCAT(a,"-updated");| + +delimiter ;| + +--echo ** Connection con0 ** +connection con0; + +--echo ** Asynchronous Execution ** +delimiter |; + +send +LOCK TABLE t1 READ; +SELECT * FROM t1; +UNLOCK TABLES;| + +delimiter ;| + +--echo ** Connection default ** +connection default; + +--echo Sleeping for 1 secs +--sleep 1 + +UNLOCK TABLES; + +--echo ** Connection con0 ** +connection con0; +--echo ** Asynchronous Result ** +reap; + +--echo Expected values of a without -updated; + +--echo ** Connection default ** +connection default; + +DELETE FROM t1; + +--echo '#--------------------FN_DYNVARS_160_02-------------------------#' +# +# Value ON +# + +--echo ** Connection con0 ** +connection con0; +SET SESSION low_priority_updates = OFF; +--echo ** Connection con1 ** +connection con1; +SET SESSION low_priority_updates = OFF; +--echo ** Connection default** +connection default; +SET SESSION low_priority_updates = OFF; + +INSERT INTO t1 VALUES('1'); +INSERT INTO t1 VALUES('2'); +INSERT INTO t1 VALUES('3'); +INSERT INTO t1 VALUES('4'); +INSERT INTO t1 VALUES('5'); +INSERT INTO t1 VALUES('6'); + +LOCK TABLE t1 WRITE; + +--echo ** Connection con1 ** +connection con1; + +--echo ** Asynchronous Execution ** +delimiter |; + +send +UPDATE t1 SET a = CONCAT(a,"-updated");| + +delimiter ;| + +--echo ** Connection con0 ** +connection con0; + +--echo ** Asynchronous Execution ** +delimiter |; + +send +LOCK TABLE t1 READ; +SELECT * FROM t1; +UNLOCK TABLES;| + +delimiter ;| + +--echo ** Connection default ** +connection default; + +--echo Sleeping for 1 secs +--sleep 1 + +UNLOCK TABLES; + +--echo ** Connection con0 ** +connection con0; +--echo ** Asynchronous Result ** +reap; +--echo Expected values of a with -updated; + +--echo ** Connection default** +connection default; + +DELETE FROM t1; + +--echo '#--------------------FN_DYNVARS_160_03-------------------------#' +# +# Session data integrity check & GLOBAL Value check +# + +--echo ** Connecting con_int1 using root ** +connect (con_int1,localhost,root,,); + +--echo ** Connection con_int1 ** +connection con_int1; +SELECT @@SESSION.low_priority_updates; +--echo 1 / TRUE Expected + +SET SESSION low_priority_updates = FALSE; + +--echo ** Connecting con_int2 using root ** +connect (con_int2,localhost,root,,); + +--echo ** Connection con_int2 ** +connection con_int2; +SELECT @@SESSION.low_priority_updates; +--echo 1 / TRUE Expected + +SET SESSION low_priority_updates = TRUE; + +--echo ** Connection con_int1 ** +connection con_int1; +SELECT @@SESSION.low_priority_updates; +--echo 0 / FALSE Expected + +--echo ** Connection con_int2 ** +connection con_int2; +SELECT @@SESSION.low_priority_updates; +--echo 1 / TRUE Expected + +--echo ** Connection default ** +connection default; + +--echo Disconnecting Connections con_int1, con_int2 +disconnect con_int1; +disconnect con_int2; + +# +# Cleanup +# + +--echo ** Connection default ** +connection default; +--echo Disconnecting Connections con0, con1 +disconnect con0; +disconnect con1; + +DROP TABLE t1; + +SET @@GLOBAL.low_priority_updates = @global_low_priority_updates; +SET @@SESSION.low_priority_updates = @session_low_priority_updates; diff --git a/mysql-test/t/sql_max_join_size_func.test b/mysql-test/t/sql_max_join_size_func.test new file mode 100644 index 00000000000..17b7d911b94 --- /dev/null +++ b/mysql-test/t/sql_max_join_size_func.test @@ -0,0 +1,133 @@ +############# mysql-test\t\sql_max_join_size_func.test #################### +# # +# Variable Name: sql_max_join_size # +# Scope: GLOBAL & SESSION # +# Access Type: Dynamic # +# Data Type: BOOLEAN # +# Default Value: 4294967295 # +# Values: 1-4294967295 # +# # +# # +# Creation Date: 2008-02-25 # +# Author: Sharique Abdullah # +# # +# Description: Test Cases of Dynamic System Variable "sql_max_join_size" # +# that checks behavior of this variable in the following ways# +# * Functionality based on different values # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/server-system # +# -variables.html#option_mysqld_max_join_size # +# # +########################################################################### + +--echo ** Setup ** +# +# Setup +# + +SET @session_max_join_size = @@SESSION.sql_max_join_size; +SET @global_max_join_size = @@GLOBAL.sql_max_join_size; +SET @session_sql_big_selects = @@SESSION.sql_big_selects; + +# +# Create tables +# + +CREATE TEMPORARY TABLE t1(a varchar(20) not null, b varchar(20)); +CREATE TEMPORARY TABLE t2(a varchar(20) null, b varchar(20)); + +INSERT INTO t1 VALUES('aa','bb'); +INSERT INTO t1 VALUES('aa1','bb'); +INSERT INTO t1 VALUES('aa2','bb'); +INSERT INTO t1 VALUES('aa3','bb'); +INSERT INTO t1 VALUES('aa4','bb'); + +INSERT INTO t2 VALUES('aa','bb'); +INSERT INTO t2 VALUES('aa1','bb'); +INSERT INTO t2 VALUES('aa2','bb'); +INSERT INTO t2 VALUES('aa3','bb'); +INSERT INTO t2 VALUES('aa4','bb'); + +--echo '#--------------------FN_DYNVARS_161_01-------------------------#' +# +# Testing fail condition +# + +SET SESSION sql_max_join_size=9; +--error ER_TOO_BIG_SELECT +SELECT * FROM t1 INNER JOIN t2 ON t1.a = t2.a; +--echo Expected error The SELECT would examine more than MAX_JOIN_SIZE rows. + +--echo '#--------------------FN_DYNVARS_161_02-------------------------#' +# +# Testing pass conditions +# + +SET SESSION SQL_BIG_SELECTS = 1; + +SELECT * FROM t1 INNER JOIN t2 ON t1.a = t2.a; +--echo This should work + +SET SESSION sql_max_join_size=DEFAULT; + +DELETE FROM t2 WHERE a = 'aa4'; +SELECT * FROM t1 INNER JOIN t2 ON t1.a = t2.a; +--echo This should work + +--echo '#----------------------------FN_DYNVARS_136_05-------------------------#' +# +# Session data integrity check & GLOBAL Value check +# + +SET GLOBAL sql_max_join_size = 4; +--echo ** Connecting con_int1 using root ** +connect (con_int1,localhost,root,,); + +--echo ** Connection con_int1 ** +connection con_int1; +SELECT @@SESSION.sql_max_join_size; +--echo 4 Expected + +SET SESSION sql_max_join_size = 2; +--echo ** Connecting con_int2 using root ** +connect (con_int2,localhost,root,,); + +--echo ** Connection con_int2 ** +connection con_int2; +SELECT @@SESSION.sql_max_join_size; +--echo 4 Expected + +SET SESSION sql_max_join_size = 10; + +--echo ** Connection con_int2 ** +connection con_int2; +SELECT @@SESSION.sql_max_join_size; +--echo 10 Expected + +--echo ** Connection con_int1 ** +connection con_int1; +SELECT @@SESSION.sql_max_join_size; +--echo 2 Expected + + +SELECT @@GLOBAL.sql_max_join_size; +--echo 4 Expected + +--echo ** Connection default ** +connection default; + +--echo Disconnecting Connections con_int1, con_int2 +disconnect con_int1; +disconnect con_int2; + + +# +# Cleanup +# + +SET @@SESSION.sql_max_join_size = @session_max_join_size; +SET @@GLOBAL.sql_max_join_size = @global_max_join_size ; +SET @@SESSION.sql_big_selects = @session_sql_big_selects; + +DROP TABLE t1; +DROP TABLE t2; diff --git a/mysql-test/t/sql_mode_basic.test b/mysql-test/t/sql_mode_basic.test new file mode 100644 index 00000000000..24f1e8aefcb --- /dev/null +++ b/mysql-test/t/sql_mode_basic.test @@ -0,0 +1,413 @@ +#################### mysql-test\t\sql_mode_basic.test ######################### +# # +# Variable Name: sql_mode # +# Scope: GLOBAL | SESSION # +# Access Type: Dynamic # +# Data Type: enumeration # +# Default Value: YES # +# Valid Values : ANSI, STRICT_TRANS_TABLES, TRADITIONAL, # +# ERROR_FOR_DIVISION_BY_ZERO, ANSI_QUOTES, HIGH_NOT_PRECEDENCE,# +# IGNORE_SPACE, NO_AUTO_CREATE_USER, ONLY_FULL_GROUP_BY, # +# NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES, # +# NO_UNSIGNED_SUBTRACTION, OFF # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Rizwan # +# # +# Description: Test Cases of Dynamic System Variable sql_mode # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + +################################################################ +# START OF sql_mode TESTS # +################################################################ + + +################################################################### +# Saving initial value of sql_mode in a temporary variable # +################################################################### + +SET @global_start_value = @@global.sql_mode; +SELECT @global_start_value; + +SET @session_start_value = @@session.sql_mode; +SELECT @session_start_value; + +--echo '#--------------------FN_DYNVARS_152_01------------------------#' +################################################################ +# Display the DEFAULT value of sql_mode # +################################################################ + +SET @@global.sql_mode = ANSI; +SET @@global.sql_mode = DEFAULT; +SELECT @@global.sql_mode; + +SET @@session.sql_mode = ANSI; +SET @@session.sql_mode = DEFAULT; +SELECT @@session.sql_mode; + +--echo 'Bug# 34876: Default values for both session and global sql_mode is ""'; +--echo 'and not OFF.'; + +--echo '#---------------------FN_DYNVARS_152_02-------------------------#' +######################################################### +# Check if NULL or empty value is accepeted # +######################################################### + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.sql_mode = NULL; + +# resets sql mode to nothing +SET @@global.sql_mode = ''; +SELECT @@global.sql_mode; + +SET @@global.sql_mode = ' '; +SELECT @@global.sql_mode; + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_mode = NULL; + +SET @@session.sql_mode = ''; +SELECT @@session.sql_mode; + +SET @@session.sql_mode = ' '; +SELECT @@session.sql_mode; + + +--echo '#--------------------FN_DYNVARS_152_03------------------------#' +######################################################################## +# Change the value of sql_mode to a valid value # +######################################################################## + +# sql modes ref: http://dev.mysql.com/doc/refman/5.1/en/server-sql-mode.html + +--echo 'Bug: Incomplete sql modes valid values at:'; +--echo 'http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html'; + +# check valid values for global + +SET @@global.sql_mode = ANSI; +SELECT @@global.sql_mode; +SET @@global.sql_mode = STRICT_TRANS_TABLES; +SELECT @@global.sql_mode; +SET @@global.sql_mode = TRADITIONAL; +SELECT @@global.sql_mode; +SET @@global.sql_mode = ALLOW_INVALID_DATES; +SELECT @@global.sql_mode; +SET @@global.sql_mode = ANSI_QUOTES; +SELECT @@global.sql_mode; +SET @@global.sql_mode = ERROR_FOR_DIVISION_BY_ZERO; +SELECT @@global.sql_mode; +SET @@global.sql_mode = HIGH_NOT_PRECEDENCE; +SELECT @@global.sql_mode; +SET @@global.sql_mode = IGNORE_SPACE; +SELECT @@global.sql_mode; +SET @@global.sql_mode = NO_AUTO_CREATE_USER; +SELECT @@global.sql_mode; +SET @@global.sql_mode = NO_AUTO_VALUE_ON_ZERO; +SELECT @@global.sql_mode; +SET @@global.sql_mode = NO_BACKSLASH_ESCAPES; +SELECT @@global.sql_mode; +SET @@global.sql_mode = NO_DIR_IN_CREATE; +SELECT @@global.sql_mode; +SET @@global.sql_mode = NO_ENGINE_SUBSTITUTION; +SELECT @@global.sql_mode; +SET @@global.sql_mode = NO_FIELD_OPTIONS; +SELECT @@global.sql_mode; +SET @@global.sql_mode = NO_KEY_OPTIONS; +SELECT @@global.sql_mode; +SET @@global.sql_mode = NO_TABLE_OPTIONS; +SELECT @@global.sql_mode; +SET @@global.sql_mode = NO_UNSIGNED_SUBTRACTION; +SELECT @@global.sql_mode; +SET @@global.sql_mode = NO_ZERO_DATE; +SELECT @@global.sql_mode; +SET @@global.sql_mode = NO_ZERO_IN_DATE; +SELECT @@global.sql_mode; +SET @@global.sql_mode = ONLY_FULL_GROUP_BY; +SELECT @@global.sql_mode; +SET @@global.sql_mode = PIPES_AS_CONCAT; +SELECT @@global.sql_mode; +SET @@global.sql_mode = REAL_AS_FLOAT; +SELECT @@global.sql_mode; +SET @@global.sql_mode = STRICT_ALL_TABLES; +SELECT @@global.sql_mode; +SET @@global.sql_mode = STRICT_TRANS_TABLES; +SELECT @@global.sql_mode; +SET @@global.sql_mode = DB2; +SELECT @@global.sql_mode; +SET @@global.sql_mode = MAXDB; +SELECT @@global.sql_mode; +SET @@global.sql_mode = MSSQL; +SELECT @@global.sql_mode; +SET @@global.sql_mode = MYSQL323; +SELECT @@global.sql_mode; +SET @@global.sql_mode = MYSQL40; +SELECT @@global.sql_mode; +SET @@global.sql_mode = ORACLE; +SELECT @@global.sql_mode; +SET @@global.sql_mode = POSTGRESQL; +SELECT @@global.sql_mode; +SET @@global.sql_mode = TRADITIONAL; +SELECT @@global.sql_mode; + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.sql_mode = OFF; +--echo 'Bug: OFF is documented as an sql mode but infact it is not'; + +#check valid values for session +SET @@session.sql_mode = ANSI; +SELECT @@session.sql_mode; +SET @@session.sql_mode = STRICT_TRANS_TABLES; +SELECT @@session.sql_mode; +SET @@session.sql_mode = TRADITIONAL; +SELECT @@session.sql_mode; +SET @@session.sql_mode = ALLOW_INVALID_DATES; +SELECT @@session.sql_mode; +SET @@session.sql_mode = ANSI_QUOTES; +SELECT @@session.sql_mode; +SET @@session.sql_mode = ERROR_FOR_DIVISION_BY_ZERO; +SELECT @@session.sql_mode; +SET @@session.sql_mode = HIGH_NOT_PRECEDENCE; +SELECT @@session.sql_mode; +SET @@session.sql_mode = IGNORE_SPACE; +SELECT @@session.sql_mode; +SET @@session.sql_mode = NO_AUTO_CREATE_USER; +SELECT @@session.sql_mode; +SET @@session.sql_mode = NO_AUTO_VALUE_ON_ZERO; +SELECT @@session.sql_mode; +SET @@session.sql_mode = NO_BACKSLASH_ESCAPES; +SELECT @@session.sql_mode; +SET @@session.sql_mode = NO_DIR_IN_CREATE; +SELECT @@session.sql_mode; +SET @@session.sql_mode = NO_ENGINE_SUBSTITUTION; +SELECT @@session.sql_mode; +SET @@session.sql_mode = NO_FIELD_OPTIONS; +SELECT @@session.sql_mode; +SET @@session.sql_mode = NO_KEY_OPTIONS; +SELECT @@session.sql_mode; +SET @@session.sql_mode = NO_TABLE_OPTIONS; +SELECT @@session.sql_mode; +SET @@session.sql_mode = NO_UNSIGNED_SUBTRACTION; +SELECT @@session.sql_mode; +SET @@session.sql_mode = NO_ZERO_DATE; +SELECT @@session.sql_mode; +SET @@session.sql_mode = NO_ZERO_IN_DATE; +SELECT @@session.sql_mode; +SET @@session.sql_mode = ONLY_FULL_GROUP_BY; +SELECT @@session.sql_mode; +SET @@session.sql_mode = PIPES_AS_CONCAT; +SELECT @@session.sql_mode; +SET @@session.sql_mode = REAL_AS_FLOAT; +SELECT @@session.sql_mode; +SET @@session.sql_mode = STRICT_ALL_TABLES; +SELECT @@session.sql_mode; +SET @@session.sql_mode = STRICT_TRANS_TABLES; +SELECT @@session.sql_mode; +SET @@session.sql_mode = DB2; +SELECT @@session.sql_mode; +SET @@session.sql_mode = MAXDB; +SELECT @@session.sql_mode; +SET @@session.sql_mode = MSSQL; +SELECT @@session.sql_mode; +SET @@session.sql_mode = MYSQL323; +SELECT @@session.sql_mode; +SET @@session.sql_mode = MYSQL40; +SELECT @@session.sql_mode; +SET @@session.sql_mode = ORACLE; +SELECT @@session.sql_mode; +SET @@session.sql_mode = POSTGRESQL; +SELECT @@session.sql_mode; +SET @@session.sql_mode = TRADITIONAL; +SELECT @@session.sql_mode; + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_mode = OFF; + +SET @@global.sql_mode = '?'; +SELECT @@global.sql_mode; + +SET @@session.sql_mode = '?'; +SELECT @@session.sql_mode; + +--echo 'Bug# 34834: ? is acceptable as a valid sql mode.' + + +--echo '#--------------------FN_DYNVARS_152_04-------------------------#' +########################################################################### +# Change the value of sql_mode to invalid value # +########################################################################### + +# invalid values for global +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.sql_mode = -1; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.sql_mode = ASCII; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.sql_mode = NON_TRADITIONAL; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.sql_mode = 'OF'; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.sql_mode = NONE; +--Error ER_WRONG_VALUE_FOR_VAR + +#invalid values for session + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_mode = -1; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_mode = ANSI_SINGLE_QUOTES; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_mode = 'ON'; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_mode = 'OF'; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_mode = DISABLE; + + +--echo '#-------------------FN_DYNVARS_152_05----------------------------#' +######################################################################### +# Check if the value in session Table matches value in variable # +######################################################################### + +SELECT @@session.sql_mode = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_mode'; + +--echo '#----------------------FN_DYNVARS_152_06------------------------#' +######################################################################### +# Check if the value in GLOBAL Table matches value in variable # +######################################################################### + +SELECT @@global.sql_mode = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='sql_mode'; + + +--echo '#---------------------FN_DYNVARS_152_07-------------------------#' +################################################################### +# Check if numbers can be used on variable # +################################################################### + +# test if variable accepts 0,1,2 +SET @@global.sql_mode = 0; +SELECT @@global.sql_mode; + +SET @@global.sql_mode = 1; +SELECT @@global.sql_mode; + +SET @@global.sql_mode = 2; +SELECT @@global.sql_mode; + +SET @@global.sql_mode = 3; +SELECT @@global.sql_mode; + +SET @@global.sql_mode = 50000; +SELECT @@global.sql_mode; + +SET @@global.sql_mode = 500000; +SELECT @@global.sql_mode; + +SET @@global.sql_mode = 4294967295; +SELECT @@global.sql_mode; + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.sql_mode = 4294967296; + +# use of decimal values + +SET @@global.sql_mode = 0.4; +SELECT @@global.sql_mode; + +SET @@global.sql_mode = 1.0; +SELECT @@global.sql_mode; + +SET @@global.sql_mode = 40000.1; +SELECT @@global.sql_mode; + +SET @@global.sql_mode = 1.5; +SELECT @@global.sql_mode; + +SET @@global.sql_mode = 124567.49; +SELECT @@global.sql_mode; + +SET @@session.sql_mode = 50000000.5; +SELECT @@session.sql_mode; + +SET @@session.sql_mode = 4294967295.4; +SELECT @@session.sql_mode; + +--echo 'Bug: Decimal values can be used within the range [0.0-4294967295.5).'; +--echo 'Values are rounded to numeric values as evident from outcome.'; + + +--echo '#---------------------FN_DYNVARS_152_08----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +SET @@global.sql_mode = TRUE; +SELECT @@global.sql_mode; +SET @@global.sql_mode = FALSE; +SELECT @@global.sql_mode; + +--echo '#---------------------FN_DYNVARS_152_09----------------------#' +######################################################################### +# Check if sql_mode can be accessed with and without @@ sign # +######################################################################### + + +SET sql_mode = 'ANSI'; + +--Error ER_PARSE_ERROR +SET session.sql_mode = 'ANSI'; +--Error ER_PARSE_ERROR +SET global.sql_mode = 'ANSI'; + +SET session sql_mode = 1; +SELECT @@sql_mode; + +SET global sql_mode = 0; +SELECT @@global.sql_mode; + +--echo '#---------------------FN_DYNVARS_152_10----------------------#' +####################################################################### +# Check if sql_mode values can be combined as specified # +####################################################################### + +SET @@session.sql_mode = 'TRADITIONAL,ALLOW_INVALID_DATES,ANSI_QUOTES'; +SELECT @@session.sql_mode; + +SET @@global.sql_mode = 'ONLY_FULL_GROUP_BY,PIPES_AS_CONCAT,REAL_AS_FLOAT,ORACLE,POSTGRESQL'; +SELECT @@global.sql_mode; + +#try combining invalid mode with correct mode +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_mode = 'ERROR_FOR_DIVISION_BY_ZERO,HIGH_OR_PRECEDENCE, +IGNORE_SPACE'; + +############################## +# Restore initial value # +############################## + +SET @@global.sql_mode = @global_start_value; +SELECT @@global.sql_mode; + +SET @@session.sql_mode = @session_start_value; +SELECT @@session.sql_mode; + +################################################################ +# END OF sql_mode TESTS # +################################################################ + diff --git a/mysql-test/t/sql_mode_func.test b/mysql-test/t/sql_mode_func.test new file mode 100644 index 00000000000..5bb804c26da --- /dev/null +++ b/mysql-test/t/sql_mode_func.test @@ -0,0 +1,200 @@ +############# mysql-test\t\sql_mode_func.test ###################################### +# # +# Variable Name: sql_mode # +# Scope: GLOBAL & SESSION # +# Access Type: Dynamic # +# Data Type: enumeration # +# Values: ALLOW_INVALID_DATES, ANSI_QUOTES, ERROR_FOR_DIVISION_BY_ZERO, # +# HIGH_NOT_PRECEDENCE, IGNORE_SPACE, NO_AUTO_CREATE_USER, # +# NO_AUTO_VALUE_ON_ZERO, NO_BACKSLASH_ESCAPES, NO_DIR_IN_CREATE, # +# NO_ENGINE_SUBSTITUTION, NO_FIELD_OPTIONS, NO_KEY_OPTIONS, # +# NO_TABLE_OPTIONS, NO_UNSIGNED_SUBTRACTION, NO_ZERO_DATE, # +# NO_ZERO_IN_DATE, ONLY_FULL_GROUP_BY, PIPES_AS_CONCAT, REAL_AS_FLOAT# +# STRICT_ALL_TABLES, STRICT_TRANS_TABLES, OFF # +# # +# # +# Creation Date: 2008-02-22 # +# Author: Sharique Abdullah # +# # +# Description: Test Cases of Dynamic System Variable "sql_mode" # +# that checks behavior of this variable in the following ways # +# * Functionality based on different values # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html#option_mysqld_sql_mode # +# # +#################################################################################### + +--echo ** Setup ** +--echo +# +# Setup +# + +# +# Save initial value +# + +SET @sql_mode_session = @@SESSION.sql_mode; +SET @sql_mode_global = @@GLOBAL.sql_mode; + +# +# Create tables +# + +CREATE TEMPORARY TABLE t1(a varchar(20) not null, b varchar(20)); +CREATE TEMPORARY TABLE t2(a varchar(20) null, b varchar(20)); + +--echo '#--------------------FN_DYNVARS_153_01-------------------------#' +# +#ANSI mode +# +--echo ANSI mode + + +SET SESSION sql_mode = ANSI; + +SELECT @@SESSION.sql_mode; + +INSERT INTO t1 VALUES('t1a1','t1b1'); +INSERT INTO t1 VALUES('t1a2','t1b2'); +INSERT INTO t1 VALUES('t1a3','t1b3'); +INSERT INTO t1 VALUES('t1a4','t1b4'); + +INSERT INTO t2 VALUES('t2a1','t2b1'); +INSERT INTO t2 VALUES('t2a2','t2b2'); +INSERT INTO t2 VALUES('t2a3','t2b3'); +INSERT INTO t2 VALUES('t2a4','t2b4'); + +--error ER_INVALID_GROUP_FUNC_USE +SELECT * FROM t1 WHERE t1.a IN (SELECT MAX(t1.b) FROM t2); +--echo Expected error for invalid group function + +# +# Reset +# + +SET SESSION sql_mode = @sql_mode_session; +SET GLOBAL sql_mode = @sql_mode_global; + +--echo '#--------------------FN_DYNVARS_153_02-------------------------#' +# +#STRICT_TRANS_TABLES mode +# +--echo STRICT_TRANS_TABLES mode + +DELETE FROM t1; +DELETE FROM t2; + +SET SESSION sql_mode = STRICT_TRANS_TABLES; + +SELECT @@SESSION.sql_mode; + +INSERT INTO t1 VALUES('t1a1','t1b1'); +INSERT INTO t1 VALUES('t1a2','t1b2'); +INSERT INTO t1 VALUES('t1a3','t1b3'); +INSERT INTO t1 VALUES('t1a4','t1b4'); + +INSERT INTO t2 VALUES(NULL,'t2b1'); +INSERT INTO t2 VALUES('t2a2','t2b2'); +INSERT INTO t2 VALUES('t2a3','t2b3'); +INSERT INTO t2 VALUES('t2a4','t2b4'); + +--error ER_BAD_NULL_ERROR +INSERT INTO t1 SELECT * FROM t2; +--echo Expected error Bad NULL value + +SELECT * FROM t1 WHERE a = 't2a2'; +--echo Should return no rows in columns a,b; + +# +# Reset +# + +SET SESSION sql_mode = @sql_mode_session; +SET GLOBAL sql_mode = @sql_mode_global; + +--echo '#--------------------FN_DYNVARS_153_03-------------------------#' +# +#TRADITIONAL mode +# +--echo TRADITIONAL mode + +SET SESSION sql_mode = TRADITIONAL; + +SELECT @@SESSION.sql_mode; + +INSERT INTO t1 VALUES('t1a1','t1b1'); +INSERT INTO t1 VALUES('t1a2','t1b2'); +INSERT INTO t1 VALUES('t1a3','t1b3'); +INSERT INTO t1 VALUES('t1a4','t1b4'); + +INSERT INTO t2 VALUES(NULL,'t2b1'); +INSERT INTO t2 VALUES('t2a2','t2b2'); +INSERT INTO t2 VALUES('t2a3','t2b3'); +INSERT INTO t2 VALUES('t2a4','t2b4'); + +--error ER_BAD_NULL_ERROR +INSERT INTO t1 SELECT * FROM t2; +--echo Expected error Bad NULL value + +SELECT * FROM t1 WHERE a = 't2a2'; +--echo Should return no rows in columns a,b; + + +--echo '#-------------------FN_DYNVARS_153_04-------------------------#' +# +# Session data integrity check & GLOBAL Value check +# + +SET GLOBAL sql_mode = ''; +--echo ** Connecting con_int1 using root ** +connect (con_int1,localhost,root,,); + +--echo ** Connection con_int1 ** +connection con_int1; +SELECT @@SESSION.sql_mode; +--echo '' Expected + +SET SESSION sql_mode = 'TRADITIONAL'; + +--echo ** Connecting con_int2 using root ** +connect (con_int2,localhost,root,,); + +--echo ** Connection con_int2 ** +connection con_int2; +SELECT @@SESSION.sql_mode; +--echo '' Expected + +SET SESSION sql_mode = 'ANSI'; + +--echo ** Connection con_int2 ** +connection con_int2; +SELECT @@SESSION.sql_mode; +--echo 'REAL_AS_FLOAT, PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE, ANSI' Expected + +--echo ** Connection con_int1 ** +connection con_int1; +SELECT @@SESSION.sql_mode; +--echo 'STRICT_TRANS_TABLES, STRICT_ALL_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, TRADITIONAL' Expected + + +SELECT @@GLOBAL.sql_mode; +--echo '' Expected + +--echo ** Connection default ** +connection default; + +--echo Disconnecting Connections con_int1, con_int2 +disconnect con_int1; +disconnect con_int2; + +# +# Cleanup +# + +SET SESSION sql_mode = @sql_mode_session; +SET GLOBAL sql_mode = @sql_mode_global; + +DROP TABLE t1; +DROP TABLE t2; diff --git a/mysql-test/t/sql_notes_basic.test b/mysql-test/t/sql_notes_basic.test new file mode 100644 index 00000000000..984dca34e46 --- /dev/null +++ b/mysql-test/t/sql_notes_basic.test @@ -0,0 +1,176 @@ +################### mysql-test\t\sql_notes_basic.test ######################### +# # +# Variable Name: sql_notes # +# Scope: SESSION # +# Access Type: Dynamic # +# Data Type: boolean # +# Default Value: # +# Valid Values: 0,1 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Rizwan # +# # +# Description: Test Cases of Dynamic System Variable sql_notes # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + +######################################################################## +# START OF sql_notes TESTS # +######################################################################## + + +############################################################################## +# Saving initial value of sql_notes in a temporary variable # +############################################################################## + +SET @session_start_value = @@session.sql_notes; +SELECT @session_start_value; + + +--echo '#--------------------FN_DYNVARS_161_01------------------------#' +###################################################################### +# Display the DEFAULT value of sql_notes # +###################################################################### + +SET @@session.sql_notes = 0; +SET @@session.sql_notes = DEFAULT; +SELECT @@session.sql_notes; + +SET @@session.sql_notes = 1; +SET @@session.sql_notes = DEFAULT; +SELECT @@session.sql_notes; + + +--echo '#---------------------FN_DYNVARS_161_02-------------------------#' +########################################################################### +# Check if sql_notes can be accessed with and without @@ sign # +########################################################################### + +SET sql_notes = 1; +SELECT @@sql_notes; + +--Error ER_UNKNOWN_TABLE +SELECT session.sql_notes; + +--Error ER_UNKNOWN_TABLE +SELECT local.sql_notes; + +SET session sql_notes = 0; +SELECT @@session.sql_notes; + + +--echo '#--------------------FN_DYNVARS_161_03------------------------#' +###################################################################### +# change the value of sql_notes to a valid value # +###################################################################### + +SET @@session.sql_notes = 0; +SELECT @@session.sql_notes; +SET @@session.sql_notes = 1; +SELECT @@session.sql_notes; + + +--echo '#--------------------FN_DYNVARS_161_04-------------------------#' +######################################################################### +# Change the value of sql_notes to invalid value # +######################################################################### + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_notes = -1; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_notes = 2; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_notes = "T"; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_notes = "Y"; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_notes = TRÜE; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_notes = ÕN; + +SET @@session.sql_notes = OF; +SELECT @@session.sql_notes; + +--echo 'Bug# 34828: OF is taken as OFF and a value of 0 is set.' + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_notes = ÓFF; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_notes = '¹'; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_notes = NO; + + +--echo '#-------------------FN_DYNVARS_161_05----------------------------#' +######################################################################### +# Test if accessing global sql_notes gives error # +######################################################################### + +--Error ER_LOCAL_VARIABLE +SET @@global.sql_notes = 0; + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@global.sql_notes; + +--echo '#----------------------FN_DYNVARS_161_06------------------------#' +######################################################################### +# Check if the value in GLOBAL Table contains variable value # +######################################################################### + +SELECT count(VARIABLE_VALUE) FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='sql_notes'; + +--echo '#----------------------FN_DYNVARS_161_07------------------------#' +######################################################################### +# Check if the value in GLOBAL Table matches value in variable # +######################################################################### + +SELECT @@session.sql_notes = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_notes'; +SELECT @@session.sql_notes; +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_notes'; + +--echo '#---------------------FN_DYNVARS_161_08-------------------------#' +################################################################### +# Check if ON and OFF values can be used on variable # +################################################################### + +SET @@session.sql_notes = OFF; +SELECT @@session.sql_notes; +SET @@session.sql_notes = ON; +SELECT @@session.sql_notes; + +--echo '#---------------------FN_DYNVARS_161_09----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +SET @@session.sql_notes = TRUE; +SELECT @@session.sql_notes; +SET @@session.sql_notes = FALSE; +SELECT @@session.sql_notes; + +############################## +# Restore initial value # +############################## + +SET @@session.sql_notes = @session_start_value; +SELECT @@session.sql_notes; + +############################################################# +# END OF sql_notes TESTS # +############################################################# + diff --git a/mysql-test/t/sql_notes_func.test b/mysql-test/t/sql_notes_func.test new file mode 100644 index 00000000000..f7c521d3736 --- /dev/null +++ b/mysql-test/t/sql_notes_func.test @@ -0,0 +1,134 @@ +############# mysql-test\t\sql_notes_func.test ############################ +# # +# Variable Name: sql_notes # +# Scope: SESSION # +# Access Type: Dynamic # +# Data Type: BOOLEAN # +# Default Value: 1 TRUE # +# Values: 1 TRUE, 0 FALSE # +# # +# # +# Creation Date: 2008-02-25 # +# Author: Sharique Abdullah # +# # +# Description: Test Cases of Dynamic System Variable "sql_notes" # +# that checks behavior of this variable in the following ways# +# * Functionality based on different values # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/set-option.html # +# # +########################################################################### + +# Due to suppressed warnings the pc-protocol is disabled +--disable_ps_protocol + +--echo ** Setup ** +--echo +# +# Setup +# + +SET @default_sql_notes = @@sql_notes; + +--echo '#--------------------FN_DYNVARS_162_01-------------------------#' +# +# Value ON +# + +SET SESSION sql_notes = ON; + +--echo creating a temporary table +CREATE TEMPORARY TABLE t1(a varchar(20), b varchar(20)); +--echo conditionally dropping the table twice so that a note generates + +DROP TABLE IF EXISTS t1; + +SELECT @@warning_count; +--echo 0 Expected + +# +#This line generates A Note warning +# +DROP TABLE IF EXISTS t1; + +SELECT @@warning_count; +--echo 1 Expected + +--echo '#--------------------FN_DYNVARS_162_02-------------------------#' +# +# Value OFF +# + +SET SESSION sql_notes = OFF; + +--echo creating a temporary table +CREATE TEMPORARY TABLE t1(a varchar(20), b varchar(20)); +--echo conditionally dropping the table twice so that a note generates + +DROP TABLE IF EXISTS t1; + +SELECT @@warning_count; +--echo 0 Expected + +# +#This line generates A Note warning +# +DROP TABLE IF EXISTS t1; + +SELECT @@warning_count; +--echo 0 Expected + +--echo '#------------------FN_DYNVARS_162_03---------------------------#' +# +# Session data integrity check & GLOBAL Value check +# + +--echo ** Connecting con_int1 using root ** +connect (con_int1,localhost,root,,); + +--echo ** Connection con_int1 ** +connection con_int1; +SELECT @@SESSION.sql_notes; +--echo 1 / TRUE Expected + +SET SESSION sql_notes = FALSE; + +--echo ** Connecting con_int2 using root ** +connect (con_int2,localhost,root,,); + +--echo ** Connection con_int2 ** +connection con_int2; +SELECT @@SESSION.sql_notes; +--echo 1 / TRUE Expected + +SET SESSION sql_notes = TRUE; + +--echo ** Connection con_int2 ** +connection con_int2; +SELECT @@SESSION.sql_notes; +--echo 1 / TRUE Expected + +--echo ** Connection con_int1 ** +connection con_int1; +SELECT @@SESSION.sql_notes; +--echo 0 / FALSE Expected + +--echo ** Connection default ** +connection default; +--echo Disconnecting Connections con_int1, con_int2 +disconnect con_int1; +disconnect con_int2; + + +# +# Cleanup +# + +SET SESSION sql_notes = @default_sql_notes; + +--disable_warnings +DROP TABLE IF EXISTS t1; +--enable_warnings + +--enable_ps_protocol + diff --git a/mysql-test/t/sql_quote_show_create_basic.test b/mysql-test/t/sql_quote_show_create_basic.test new file mode 100644 index 00000000000..1919b3ee642 --- /dev/null +++ b/mysql-test/t/sql_quote_show_create_basic.test @@ -0,0 +1,176 @@ +############## mysql-test\t\sql_quote_show_create_basic.test ################## +# # +# Variable Name: sql_quote_show_create # +# Scope: SESSION # +# Access Type: Dynamic # +# Data Type: boolean # +# Default Value: # +# Valid Values: 0,1 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Rizwan # +# # +# Description: Test Cases of Dynamic System Variable sql_quote_show_create # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + +####################################################################### +# START OF sql_quote_show_create TESTS # +####################################################################### + + +############################################################################## +# Saving initial value of sql_quote_show_create in a temporary variable # +############################################################################## + +SET @session_start_value = @@session.sql_quote_show_create; +SELECT @session_start_value; + +--echo '#--------------------FN_DYNVARS_162_01------------------------#' +###################################################################### +# Display the DEFAULT value of sql_quote_show_create # +###################################################################### + +SET @@session.sql_quote_show_create = 0; +SET @@session.sql_quote_show_create = DEFAULT; +SELECT @@session.sql_quote_show_create; + +SET @@session.sql_quote_show_create = 1; +SET @@session.sql_quote_show_create = DEFAULT; +SELECT @@session.sql_quote_show_create; + + +--echo '#---------------------FN_DYNVARS_162_02-------------------------#' +############################################################################# +# Check if sql_quote_show_create can be accessed with and without @@ sign # +############################################################################# + +SET sql_quote_show_create = 1; +SELECT @@sql_quote_show_create; + +--Error ER_UNKNOWN_TABLE +SELECT session.sql_quote_show_create; + +--Error ER_UNKNOWN_TABLE +SELECT local.sql_quote_show_create; + +SET session sql_quote_show_create = 0; +SELECT @@session.sql_quote_show_create; + + +--echo '#--------------------FN_DYNVARS_162_03------------------------#' +######################################################################## +# change the value of sql_quote_show_create to a valid value # +######################################################################## + +SET @@session.sql_quote_show_create = 0; +SELECT @@session.sql_quote_show_create; +SET @@session.sql_quote_show_create = 1; +SELECT @@session.sql_quote_show_create; + + +--echo '#--------------------FN_DYNVARS_162_04-------------------------#' +########################################################################## +# Change the value of sql_quote_show_create to invalid value # +########################################################################## + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_quote_show_create = -1; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_quote_show_create = 2; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_quote_show_create = "T"; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_quote_show_create = "Y"; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_quote_show_create = TRÜE; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_quote_show_create = ÕN; + +SET @@session.sql_quote_show_create = OF; +SELECT @@session.sql_quote_show_create; + +--echo 'Bug# 34828: OF is taken as OFF and a value of 0 is set.' + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_quote_show_create = ÓFF; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_quote_show_create = '¹'; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_quote_show_create = NO; + + +--echo '#-------------------FN_DYNVARS_162_05----------------------------#' +########################################################################## +# Test if accessing global sql_quote_show_create gives error # +########################################################################## + +--Error ER_LOCAL_VARIABLE +SET @@global.sql_quote_show_create = 0; + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@global.sql_quote_show_create; + +--echo '#----------------------FN_DYNVARS_162_06------------------------#' +######################################################################### +# Check if the value in GLOBAL Table contains variable value # +######################################################################### + +SELECT count(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='sql_quote_show_create'; + +--echo '#----------------------FN_DYNVARS_162_07------------------------#' +######################################################################### +# Check if the value in GLOBAL Table matches value in variable # +######################################################################### + +SELECT @@session.sql_quote_show_create = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_quote_show_create'; +SELECT @@session.sql_quote_show_create; +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_quote_show_create'; + +--echo '#---------------------FN_DYNVARS_162_08-------------------------#' +################################################################### +# Check if ON and OFF values can be used on variable # +################################################################### + +SET @@session.sql_quote_show_create = OFF; +SELECT @@session.sql_quote_show_create; +SET @@session.sql_quote_show_create = ON; +SELECT @@session.sql_quote_show_create; + +--echo '#---------------------FN_DYNVARS_162_09----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +SET @@session.sql_quote_show_create = TRUE; +SELECT @@session.sql_quote_show_create; +SET @@session.sql_quote_show_create = FALSE; +SELECT @@session.sql_quote_show_create; + +############################## +# Restore initial value # +############################## + +SET @@session.sql_quote_show_create = @session_start_value; +SELECT @@session.sql_quote_show_create; + +############################################################### +# END OF sql_quote_show_create TESTS # +############################################################### diff --git a/mysql-test/t/sql_quote_show_create_func.test b/mysql-test/t/sql_quote_show_create_func.test new file mode 100644 index 00000000000..6350771a0da --- /dev/null +++ b/mysql-test/t/sql_quote_show_create_func.test @@ -0,0 +1,114 @@ +############# mysql-test\t\sql_quote_show_create_func.test ################# +# # +# Variable Name: sql_quote_show_create # +# Scope: SESSION # +# Access Type: Dynamic # +# Data Type: BOOLEAN # +# Default Value: 1 TRUE # +# Values: 1 TRUE, 0 FALSE # +# # +# # +# Creation Date: 2008-02-25 # +# Author: Sharique Abdullah # +# # +# Description: Test Cases of Dynamic System Variable sql_quote_show_create# +# that checks behavior of this variable in the following ways # +# * Functionality based on different values # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/set-option.html # +# # +############################################################################ + +--echo ** Setup ** +--echo +# +# Setup +# + +SET @default_sql_quote_show_create = @@sql_quote_show_create; + +# +# Creating tables +# + +CREATE TEMPORARY TABLE t1(a varchar(20), b varchar(20)); + +--echo '#-----------------------------FN_DYNVARS_163_01------------------------------------#' +# +# Value TRUE +# + +SET SESSION sql_quote_show_create = TRUE; + +SHOW CREATE DATABASE test; +--echo EXPECTING identifiers test TO BE quoted like 'test' + +SHOW CREATE TABLE t1; +--echo EXPECTING identifiers a, b, t1 TO BE quoted like 'a','b','t1' + + +--echo '#-----------------------------FN_DYNVARS_163_02------------------------------------#' +# +# Value FALSE +# + +SET SESSION sql_quote_show_create = FALSE; + +SHOW CREATE DATABASE test; +--echo EXPECTING identifiers test NOT TO BE quoted like 'test' + +SHOW CREATE TABLE t1; +--echo EXPECTING identifiers a, b, t1 NOT TO BE quoted like 'a','b','t1' + +--echo '#----------------------------FN_DYNVARS_163_03--------------------------------------#' +# +# Session data integrity check +# + +--echo ** Connecting con_int1 using root ** +connect (con_int1,localhost,root,,); + +--echo ** Connection con_int1 ** +connection con_int1; +SELECT @@SESSION.sql_quote_show_create; +--echo 1 / TRUE Expected + +SET SESSION sql_quote_show_create = FALSE; + +--echo ** Connecting con_int2 using root ** +connect (con_int2,localhost,root,,); + +--echo ** Connection con_int2 ** +connection con_int2; +SELECT @@SESSION.sql_quote_show_create; +--echo 1 / TRUE Expected + +SET SESSION sql_quote_show_create = TRUE; + +--echo ** Connection con_int2 ** +connection con_int2; +SELECT @@SESSION.sql_quote_show_create; +--echo 1 / TRUE Expected + +--echo ** Connection con_int1 ** +connection con_int1; +SELECT @@SESSION.sql_quote_show_create; +--echo 0 / FALSE Expected + +--echo ** Connection default ** +connection default; + +--echo Disconnecting Connections con_int1, con_int2 +disconnect con_int1; +disconnect con_int2; + + +# +# Cleanup +# +--echo +--echo Cleanup + +SET @@sql_quote_show_create = @default_sql_quote_show_create; + +DROP TABLE t1; diff --git a/mysql-test/t/sql_safe_updates_basic.test b/mysql-test/t/sql_safe_updates_basic.test new file mode 100644 index 00000000000..489b42949a0 --- /dev/null +++ b/mysql-test/t/sql_safe_updates_basic.test @@ -0,0 +1,175 @@ +############## mysql-test\t\sql_safe_updates_basic.test ####################### +# # +# Variable Name: sql_safe_updates # +# Scope: SESSION # +# Access Type: Dynamic # +# Data Type: boolean # +# Default Value: # +# Range: 0,1 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Rizwan # +# # +# Description: Test Cases of Dynamic System Variable sql_safe_updates # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc +######################################################################## +# START OF sql_safe_updates TESTS # +######################################################################## + + +################################################################################ +# Saving initial value of sql_safe_updates in a temporary variable # +################################################################################ + +SET @session_start_value = @@session.sql_safe_updates; +SELECT @session_start_value; + +--echo '#--------------------FN_DYNVARS_163_01------------------------#' +######################################################################## +# Display the DEFAULT value of sql_safe_updates # +######################################################################## + +SET @@session.sql_safe_updates = 0; +SET @@session.sql_safe_updates = DEFAULT; +SELECT @@session.sql_safe_updates; + +SET @@session.sql_safe_updates = 1; +SET @@session.sql_safe_updates = DEFAULT; +SELECT @@session.sql_safe_updates; + + +--echo '#---------------------FN_DYNVARS_163_02-------------------------#' +############################################################################# +# Check if sql_safe_updates can be accessed with and without @@ sign # +############################################################################# + +SET sql_safe_updates = 1; +SELECT @@sql_safe_updates; + +--Error ER_UNKNOWN_TABLE +SELECT session.sql_safe_updates; + +--Error ER_UNKNOWN_TABLE +SELECT local.sql_safe_updates; + +SET session sql_safe_updates = 0; +SELECT @@session.sql_safe_updates; + + +--echo '#--------------------FN_DYNVARS_163_03------------------------#' +######################################################################## +# change the value of sql_safe_updates to a valid value # +######################################################################## + +SET @@session.sql_safe_updates = 0; +SELECT @@session.sql_safe_updates; +SET @@session.sql_safe_updates = 1; +SELECT @@session.sql_safe_updates; + + +--echo '#--------------------FN_DYNVARS_163_04-------------------------#' +########################################################################### +# Change the value of sql_safe_updates to invalid value # +########################################################################### + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_safe_updates = -1; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_safe_updates = 2; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_safe_updates = "T"; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_safe_updates = "Y"; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_safe_updates = TRÜE; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_safe_updates = ÕN; + +SET @@session.sql_safe_updates = OF; +SELECT @@session.sql_safe_updates; + +--echo 'Bug# 34828: OF is taken as OFF and a value of 0 is set.' + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_safe_updates = ÓFF; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_safe_updates = '¹'; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_safe_updates = NO; + + +--echo '#-------------------FN_DYNVARS_163_05----------------------------#' +########################################################################### +# Test if accessing global sql_safe_updates gives error # +########################################################################### + +--Error ER_LOCAL_VARIABLE +SET @@global.sql_safe_updates = 0; + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@global.sql_safe_updates; + +--echo '#----------------------FN_DYNVARS_163_06------------------------#' +######################################################################### +# Check if the value in GLOBAL Table contains variable value # +######################################################################### + +SELECT count(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='sql_safe_updates'; + +--echo '#----------------------FN_DYNVARS_163_07------------------------#' +######################################################################### +# Check if the value in GLOBAL Table matches value in variable # +######################################################################### + +SELECT @@session.sql_safe_updates = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_safe_updates'; +SELECT @@session.sql_safe_updates; +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_safe_updates'; + +--echo '#---------------------FN_DYNVARS_163_08-------------------------#' +################################################################### +# Check if ON and OFF values can be used on variable # +################################################################### + +SET @@session.sql_safe_updates = OFF; +SELECT @@session.sql_safe_updates; +SET @@session.sql_safe_updates = ON; +SELECT @@session.sql_safe_updates; + +--echo '#---------------------FN_DYNVARS_163_09----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +SET @@session.sql_safe_updates = TRUE; +SELECT @@session.sql_safe_updates; +SET @@session.sql_safe_updates = FALSE; +SELECT @@session.sql_safe_updates; + +############################## +# Restore initial value # +############################## + +SET @@session.sql_safe_updates = @session_start_value; +SELECT @@session.sql_safe_updates; + +############################################################### +# END OF sql_safe_updates TESTS # +############################################################### diff --git a/mysql-test/t/sql_safe_updates_func.test b/mysql-test/t/sql_safe_updates_func.test new file mode 100644 index 00000000000..a8ce3a8d0f7 --- /dev/null +++ b/mysql-test/t/sql_safe_updates_func.test @@ -0,0 +1,202 @@ +############# mysql-test\t\sql_safe_updates_func.test ##################### +# # +# Variable Name: sql_safe_updates # +# Scope: SESSION # +# Access Type: Dynamic # +# Data Type: BOOLEAN # +# Default Value: 1 TRUE # +# Values: 1 TRUE, 0 FALSE # +# # +# # +# Creation Date: 2008-02-25 # +# Author: Sharique Abdullah # +# # +# Description: Test Cases of Dynamic System Variable "sql_safe_updates" # +# that checks behavior of this variable in the following ways# +# * Functionality based on different values # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/set-option.html # +# # +########################################################################### + +--echo ** Setup ** +--echo +# +# Setup +# + +SET @default_sql_safe_updates = @@sql_safe_updates; + +# +# Creating tables +# + +CREATE TEMPORARY TABLE t1(a int PRIMARY KEY, b varchar(20)); + +INSERT INTO t1 VALUES(1, 'val1'); +INSERT INTO t1 VALUES(2, 'val2'); +INSERT INTO t1 VALUES(3, 'val3'); +INSERT INTO t1 VALUES(4, 'val4'); +INSERT INTO t1 VALUES(5, 'val5'); +INSERT INTO t1 VALUES(6, 'val6'); +INSERT INTO t1 VALUES(7, 'val7'); +INSERT INTO t1 VALUES(8, 'val8'); +INSERT INTO t1 VALUES(9, 'val9'); + + + +--echo '#-----------------------------FN_DYNVARS_164_01------------------------------------#' +--echo +--echo Value ON +--echo +# +# Value ON +# + +SET SESSION sql_safe_updates = ON; + +--echo '#-----------------------------FN_DYNVARS_164_02------------------------------------#' +# +# Without WHERE Clause +# +--echo Expected error : Update without key in safe mode +--error ER_UPDATE_WITHOUT_KEY_IN_SAFE_MODE +DELETE FROM t1; +SELECT * FROM t1; + +PREPARE stmt FROM 'DELETE FROM t1;'; +--echo Expected error : Update without key in safe mode +--error ER_UPDATE_WITHOUT_KEY_IN_SAFE_MODE +EXECUTE stmt; +DEALLOCATE PREPARE stmt; + +--echo '#-----------------------------FN_DYNVARS_164_03------------------------------------#' +# +# With a LIMIT Clause +# +--echo Expected error : Update without key in safe mode +--error ER_UPDATE_WITHOUT_KEY_IN_SAFE_MODE +DELETE FROM t1 LIMIT 2; +SELECT * FROM t1; + +--echo '#-----------------------------FN_DYNVARS_164_04------------------------------------#' +# +# With a no key WHERE Clause +# +--echo Expected error : Update without key in safe mode +--error ER_UPDATE_WITHOUT_KEY_IN_SAFE_MODE +DELETE FROM t1 WHERE b='val1'; +SELECT * FROM t1; + +--echo '#-----------------------------FN_DYNVARS_164_05------------------------------------#' +# +# With a key WHERE Clause +# +--echo This one should work +DELETE FROM t1 WHERE a=1; +SELECT * FROM t1; + +--echo +--echo Value OFF +--echo +# +# Value OFF +# + +SET SESSION sql_safe_updates = OFF; + +--echo '#-----------------------------FN_DYNVARS_164_06------------------------------------#' +# +# With a no key WHERE Clause +# +--echo This one should work +DELETE FROM t1 WHERE b='val1'; +SELECT * FROM t1; + +--echo '#-----------------------------FN_DYNVARS_164_07------------------------------------#' +# +# With a key WHERE Clause +# +--echo This one should work +DELETE FROM t1 WHERE a=1; +SELECT * FROM t1; + +--echo '#-----------------------------FN_DYNVARS_164_08------------------------------------#' +# +# With a LIMIT Clause +# +--echo This one should work +DELETE FROM t1 LIMIT 2; +SELECT * FROM t1; + +--echo '#-----------------------------FN_DYNVARS_164_09------------------------------------#' +# +# Without WHERE Clause +# +--echo This one should work +--echo DELETE FROM t1; +--error ER_MIXING_NOT_ALLOWED +#DELETE FROM t1; +--echo Bug#35392 Unexpected error occurs in this statement Can't change size of the file +--echo statement is remarked because the error is uncatchable by testing framework +SELECT * FROM t1; + +PREPARE stmt FROM 'DELETE FROM t1;'; +--echo Expected error : Update without key in safe mode +--error ER_MIXING_NOT_ALLOWED +#EXECUTE stmt; +--echo Bug#35392 Unexpected error occurs in this statement Can't change size of the file +--echo statement is remarked because the error is uncatchable by testing framework +DEALLOCATE PREPARE stmt; + + +--echo '#----------------------------FN_DYNVARS_164_10--------------------------------------#' +# +# Session data integrity check +# + +--echo ** Connecting con_int1 using root ** +connect (con_int1,localhost,root,,); + +--echo ** Connection con_int1 ** +connection con_int1; +SELECT @@SESSION.sql_safe_updates; +--echo 0 / FALSE Expected + +SET SESSION sql_safe_updates = FALSE; + +--echo ** Connecting con_int2 using root ** +connect (con_int2,localhost,root,,); + +--echo ** Connection con_int2 ** +connection con_int2; +SELECT @@SESSION.sql_safe_updates; +--echo 0 / FALSE Expected + +SET SESSION sql_safe_updates = TRUE; + +--echo ** Connection con_int2 ** +connection con_int2; +SELECT @@SESSION.sql_safe_updates; +--echo 1 / TRUE Expected + +--echo ** Connection con_int1 ** +connection con_int1; +SELECT @@SESSION.sql_safe_updates; +--echo 0 / FALSE Expected + +--echo ** Connection default ** +connection default; + +--echo Disconnecting Connections con_int1, con_int2 +disconnect con_int1; +disconnect con_int2; + + +# +# Cleanup +# + +SET SESSION sql_safe_updates = @default_sql_safe_updates; + +DROP TABLE t1; diff --git a/mysql-test/t/sql_select_limit_func.test b/mysql-test/t/sql_select_limit_func.test new file mode 100644 index 00000000000..ed582949aa0 --- /dev/null +++ b/mysql-test/t/sql_select_limit_func.test @@ -0,0 +1,209 @@ +############# mysql-test\t\sql_select_limit_func.test ##################### +# # +# Variable Name: sql_select_limit # +# Scope: GLOBAL, SESSION # +# Access Type: Dynamic # +# Data Type: NUMERIC # +# Default Value: 4294967295 # +# Values: 1-4294967295 # +# # +# # +# Creation Date: 2008-02-25 # +# Author: Sharique Abdullah # +# # +# Description: Test Cases of Dynamic System Variable "sql_select_limit" # +# that checks behavior of this variable in the following ways# +# * Functionality based on different values # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/set-option.html # +# # +########################################################################### + +--echo ** Setup ** +--echo +# +# Setup +# + +SET @session_sql_select_limit = @@SESSION.sql_select_limit; +SET @global_sql_select_limit = @@GLOBAL.sql_select_limit; + +# +# Creating tables +# + +CREATE TEMPORARY TABLE t1(a int PRIMARY KEY, b varchar(20)); +CREATE TEMPORARY TABLE t2(a int PRIMARY KEY, b varchar(20)); +CREATE TEMPORARY TABLE t3(a int PRIMARY KEY, b varchar(20)); + +INSERT INTO t1 VALUES(1, 'val1'); +INSERT INTO t1 VALUES(2, 'val2'); +INSERT INTO t1 VALUES(3, 'val3'); +INSERT INTO t1 VALUES(4, 'val4'); +INSERT INTO t1 VALUES(5, 'val5'); +INSERT INTO t1 VALUES(6, 'val6'); +INSERT INTO t1 VALUES(7, 'val7'); +INSERT INTO t1 VALUES(8, 'val8'); +INSERT INTO t1 VALUES(9, 'val9'); + +INSERT INTO t2 VALUES(5, 'val5'); +INSERT INTO t2 VALUES(6, 'val6'); +INSERT INTO t2 VALUES(7, 'val7'); +INSERT INTO t2 VALUES(8, 'val8'); +INSERT INTO t2 VALUES(9, 'val9'); + + + +--echo '#-----------------------------FN_DYNVARS_165_01-----------------#' +--echo +--echo Value DEFAULT +--echo +# +# Value DEFAULT +# + +--enable_info + +SET SESSION sql_select_limit = DEFAULT; + +SELECT * FROM t1; +--echo Expecting affected rows: 9 + +SELECT * FROM t1 INNER JOIN t2 ON t1.a = t2.a; +--echo Expecting affected rows: 5 + + +--echo '#-----------------------------FN_DYNVARS_165_02---------------#' +# +# Small value +# + +SET SESSION sql_select_limit = 2; + +SELECT * FROM t1; +--echo Expecting affected rows: 2 + +SELECT * FROM t1 INNER JOIN t2 ON t1.a = t2.a; +--echo Expecting affected rows: 2 + +--echo '#-----------------------------FN_DYNVARS_165_03---------------#' +# +# Small value with LIMIT Clause +# + +SET SESSION sql_select_limit = 2; + +SELECT * FROM t1 LIMIT 4; +--echo Expecting affected rows: 4 + +SELECT * FROM t1 INNER JOIN t2 ON t1.a = t2.a LIMIT 3; +--echo Expecting affected rows: 3 + +--echo '#-----------------------------FN_DYNVARS_165_04----------------#' +# +# Small value with Store procedure +# + +SET SESSION sql_select_limit = 2; + +delimiter |; + +CREATE PROCEDURE TestProc() +BEGIN + SELECT * FROM t1; +END| +delimiter ;| + +call TestProc(); +--echo Expecting affected rows: 9 + +DROP PROCEDURE TestProc; + +delimiter |; + +CREATE PROCEDURE TestProc() +BEGIN + SELECT * FROM t1 INNER JOIN t2 ON t1.a = t2.a; +END| +delimiter ;| + +call TestProc(); +--echo Expecting affected rows: 5 + +DROP PROCEDURE TestProc; + +--echo '#-----------------------------FN_DYNVARS_165_05-----------------#' +# +# Small value with Non result producing SELECT statements +# + +SET SESSION sql_select_limit = 2; + +CREATE TEMPORARY TABLE t4(a int PRIMARY KEY, b varchar(20)) SELECT * FROM t2; +--echo Expecting Records: 5 + +INSERT INTO t3 SELECT * FROM t1; +--echo Expecting Records: 9 + +--echo '#-----------------------------FN_DYNVARS_165_06---------------------#' +# +# Session data integrity check & GLOBAL Value check +# +--disable_info + +SET GLOBAL sql_select_limit = 2; + +--echo ** Connecting con_int2 using root ** +connect (con_int1,localhost,root,,); + +--echo ** Connection con_int1 ** +connection con_int1; +SELECT @@SESSION.sql_select_limit; +--echo 2 Expected + +SET SESSION sql_select_limit = 10; + +--echo ** Connecting con_int2 using root ** +connect (con_int2,localhost,root,,); + +--echo ** Connection con_int2 ** +connection con_int2; +SELECT @@SESSION.sql_select_limit; +--echo 2 Expected + +SET SESSION sql_select_limit = 12; + +--echo ** Connection con_int2 ** +connection con_int2; +SELECT @@SESSION.sql_select_limit; +--echo 12 Expected + +--echo ** Connection con_int1 ** +connection con_int1; +SELECT @@SESSION.sql_select_limit; +--echo 10 Expected + +SELECT @@GLOBAL.sql_select_limit; +--echo 2 Expected + +--echo ** Connection default ** +connection default; + +--echo Disconnecting Connections con_int1, con_int2 +disconnect con_int1; +disconnect con_int2; + + +# +# Cleanup +# + +--disable_info + +SET @@SESSION.sql_select_limit = @session_sql_select_limit; +SET @@GLOBAL.sql_select_limit = @global_sql_select_limit; + +DROP TABLE t1; +DROP TABLE t2; +DROP TABLE t3; +DROP TABLE t4; diff --git a/mysql-test/t/sql_slave_skip_counter_basic.test b/mysql-test/t/sql_slave_skip_counter_basic.test new file mode 100644 index 00000000000..e7d9098aee9 --- /dev/null +++ b/mysql-test/t/sql_slave_skip_counter_basic.test @@ -0,0 +1,109 @@ +############## mysql-test\t\sql_slave_skip_counter_basic.test ################# +# # +# Variable Name: sql_slave_skip_counter # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: numeric # +# Default Value: # +# Range: # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Rizwan # +# # +# Description: Test Cases of Dynamic System Variable sql_slave_skip_counter # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/not_embedded.inc +--source include/load_sysvars.inc + +################################################################ +# START OF sql_slave_skip_counter TESTS # +################################################################ + +--echo '#--------------------FN_DYNVARS_165_01-------------------------#' +############################################################# +# Try accessing initial value # +############################################################# + +--Error ER_VAR_CANT_BE_READ +SET @start_global_value = @@global.sql_slave_skip_counter; +--Error ER_VAR_CANT_BE_READ +SELECT @@global.sql_slave_skip_counter; + +--echo 'Info:This value is write only. Value can not be read' + +--echo '#--------------------FN_DYNVARS_165_02-------------------------#' +################################################################### +# Try setting DEFAULT value to variable # +################################################################### + +--Error ER_NO_DEFAULT +SET @@global.sql_slave_skip_counter = DEFAULT; + + +--echo '#--------------------FN_DYNVARS_165_03-------------------------#' +################################################################### +# Try setting any valid value to variable # +################################################################### + +SET @@global.sql_slave_skip_counter = 0; +SET @@global.sql_slave_skip_counter = 5; +SET @@global.sql_slave_skip_counter = 1024; +SET @@global.sql_slave_skip_counter = 2147483648; +SET @@global.sql_slave_skip_counter = 2147483648*2; +SET @@global.sql_slave_skip_counter = 2147483648*2-1; +SET @@global.sql_slave_skip_counter = 4294967295*4294967295; + + +--echo '#--------------------FN_DYNVARS_165_03-------------------------#' +################################################################### +# Checking invalid value for variable # +################################################################### + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.sql_slave_skip_counter = '5'; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.sql_slave_skip_counter = 5.5; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.sql_slave_skip_counter = -.5; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.sql_slave_skip_counter = -.0; + + +--echo '#--------------------FN_DYNVARS_165_03-------------------------#' +################################################################### +# Try retrieving value from Information Schema # +################################################################### + +SET @@global.sql_slave_skip_counter = 1024; +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_slave_skip_counter'; + + +--echo '#--------------------FN_DYNVARS_165_03-------------------------#' +################################################################### +# Checking if variable is accessible with session scope # +################################################################### + +--Error ER_GLOBAL_VARIABLE +SET @@sql_slave_skip_counter = 10; +--Error ER_GLOBAL_VARIABLE +SET @@session.sql_slave_skip_counter = 12; +--Error ER_GLOBAL_VARIABLE +SET @@local.sql_slave_skip_counter = 13; + +######################################################## +# END OF sql_slave_skip_counter TESTS # +######################################################## + diff --git a/mysql-test/t/sql_warnings_basic.test b/mysql-test/t/sql_warnings_basic.test new file mode 100644 index 00000000000..f740403ceda --- /dev/null +++ b/mysql-test/t/sql_warnings_basic.test @@ -0,0 +1,182 @@ +################# mysql-test\t\sql_warnings_basic.test ######################## +# # +# Variable Name: sql_warnings # +# Scope: SESSION # +# Access Type: Dynamic # +# Data Type: boolean # +# Default Value: # +# Valid Values:0,1 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Rizwan # +# # +# Description: Test Cases of Dynamic System Variable sql_warnings # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + + +######################################################################## +# START OF sql_warnings TESTS # +######################################################################## + + +############################################################################## +# Saving initial value of sql_warnings in a temporary variable # +############################################################################## + +SET @session_start_value = @@session.sql_warnings; +SELECT @session_start_value; + + +--echo '#--------------------FN_DYNVARS_166_01------------------------#' +######################################################################## +# Display the DEFAULT value of sql_warnings # +######################################################################## + +SET @@session.sql_warnings = 0; +SET @@session.sql_warnings = DEFAULT; +SELECT @@session.sql_warnings; + +SET @@session.sql_warnings = 1; +SET @@session.sql_warnings = DEFAULT; +SELECT @@session.sql_warnings; + + +--echo '#---------------------FN_DYNVARS_166_02-------------------------#' +############################################################################# +# Check if sql_warnings can be accessed with and without @@ sign # +############################################################################# + +SET sql_warnings = 1; +SELECT @@sql_warnings; + +--Error ER_UNKNOWN_TABLE +SELECT session.sql_warnings; + +--Error ER_UNKNOWN_TABLE +SELECT local.sql_warnings; + +SET session sql_warnings = 0; +SELECT @@session.sql_warnings; + + +--echo '#--------------------FN_DYNVARS_166_03------------------------#' +######################################################################## +# change the value of sql_warnings to a valid value # +######################################################################## + +SET @@session.sql_warnings = 0; +SELECT @@session.sql_warnings; +SET @@session.sql_warnings = 1; +SELECT @@session.sql_warnings; + + +--echo '#--------------------FN_DYNVARS_166_04-------------------------#' +########################################################################### +# Change the value of sql_warnings to invalid value # +########################################################################### + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_warnings = -0.6; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_warnings = 1.9; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_warnings = "T"; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_warnings = "Y"; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_warnings = TRÜE; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_warnings = ÕN; + +SET @@session.sql_warnings = OF; +SELECT @@session.sql_warnings; + +--echo 'Bug# 34828: OF is taken as OFF and a value of 0 is set.' + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_warnings = ÓFF; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_warnings = '¹'; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.sql_warnings = NO; + + +--echo '#-------------------FN_DYNVARS_166_05----------------------------#' +########################################################################### +# Test if accessing global sql_warnings gives error # +########################################################################### + +--Error ER_LOCAL_VARIABLE +SET @@global.sql_warnings = 0; + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@global.sql_warnings; + + +--echo '#----------------------FN_DYNVARS_166_06------------------------#' +######################################################################### +# Check if the value in GLOBAL Table contains variable value # +######################################################################### + +SELECT count(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='sql_warnings'; + + +--echo '#----------------------FN_DYNVARS_166_07------------------------#' +######################################################################### +# Check if the value in GLOBAL Table matches value in variable # +######################################################################### + +SELECT @@session.sql_warnings = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_warnings'; +SELECT @@session.sql_warnings; +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='sql_warnings'; +--echo 'Bug: value in information schema does not match' + +--echo '#---------------------FN_DYNVARS_166_08-------------------------#' +################################################################### +# Check if ON and OFF values can be used on variable # +################################################################### + +SET @@session.sql_warnings = OFF; +SELECT @@session.sql_warnings; +SET @@session.sql_warnings = ON; +SELECT @@session.sql_warnings; + +--echo '#---------------------FN_DYNVARS_166_09----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +SET @@session.sql_warnings = TRUE; +SELECT @@session.sql_warnings; +SET @@session.sql_warnings = FALSE; +SELECT @@session.sql_warnings; + +############################## +# Restore initial value # +############################## + +SET @@session.sql_warnings = @session_start_value; +SELECT @@session.sql_warnings; + + +############################################################### +# END OF sql_warnings TESTS # +############################################################### diff --git a/mysql-test/t/sql_warnings_func.test b/mysql-test/t/sql_warnings_func.test new file mode 100644 index 00000000000..e7705d1f146 --- /dev/null +++ b/mysql-test/t/sql_warnings_func.test @@ -0,0 +1,120 @@ +############# mysql-test\t\sql_warnings_func.test ######################### +# # +# Variable Name: sql_warnings # +# Scope: SESSION # +# Access Type: Dynamic # +# Data Type: BOOLEAN # +# Default Value: FALSE 0 # +# Values: TRUE 1, FALSE 0 # +# # +# # +# Creation Date: 2008-03-02 # +# Author: Sharique Abdullah # +# # +# Description: Test Cases of Dynamic System Variable "sql_warnings" # +# that checks behavior of this variable in the following ways# +# * Functionality based on different values # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/set-option.html # +# # +########################################################################### + +--echo ** Setup ** +--echo +# +# Setup +# + +SET @default_sql_warnings = @@sql_warnings; + +# +# Creating tables +# + +CREATE TEMPORARY TABLE t1(a varchar(5), b varchar(20)); + +--enable_info +--disable_warnings + +--echo '#-----------------------------FN_DYNVARS_167_01------------#' +# +# Value DEFAULT +# +SET @@sql_warnings = DEFAULT; + +INSERT INTO t1 VALUES('abcdef', 'val1'); + +--echo '#-----------------------------FN_DYNVARS_167_02------------------#' +# +# OFF value +# + +SET @@sql_warnings = 0; + +INSERT INTO t1 VALUES('abcdef', 'val1'); + +--echo '#-----------------------------FN_DYNVARS_167_03---------------#' +# +# ON value +# + +SET @@sql_warnings = 1; + +INSERT INTO t1 VALUES('abcdef', 'val1'); + + +--echo '#----------------------------FN_DYNVARS_167_04---------------#' +# +# Session data integrity check Value check +# + +--disable_info + +--echo ** Connecting con_int1 using root ** +connect (con_int1,localhost,root,,); + +--echo ** Connection con_int1 ** +connection con_int1; +SELECT @@SESSION.sql_warnings; +--echo 0 / FALSE Expected + +SET SESSION sql_warnings = FALSE; + +--echo ** Connecting con_int2 using root ** +connect (con_int2,localhost,root,,); + +--echo ** Connection con_int2 ** +connection con_int2; +SELECT @@SESSION.sql_warnings; +--echo 0 / FALSE Expected + +SET SESSION sql_warnings = TRUE; + +--echo ** Connection con_int2 ** +connection con_int2; +SELECT @@SESSION.sql_warnings; +--echo 1 / TRUE Expected + +--echo ** Connection con_int1 ** +connection con_int1; +SELECT @@SESSION.sql_warnings; +--echo 0 / FALSE Expected + +--echo ** Connection default ** +connection default; + +--echo Disconnecting Connections con_int1, con_int2 +disconnect con_int1; +disconnect con_int2; + + +# +# Cleanup +# + +DROP TABLE t1; + +SET @@sql_warnings = @default_sql_warnings; + +--disable_info +--enable_warnings diff --git a/mysql-test/t/ssl_ca_basic.test b/mysql-test/t/ssl_ca_basic.test new file mode 100644 index 00000000000..c369f1f0894 --- /dev/null +++ b/mysql-test/t/ssl_ca_basic.test @@ -0,0 +1,102 @@ + + +################## mysql-test\t\ssl_ca_basic.test ############################# +# # +# Variable Name: ssl_ca # +# Scope: Global # +# Access Type: Static # +# Data Type: filename # +# # +# # +# Creation Date: 2008-02-07 # +# Author : Sharique Abdullah # +# # +# # +# Description:Test Cases of Dynamic System Variable ssl_ca # +# that checks the behavior of this variable in the following ways # +# * Value Check # +# * Scope Check # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +-- source include/have_ssl.inc + +--echo '#---------------------BS_STVARS_045_01----------------------#' +#################################################################### +# Displaying default value # +#################################################################### +SELECT COUNT(@@GLOBAL.ssl_ca); +--echo 1 Expected + + +--echo '#---------------------BS_STVARS_045_02----------------------#' +#################################################################### +# Check if Value can set # +#################################################################### + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@GLOBAL.ssl_ca=1; +--echo Expected error 'Read only variable' + +SELECT COUNT(@@GLOBAL.ssl_ca); +--echo 1 Expected + + + + +--echo '#---------------------BS_STVARS_045_03----------------------#' +################################################################# +# Check if the value in GLOBAL Table matches value in variable # +################################################################# + +SELECT @@GLOBAL.ssl_ca = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='ssl_ca'; +--echo 1 Expected + +SELECT COUNT(@@GLOBAL.ssl_ca); +--echo 1 Expected + +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='ssl_ca'; +--echo 1 Expected + + + +--echo '#---------------------BS_STVARS_045_04----------------------#' +################################################################################ +# Check if accessing variable with and without GLOBAL point to same variable # +################################################################################ +SELECT @@ssl_ca = @@GLOBAL.ssl_ca; +--echo 1 Expected + + + +--echo '#---------------------BS_STVARS_045_05----------------------#' +################################################################################ +# Check if ssl_ca can be accessed with and without @@ sign # +################################################################################ + +SELECT COUNT(@@ssl_ca); +--echo 1 Expected + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT COUNT(@@local.ssl_ca); +--echo Expected error 'Variable is a GLOBAL variable' + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT COUNT(@@SESSION.ssl_ca); +--echo Expected error 'Variable is a GLOBAL variable' + +SELECT COUNT(@@GLOBAL.ssl_ca); +--echo 1 Expected + +--Error ER_BAD_FIELD_ERROR +SELECT ssl_ca = @@SESSION.ssl_ca; +--echo Expected error 'Readonly variable' + + diff --git a/mysql-test/t/ssl_capath_basic.test b/mysql-test/t/ssl_capath_basic.test new file mode 100644 index 00000000000..c32b572fb1b --- /dev/null +++ b/mysql-test/t/ssl_capath_basic.test @@ -0,0 +1,100 @@ + + +################## mysql-test\t\ssl_capath_basic.test ######################### +# # +# Variable Name: ssl_capath # +# Scope: Global # +# Access Type: Static # +# Data Type: filename # +# # +# # +# Creation Date: 2008-02-07 # +# Author : Sharique Abdullah # +# # +# # +# Description:Test Cases of Dynamic System Variable ssl_capath # +# that checks the behavior of this variable in the following ways # +# * Value Check # +# * Scope Check # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--echo '#---------------------BS_STVARS_046_01----------------------#' +#################################################################### +# Displaying default value # +#################################################################### +SELECT COUNT(@@GLOBAL.ssl_capath); +--echo 1 Expected + + +--echo '#---------------------BS_STVARS_046_02----------------------#' +#################################################################### +# Check if Value can set # +#################################################################### + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@GLOBAL.ssl_capath=1; +--echo Expected error 'Read only variable' + +SELECT COUNT(@@GLOBAL.ssl_capath); +--echo 1 Expected + + + + +--echo '#---------------------BS_STVARS_046_03----------------------#' +################################################################# +# Check if the value in GLOBAL Table matches value in variable # +################################################################# + +SELECT @@GLOBAL.ssl_capath = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='ssl_capath'; +--echo 1 Expected + +SELECT COUNT(@@GLOBAL.ssl_capath); +--echo 1 Expected + +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='ssl_capath'; +--echo 1 Expected + + + +--echo '#---------------------BS_STVARS_046_04----------------------#' +################################################################################ +# Check if accessing variable with and without GLOBAL point to same variable # +################################################################################ +SELECT @@ssl_capath = @@GLOBAL.ssl_capath; +--echo 1 Expected + + + +--echo '#---------------------BS_STVARS_046_05----------------------#' +################################################################################ +# Check if ssl_capath can be accessed with and without @@ sign # +################################################################################ + +SELECT COUNT(@@ssl_capath); +--echo 1 Expected + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT COUNT(@@local.ssl_capath); +--echo Expected error 'Variable is a GLOBAL variable' + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT COUNT(@@SESSION.ssl_capath); +--echo Expected error 'Variable is a GLOBAL variable' + +SELECT COUNT(@@GLOBAL.ssl_capath); +--echo 1 Expected + +--Error ER_BAD_FIELD_ERROR +SELECT ssl_capath = @@SESSION.ssl_capath; +--echo Expected error 'Readonly variable' + + diff --git a/mysql-test/t/ssl_cert_basic.test b/mysql-test/t/ssl_cert_basic.test new file mode 100644 index 00000000000..c3b69bd495f --- /dev/null +++ b/mysql-test/t/ssl_cert_basic.test @@ -0,0 +1,102 @@ + + +################## mysql-test\t\ssl_cert_basic.test ########################### +# # +# Variable Name: ssl_cert # +# Scope: Global # +# Access Type: Static # +# Data Type: filename # +# # +# # +# Creation Date: 2008-02-07 # +# Author : Sharique Abdullah # +# # +# # +# Description:Test Cases of Dynamic System Variable ssl_cert # +# that checks the behavior of this variable in the following ways # +# * Value Check # +# * Scope Check # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +-- source include/have_ssl.inc + +--echo '#---------------------BS_STVARS_047_01----------------------#' +#################################################################### +# Displaying default value # +#################################################################### +SELECT COUNT(@@GLOBAL.ssl_cert); +--echo 1 Expected + + +--echo '#---------------------BS_STVARS_047_02----------------------#' +#################################################################### +# Check if Value can set # +#################################################################### + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@GLOBAL.ssl_cert=1; +--echo Expected error 'Read only variable' + +SELECT COUNT(@@GLOBAL.ssl_cert); +--echo 1 Expected + + + + +--echo '#---------------------BS_STVARS_047_03----------------------#' +################################################################# +# Check if the value in GLOBAL Table matches value in variable # +################################################################# + +SELECT @@GLOBAL.ssl_cert = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='ssl_cert'; +--echo 1 Expected + +SELECT COUNT(@@GLOBAL.ssl_cert); +--echo 1 Expected + +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='ssl_cert'; +--echo 1 Expected + + + +--echo '#---------------------BS_STVARS_047_04----------------------#' +################################################################################ +# Check if accessing variable with and without GLOBAL point to same variable # +################################################################################ +SELECT @@ssl_cert = @@GLOBAL.ssl_cert; +--echo 1 Expected + + + +--echo '#---------------------BS_STVARS_047_05----------------------#' +################################################################################ +# Check if ssl_cert can be accessed with and without @@ sign # +################################################################################ + +SELECT COUNT(@@ssl_cert); +--echo 1 Expected + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT COUNT(@@local.ssl_cert); +--echo Expected error 'Variable is a GLOBAL variable' + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT COUNT(@@SESSION.ssl_cert); +--echo Expected error 'Variable is a GLOBAL variable' + +SELECT COUNT(@@GLOBAL.ssl_cert); +--echo 1 Expected + +--Error ER_BAD_FIELD_ERROR +SELECT ssl_cert = @@SESSION.ssl_cert; +--echo Expected error 'Readonly variable' + + diff --git a/mysql-test/t/ssl_cipher_basic.test b/mysql-test/t/ssl_cipher_basic.test new file mode 100644 index 00000000000..425f7aae442 --- /dev/null +++ b/mysql-test/t/ssl_cipher_basic.test @@ -0,0 +1,100 @@ + + +################## mysql-test\t\ssl_cipher_basic.test ######################### +# # +# Variable Name: ssl_cipher # +# Scope: Global # +# Access Type: Static # +# Data Type: filename # +# # +# # +# Creation Date: 2008-02-07 # +# Author : Sharique Abdullah # +# # +# # +# Description:Test Cases of Dynamic System Variable ssl_cipher # +# that checks the behavior of this variable in the following ways # +# * Value Check # +# * Scope Check # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--echo '#---------------------BS_STVARS_048_01----------------------#' +#################################################################### +# Displaying default value # +#################################################################### +SELECT COUNT(@@GLOBAL.ssl_cipher); +--echo 1 Expected + + +--echo '#---------------------BS_STVARS_048_02----------------------#' +#################################################################### +# Check if Value can set # +#################################################################### + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@GLOBAL.ssl_cipher=1; +--echo Expected error 'Read only variable' + +SELECT COUNT(@@GLOBAL.ssl_cipher); +--echo 1 Expected + + + + +--echo '#---------------------BS_STVARS_048_03----------------------#' +################################################################# +# Check if the value in GLOBAL Table matches value in variable # +################################################################# + +SELECT @@GLOBAL.ssl_cipher = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='ssl_cipher'; +--echo 1 Expected + +SELECT COUNT(@@GLOBAL.ssl_cipher); +--echo 1 Expected + +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='ssl_cipher'; +--echo 1 Expected + + + +--echo '#---------------------BS_STVARS_048_04----------------------#' +################################################################################ +# Check if accessing variable with and without GLOBAL point to same variable # +################################################################################ +SELECT @@ssl_cipher = @@GLOBAL.ssl_cipher; +--echo 1 Expected + + + +--echo '#---------------------BS_STVARS_048_05----------------------#' +################################################################################ +# Check if ssl_cipher can be accessed with and without @@ sign # +################################################################################ + +SELECT COUNT(@@ssl_cipher); +--echo 1 Expected + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT COUNT(@@local.ssl_cipher); +--echo Expected error 'Variable is a GLOBAL variable' + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT COUNT(@@SESSION.ssl_cipher); +--echo Expected error 'Variable is a GLOBAL variable' + +SELECT COUNT(@@GLOBAL.ssl_cipher); +--echo 1 Expected + +--Error ER_BAD_FIELD_ERROR +SELECT ssl_cipher = @@SESSION.ssl_cipher; +--echo Expected error 'Readonly variable' + + diff --git a/mysql-test/t/ssl_key_basic.test b/mysql-test/t/ssl_key_basic.test new file mode 100644 index 00000000000..4616f281c27 --- /dev/null +++ b/mysql-test/t/ssl_key_basic.test @@ -0,0 +1,102 @@ + + +################## mysql-test\t\ssl_key_basic.test ############################ +# # +# Variable Name: ssl_key # +# Scope: Global # +# Access Type: Static # +# Data Type: filename # +# # +# # +# Creation Date: 2008-02-07 # +# Author : Sharique Abdullah # +# # +# # +# Description:Test Cases of Dynamic System Variable ssl_key # +# that checks the behavior of this variable in the following ways # +# * Value Check # +# * Scope Check # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +-- source include/have_ssl.inc + +--echo '#---------------------BS_STVARS_049_01----------------------#' +#################################################################### +# Displaying default value # +#################################################################### +SELECT COUNT(@@GLOBAL.ssl_key); +--echo 1 Expected + + +--echo '#---------------------BS_STVARS_049_02----------------------#' +#################################################################### +# Check if Value can set # +#################################################################### + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@GLOBAL.ssl_key=1; +--echo Expected error 'Read only variable' + +SELECT COUNT(@@GLOBAL.ssl_key); +--echo 1 Expected + + + + +--echo '#---------------------BS_STVARS_049_03----------------------#' +################################################################# +# Check if the value in GLOBAL Table matches value in variable # +################################################################# + +SELECT @@GLOBAL.ssl_key = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='ssl_key'; +--echo 1 Expected + +SELECT COUNT(@@GLOBAL.ssl_key); +--echo 1 Expected + +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='ssl_key'; +--echo 1 Expected + + + +--echo '#---------------------BS_STVARS_049_04----------------------#' +################################################################################ +# Check if accessing variable with and without GLOBAL point to same variable # +################################################################################ +SELECT @@ssl_key = @@GLOBAL.ssl_key; +--echo 1 Expected + + + +--echo '#---------------------BS_STVARS_049_05----------------------#' +################################################################################ +# Check if ssl_key can be accessed with and without @@ sign # +################################################################################ + +SELECT COUNT(@@ssl_key); +--echo 1 Expected + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT COUNT(@@local.ssl_key); +--echo Expected error 'Variable is a GLOBAL variable' + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT COUNT(@@SESSION.ssl_key); +--echo Expected error 'Variable is a GLOBAL variable' + +SELECT COUNT(@@GLOBAL.ssl_key); +--echo 1 Expected + +--Error ER_BAD_FIELD_ERROR +SELECT ssl_key = @@SESSION.ssl_key; +--echo Expected error 'Readonly variable' + + diff --git a/mysql-test/t/status.test b/mysql-test/t/status.test index 25bf2a6ee61..ff033399434 100644 --- a/mysql-test/t/status.test +++ b/mysql-test/t/status.test @@ -245,7 +245,8 @@ eval select substring_index('$rnd_next2',0x9,-1)-substring_index('$rnd_next',0x9 # # Bug#30252 Com_create_function is not incremented. # -show global status like 'Com%function%'; +flush status; +show status like 'Com%function%'; DELIMITER //; create function f1 (x INTEGER) returns integer @@ -257,8 +258,7 @@ create function f1 (x INTEGER) returns integer DELIMITER ;// drop function f1; - -show global status like 'Com%function%'; +show status like 'Com%function%'; # End of 5.1 tests diff --git a/mysql-test/t/storage_engine_basic-master.opt b/mysql-test/t/storage_engine_basic-master.opt new file mode 100644 index 00000000000..627becdbfb5 --- /dev/null +++ b/mysql-test/t/storage_engine_basic-master.opt @@ -0,0 +1 @@ +--innodb diff --git a/mysql-test/t/storage_engine_basic.test b/mysql-test/t/storage_engine_basic.test new file mode 100644 index 00000000000..689afcd1010 --- /dev/null +++ b/mysql-test/t/storage_engine_basic.test @@ -0,0 +1,180 @@ +############## mysql-test\t\storage_engine_basic.test ################## +# # +# # +# Creation Date: 2008-02-14 # +# Author: Salman Rawala # +# # +# Description: Test Cases of Dynamic System Variable # +# storage_engine that check behavior of this # +# variable with valid values, invalid values, accessing # +# variable with scope that is allowed and with scope that # +# is now allowed. # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html#option_mysqld_storage_engine # +# # +######################################################################## + +--source include/have_innodb.inc +--source include/load_sysvars.inc + +###################################################################### +# START OF storage_engine TESTS # +###################################################################### + + +############################################################# +# Save initial value # +############################################################# + +SET @start_global_value = @@global.storage_engine; +SELECT @start_global_value; +SET @start_session_value = @@session.storage_engine; +SELECT @start_session_value; + + +--echo '#--------------------FN_DYNVARS_005_01-------------------------#' +###################################################################### +# Display the DEFAULT value of storage_engine # +###################################################################### + +SET @@global.storage_engine = MYISAM; + +--Error ER_NO_DEFAULT +SET @@global.storage_engine = DEFAULT; +SELECT @@global.storage_engine; + +SET @@session.storage_engine = INNODB; +SET @@session.storage_engine = DEFAULT; +SELECT @@session.storage_engine; + + +--echo '#--------------------FN_DYNVARS_005_02-------------------------#' +######################################################################## +# Change the value of storage_engine to a valid value for GLOBAL Scope # +######################################################################## + +SET @@global.storage_engine = MYISAM; +SELECT @@global.storage_engine; +SET @@global.storage_engine = MERGE; +SELECT @@global.storage_engine; +SET @@global.storage_engine = MEMORY; +SELECT @@global.storage_engine; +SET @@global.storage_engine = INNODB; +SELECT @@global.storage_engine; + + +--echo '#--------------------FN_DYNVARS_005_03-------------------------#' +######################################################################### +# Change the value of storage_engine to a valid value for SESSION Scope # +######################################################################### + +SET @@session.storage_engine = MYISAM; +SELECT @@session.storage_engine; +SET @@session.storage_engine = MERGE; +SELECT @@session.storage_engine; +SET @@session.storage_engine = MEMORY; +SELECT @@session.storage_engine; +SET @@session.storage_engine = INNODB; +SELECT @@session.storage_engine; + + +--echo '#------------------FN_DYNVARS_005_04-----------------------#' +################################################################## +# Change the value of storage_engine to an invalid value # +################################################################## + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.storage_engine = 8199; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.storage_engine = -1024; + +--Error ER_PARSE_ERROR +SET @@global.storage_engine = 65530.34.; + +--Error ER_UNKNOWN_STORAGE_ENGINE +SET @@global.storage_engine = FILE; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@session.storage_engine = 8199; + +--Error ER_PARSE_ERROR +SET @@session.storage_engine = 65530.34.; + +--Error ER_UNKNOWN_STORAGE_ENGINE +SET @@session.storage_engine = RECORD; + + +--echo '#------------------FN_DYNVARS_005_05-----------------------#' +#################################################################### +# Check if the value in GLOBAL Table matches value in variable # +#################################################################### + + +SELECT @@global.storage_engine = + VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES + WHERE VARIABLE_NAME='storage_engine'; + +--echo '#------------------FN_DYNVARS_005_06-----------------------#' +#################################################################### +# Check if the value in SESSION Table matches value in variable # +#################################################################### + +SELECT @@session.storage_engine = + VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES + WHERE VARIABLE_NAME='storage_engine'; + + +--echo '#------------------FN_DYNVARS_005_07-----------------------#' +#################################################################### +# Check if TRUE and FALSE values can be used on variable # +#################################################################### + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.storage_engine = TRUE; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.storage_engine = FALSE; + + +--echo '#---------------------FN_DYNVARS_001_8----------------------#' +############################################################### +# Check if accessing variable with SESSION,LOCAL and without # +# SCOPE points to same session variable # +############################################################### + +SET @@storage_engine = MYISAM; +SELECT @@storage_engine = @@local.storage_engine; +SELECT @@local.storage_engine = @@session.storage_engine; + + +--echo '#---------------------FN_DYNVARS_001_9----------------------#' +######################################################################### +# Check if storage_engine can be accessed with and without @@ sign # +######################################################################### + +SET storage_engine = MEMORY; +SELECT @@storage_engine; +--Error ER_UNKNOWN_TABLE +SELECT local.storage_engine; +--Error ER_UNKNOWN_TABLE +SELECT session.storage_engine; +--Error ER_BAD_FIELD_ERROR +SELECT storage_engine = @@session.storage_engine; + + +#################################### +# Restore initial value # +#################################### + +SET @@global.storage_engine = @start_global_value; +SELECT @@global.storage_engine; +SET @@session.storage_engine = @start_session_value; +SELECT @@session.storage_engine; + + +############################################################# +# END OF storage_engine TESTS # +############################################################# + diff --git a/mysql-test/t/subselect.test b/mysql-test/t/subselect.test index c86b0fefbdc..ee3a7428d4a 100644 --- a/mysql-test/t/subselect.test +++ b/mysql-test/t/subselect.test @@ -3213,6 +3213,30 @@ GROUP BY a4; DROP TABLE t1, t2, t3, t4; +# +# BUG#36139 "float, zerofill, crash with subquery" +# +create table t1 (a float(5,4) zerofill); +create table t2 (a float(5,4),b float(2,0)); + +select t1.a from t1 where + t1.a= (select b from t2 limit 1) and not + t1.a= (select a from t2 limit 1) ; + +drop table t1, t2; + + +# +# Bug #36011: Server crash with explain extended on query with dependent +# subqueries +# + +CREATE TABLE t1 (a INT); +INSERT INTO t1 VALUES (1),(2); +EXPLAIN EXTENDED SELECT 1 FROM t1 WHERE 1 IN (SELECT 1 FROM t1 GROUP BY a); +EXPLAIN EXTENDED SELECT 1 FROM t1 WHERE 1 IN (SELECT 1 FROM t1 WHERE a > 3 GROUP BY a); +DROP TABLE t1; + --echo End of 5.0 tests. # diff --git a/mysql-test/t/subselect3.test b/mysql-test/t/subselect3.test index cfbde8c29cd..d7bb1f7186a 100644 --- a/mysql-test/t/subselect3.test +++ b/mysql-test/t/subselect3.test @@ -605,4 +605,17 @@ SELECT ROW(1, 2) IN (SELECT t1.a, 2 FROM t2) FROM t1 GROUP BY t1.a; DROP TABLE t1, t2; +# +# Bug #36005: crash in subselect with single row +# (subselect_single_select_engine::exec) +# + +CREATE TABLE t1 (a INT); +INSERT INTO t1 VALUES (1),(2),(3); +CREATE TABLE t2 SELECT * FROM t1; + +SELECT 1 FROM t1 WHERE t1.a NOT IN (SELECT 1 FROM t1, t2 WHERE 0); + +DROP TABLE t1, t2; + --echo End of 5.0 tests diff --git a/mysql-test/t/sync_binlog_basic_32.test b/mysql-test/t/sync_binlog_basic_32.test new file mode 100644 index 00000000000..3acd76b7e72 --- /dev/null +++ b/mysql-test/t/sync_binlog_basic_32.test @@ -0,0 +1,9 @@ +################################################################################ +# Created by Horst Hunger 2008-05-07 # +# # +# Wrapper for 32 bit machines # +################################################################################ + +--source include/have_32bit.inc +--source include/sync_binlog_basic.inc + diff --git a/mysql-test/t/sync_binlog_basic_64.test b/mysql-test/t/sync_binlog_basic_64.test new file mode 100644 index 00000000000..9f605445ded --- /dev/null +++ b/mysql-test/t/sync_binlog_basic_64.test @@ -0,0 +1,9 @@ +################################################################################ +# Created by Horst Hunger 2008-05-07 # +# # +# Wrapper for 64 bit machines # +################################################################################ + +--source include/have_64bit.inc +--source include/sync_binlog_basic.inc + diff --git a/mysql-test/t/sync_frm_basic.test b/mysql-test/t/sync_frm_basic.test new file mode 100644 index 00000000000..6c00182a805 --- /dev/null +++ b/mysql-test/t/sync_frm_basic.test @@ -0,0 +1,163 @@ +############## mysql-test\t\sync_frm_basic.test ############################### +# # +# Variable Name: sync_frm # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: boolean # +# Default Value: TRUE # +# Range: # +# # +# # +# Creation Date: 2008-02-14 # +# Author: Salman # +# # +# Description: Test Cases of Dynamic System Variable sync_frm # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc +############################################################## +# START OF sync_frm TESTS # +############################################################## + + +################################################################ +# Saving initial value of sync_frm in a temporary variable # +################################################################ + +SET @start_value = @@global.sync_frm; +SELECT @start_value; + + +--echo '#--------------------FN_DYNVARS_169_01------------------------#' +###################################################### +# Display the DEFAULT value of sync_frm # +###################################################### + +SET @@global.sync_frm = FALSE; +SET @@global.sync_frm = DEFAULT; +SELECT @@global.sync_frm; + + +--echo '#---------------------FN_DYNVARS_169_02-------------------------#' +############################################### +# Verify default value of variable # +############################################### + +SET @@global.sync_frm = DEFAULT; +SELECT @@global.sync_frm = TRUE; + + +--echo '#--------------------FN_DYNVARS_169_03------------------------#' +###################################################### +# Change the value of sync_frm to a valid value # +###################################################### + +SET @@global.sync_frm = ON; +SELECT @@global.sync_frm; +SET @@global.sync_frm = OFF; +SELECT @@global.sync_frm; +SET @@global.sync_frm = 0; +SELECT @@global.sync_frm; +SET @@global.sync_frm = 1; +SELECT @@global.sync_frm; +SET @@global.sync_frm = TRUE; +SELECT @@global.sync_frm; +SET @@global.sync_frm = FALSE; +SELECT @@global.sync_frm; + +--echo '#--------------------FN_DYNVARS_169_04-------------------------#' +#################################################################### +# Change the value of sync_frm to invalid value # +#################################################################### + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.sync_frm = 2; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.sync_frm = -1; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.sync_frm = TRUEF; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.sync_frm = TRUE_F; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.sync_frm = FALSE0; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.sync_frm = OON; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.sync_frm = ONN; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.sync_frm = OOFF; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.sync_frm = 0FF; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.sync_frm = ' '; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.sync_frm = " "; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.sync_frm = ''; + + +--echo '#-------------------FN_DYNVARS_169_05----------------------------#' +#################################################################### +# Test if accessing session sync_frm gives error # +#################################################################### + +--Error ER_GLOBAL_VARIABLE +SET @@session.sync_frm = 1; +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.sync_frm; + + +--echo '#----------------------FN_DYNVARS_169_06------------------------#' +#################################################################### +# Check if the value in GLOBAL Tables matches values in variable # +#################################################################### + +SELECT @@global.sync_frm = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='sync_frm'; + +--echo '#---------------------FN_DYNVARS_169_07----------------------#' +############################################################################### +# Check if accessing variable without SCOPE points to same session variable # +############################################################################### + +SET @@global.sync_frm = 1; +SELECT @@sync_frm = @@global.sync_frm; + + +--echo '#---------------------FN_DYNVARS_169_08----------------------#' +################################################################### +# Check if sync_frm can be accessed with and without @@ sign # +################################################################### + +--Error ER_GLOBAL_VARIABLE +SET sync_frm = 1; +SELECT @@sync_frm; +--Error ER_PARSE_ERROR +SET global.sync_frm = 1; +--Error ER_UNKNOWN_TABLE +SELECT global.sync_frm; +--Error ER_BAD_FIELD_ERROR +SELECT sync_frm = @@session.sync_frm; + + +############################## +# Restore initial value # +############################## + +SET @@global.sync_frm = @start_value; +SELECT @@global.sync_frm; + + +###################################################### +# END OF sync_frm TESTS # +###################################################### diff --git a/mysql-test/t/system_time_zone_basic.test b/mysql-test/t/system_time_zone_basic.test new file mode 100644 index 00000000000..0dfc850d227 --- /dev/null +++ b/mysql-test/t/system_time_zone_basic.test @@ -0,0 +1,100 @@ + + +################## mysql-test\t\system_time_zone_basic.test ################### +# # +# Variable Name: system_time_zone # +# Scope: Global # +# Access Type: Static # +# Data Type: string # +# # +# # +# Creation Date: 2008-02-07 # +# Author : Sharique Abdullah # +# # +# # +# Description:Test Cases of Dynamic System Variable system_time_zone # +# that checks the behavior of this variable in the following ways # +# * Value Check # +# * Scope Check # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--echo '#---------------------BS_STVARS_050_01----------------------#' +#################################################################### +# Displaying default value # +#################################################################### +SELECT COUNT(@@GLOBAL.system_time_zone); +--echo 1 Expected + + +--echo '#---------------------BS_STVARS_050_02----------------------#' +#################################################################### +# Check if Value can set # +#################################################################### + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@GLOBAL.system_time_zone=1; +--echo Expected error 'Read only variable' + +SELECT COUNT(@@GLOBAL.system_time_zone); +--echo 1 Expected + + + + +--echo '#---------------------BS_STVARS_050_03----------------------#' +################################################################# +# Check if the value in GLOBAL Table matches value in variable # +################################################################# + +SELECT @@GLOBAL.system_time_zone = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='system_time_zone'; +--echo 1 Expected + +SELECT COUNT(@@GLOBAL.system_time_zone); +--echo 1 Expected + +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='system_time_zone'; +--echo 1 Expected + + + +--echo '#---------------------BS_STVARS_050_04----------------------#' +################################################################################ +# Check if accessing variable with and without GLOBAL point to same variable # +################################################################################ +SELECT @@system_time_zone = @@GLOBAL.system_time_zone; +--echo 1 Expected + + + +--echo '#---------------------BS_STVARS_050_05----------------------#' +################################################################################ +# Check if system_time_zone can be accessed with and without @@ sign # +################################################################################ + +SELECT COUNT(@@system_time_zone); +--echo 1 Expected + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT COUNT(@@local.system_time_zone); +--echo Expected error 'Variable is a GLOBAL variable' + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT COUNT(@@SESSION.system_time_zone); +--echo Expected error 'Variable is a GLOBAL variable' + +SELECT COUNT(@@GLOBAL.system_time_zone); +--echo 1 Expected + +--Error ER_BAD_FIELD_ERROR +SELECT system_time_zone = @@SESSION.system_time_zone; +--echo Expected error 'Readonly variable' + + diff --git a/mysql-test/t/table_definition_cache_basic.test b/mysql-test/t/table_definition_cache_basic.test new file mode 100644 index 00000000000..63296590511 --- /dev/null +++ b/mysql-test/t/table_definition_cache_basic.test @@ -0,0 +1,159 @@ +############## mysql-test\t\table_definition_cache_basic.test ################## +# # +# Variable Name: table_definition_cache # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: Numeric # +# Default Value: 128 # +# Range: 1 - 524288 # +# # +# # +# Creation Date: 2008-03-16 # +# Author: Salman Rawala # +# # +# Description: Test Cases of Dynamic System Variable "table_definition_cache" # +# that checks behavior of this variable in the following ways # +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity . # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html#option_mysqld_table_definition_cache # +# # +################################################################################ + +--source include/load_sysvars.inc + +############################################################### +# START OF table_definition_cache TESTS # +############################################################### + +############################################################################## +# Saving initial value of table_definition_cache in a temporary variable # +############################################################################## + +SET @start_value = @@global.table_definition_cache; +SELECT @start_value; + +--echo '#--------------------FN_DYNVARS_019_01------------------------#' +####################################################################### +# Display the DEFAULT value of table_definition_cache # +####################################################################### + +SET @@global.table_definition_cache = 100; +SET @@global.table_definition_cache = DEFAULT; +SELECT @@global.table_definition_cache; + + +--echo '#---------------------FN_DYNVARS_019_02-------------------------#' +############################################### +# Verify default value of variable # +############################################### + +SET @@global.table_definition_cache = DEFAULT; +SELECT @@global.table_definition_cache = 128; + + +--echo '#--------------------FN_DYNVARS_019_03------------------------#' +############################################################################## +# Change the value of table_definition_cache to a valid value # +############################################################################## + +SET @@global.table_definition_cache = 1; +SELECT @@global.table_definition_cache; +SET @@global.table_definition_cache = 2; +SELECT @@global.table_definition_cache; +SET @@global.table_definition_cache = 524287; +SELECT @@global.table_definition_cache; +SET @@global.table_definition_cache = 524288; +SELECT @@global.table_definition_cache; + + +--echo '#--------------------FN_DYNVARS_019_04-------------------------#' +################################################################################# +# Change the value of table_definition_cache to invalid value # +################################################################################# + +SET @@global.table_definition_cache = 0; +SELECT @@global.table_definition_cache; +SET @@global.table_definition_cache = -1024; +SELECT @@global.table_definition_cache; +SET @@global.table_definition_cache = 524289; +SELECT @@global.table_definition_cache; +SET @@global.table_definition_cache = 42949672950; +SELECT @@global.table_definition_cache; +--echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.table_definition_cache = 21221204.10; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.table_definition_cache = ON; + + +--echo '#-------------------FN_DYNVARS_019_05----------------------------#' +################################################################################# +# Test if accessing session table_definition_cache gives error # +################################################################################# + +--Error ER_GLOBAL_VARIABLE +SET @@session.table_definition_cache = 0; +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.table_definition_cache; + + +--echo '#----------------------FN_DYNVARS_019_06------------------------#' +#################################################################### +# Check if the value in GLOBAL Tables matches values in variable # +#################################################################### + +SELECT @@global.table_definition_cache = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='table_definition_cache'; + + +--echo '#---------------------FN_DYNVARS_019_07----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +SET @@global.table_definition_cache = TRUE; +SELECT @@global.table_definition_cache; +SET @@global.table_definition_cache = FALSE; +SELECT @@global.table_definition_cache; + + +--echo '#---------------------FN_DYNVARS_019_08----------------------#' +############################################################################### +# Check if accessing variable without SCOPE points to same global variable # +############################################################################### + +SET @@global.table_definition_cache = 5; +SELECT @@table_definition_cache = @@global.table_definition_cache; + +--echo '#---------------------FN_DYNVARS_019_09----------------------#' +################################################################################ +# Check if table_definition_cache can be accessed with and without @@ sign # +################################################################################ + +--Error ER_GLOBAL_VARIABLE +SET table_definition_cache = 1; +--Error ER_PARSE_ERROR +SET global.table_definition_cache = 1; +--Error ER_UNKNOWN_TABLE +SELECT global.table_definition_cache; +--Error ER_BAD_FIELD_ERROR +SELECT table_definition_cache = @@session.table_definition_cache; + +############################## +# Restore initial value # +############################## + +SET @@global.table_definition_cache = @start_value; +SELECT @@global.table_definition_cache; + + +################################################################ +# END OF table_definition_cache TESTS # +################################################################ + diff --git a/mysql-test/t/table_lock_wait_timeout_basic.test b/mysql-test/t/table_lock_wait_timeout_basic.test new file mode 100644 index 00000000000..43186c70874 --- /dev/null +++ b/mysql-test/t/table_lock_wait_timeout_basic.test @@ -0,0 +1,172 @@ +############## mysql-test\t\table_lock_wait_timeout_basic.test ################ +# # +# Variable Name: table_lock_wait _timeout # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: numeric # +# Default Value: 50 # +# Range: 1-1073741824 # +# # +# # +# Creation Date: 2008-02-14 # +# Author: Salman # +# # +# Description: Test Cases of Dynamic System Variable table_lock_wait_timeout # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html#option_mysqld_table_lock_wait_timeout # +# # +############################################################################### + +--source include/load_sysvars.inc +######################################################################## +# START OF table_lock_wait_timeout TESTS # +######################################################################## + + +########################################################################## +# Saving initial value of table_lock_wait_timeout in a temporary variable# +########################################################################## + +SET @start_value = @@global.table_lock_wait_timeout; +SELECT @start_value; + + +--echo '#--------------------FN_DYNVARS_001_01------------------------#' +######################################################################## +# Display the DEFAULT value of table_lock_wait_timeout # +######################################################################## + +SET @@global.table_lock_wait_timeout = 99; +SET @@global.table_lock_wait_timeout = DeFAULT; +SELECT @@global.table_lock_wait_timeout; + + +--echo '#---------------------FN_DYNVARS_001_02-------------------------#' +############################################### +# Verify default value of variable # +############################################### + +SET @@global.table_lock_wait_timeout =Default; +SELECT @@global.table_lock_wait_timeout = 50; + +--echo '#--------------------FN_DYNVARS_001_03------------------------#' +######################################################################## +# Change the value of table_lock_wait_timeout to a valid value # +######################################################################## + + +SET @@global.table_lock_wait_timeout = 8; +SELECT @@global.table_lock_wait_timeout ; + +SET @@global.table_lock_wait_timeout = 1; +SELECT @@global.table_lock_wait_timeout ; +SET @@global.table_lock_wait_timeout = 1073741824; +SELECT @@global.table_lock_wait_timeout ; +SET @@global.table_lock_wait_timeout = 18000; +SELECT @@global.table_lock_wait_timeout ; +SET @@global.table_lock_wait_timeout = 65535; +SELECT @@global.table_lock_wait_timeout ; + + + +--echo '#--------------------FN_DYNVARS_001_04-------------------------#' +######################################################################### +# Change the value of table_lock_wait_timeout to invalid value # +######################################################################### + +SET @@global.table_lock_wait_timeout = -1; + +SET @@global.table_lock_wait_timeout= 100000000000; + +SET @@global.table_lock_wait_timeout= -1024; + +SET @@global.table_lock_wait_timeout= 0; +--echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.table_lock_wait_timeout= 10000.01; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.table_lock_wait_timeout= ON; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.table_lock_wait_timeout= 'test'; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.table_lock_wait_timeout= ''; + + +--echo '#-------------------FN_DYNVARS_001_05----------------------------#' +########################################################################### +# Test if accessing session table_lock_wait_timeout gives error # +########################################################################### + +--Error ER_GLOBAL_VARIABLE +SET @@session.table_lock_wait_timeout= 0; +SELECT @@table_lock_wait_timeout; + + +--echo '#----------------------FN_DYNVARS_001_06------------------------#' +############################################################################## +# Check if the value in GLOBAL & SESSION Tables matches values in variable # +############################################################################## + +SELECT @@global.table_lock_wait_timeout= VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='table_lock_wait_timeout'; + + +--echo '#---------------------FN_DYNVARS_001_09----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +SET @@global.table_lock_wait_timeout= TRUE; +SELECT @@global.table_lock_wait_timeout; + +SET @@global.table_lock_wait_timeout= FALSE; +SELECT @@global.table_lock_wait_timeout; + + +--echo '#---------------------FN_DYNVARS_001_10----------------------#' +############################################################################### +# Check if accessing variable without SCOPE points to same global variable # +############################################################################### + +SET @@global.table_lock_wait_timeout= 10; +SELECT @@table_lock_wait_timeout= @@global.table_lock_wait_timeout; + + +--echo '#---------------------FN_DYNVARS_001_11----------------------#' +############################################################################### +# Check if table_lock_wait_timeout can be accessed with and without @@ sign # +############################################################################### + +--Error ER_GLOBAL_VARIABLE +SET table_lock_wait_timeout= 8; +--Error ER_PARSE_ERROR +SET global.table_lock_wait_timeout= 10; +--Error ER_UNKNOWN_TABLE +SELECT global.table_lock_wait_timeout; +--Error ER_BAD_FIELD_ERROR +SELECT table_lock_wait_timeout= @@session.table_lock_wait_timeout; + + +############################## +# Restore initial value # +############################## + +SET @@global.table_lock_wait_timeout= @start_value; +SELECT @@global.table_lock_wait_timeout; + + +######################################################################## +# END OF table_lock_wait_timeout TESTS # +######################################################################## + + diff --git a/mysql-test/t/table_open_cache_basic.test b/mysql-test/t/table_open_cache_basic.test new file mode 100644 index 00000000000..23f60bde00a --- /dev/null +++ b/mysql-test/t/table_open_cache_basic.test @@ -0,0 +1,177 @@ +############## mysql-test\t\table_open_cache_basic.test ####################### +# # +# Variable Name: table_open_cache # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: numeric # +# Default Value: 64 # +# Range: 1-524288 # +# # +# # +# Creation Date: 2008-02-13 # +# Author: Salman # +# # +# Description: Test Cases of Dynamic System Variable table_open_cache # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html#option_mysqld_table_open_cache # +# # +############################################################################### + +--source include/load_sysvars.inc + +######################################################################## +# START OF table_open_cache TESTS # +######################################################################## + + +########################################################################## +# Saving initial value of table_open_cache in a temporary variable # +########################################################################## + +SET @start_value = @@global.table_open_cache ; +SELECT @start_value; + + +--echo '#--------------------FN_DYNVARS_001_01------------------------#' +######################################################################## +# Display the DEFAULT value of table_open_cache # +######################################################################## + +SET @@global.table_open_cache = 99; +SET @@global.table_open_cache = DeFAULT; +SELECT @@global.table_open_cache; + + +--echo '#---------------------FN_DYNVARS_001_02-------------------------#' +############################################### +# Verify default value of variable # +############################################### + +SET @@global.table_open_cache = Default; +SELECT @@global.table_open_cache = 64; + +--echo '#--------------------FN_DYNVARS_001_03------------------------#' +######################################################################## +# Change the value of table_open_cache to a valid value # +######################################################################## + + +SET @@global.table_open_cache = 8; +SELECT @@global.table_open_cache ; + +SET @@global.table_open_cache = 1; +SELECT @@global.table_open_cache ; + +SET @@global.table_open_cache = 1073741824; +SELECT @@global.table_open_cache ; + +SET @@global.table_open_cache = 18000; +SELECT @@global.table_open_cache ; +SET @@global.table_open_cache = 65535; +SELECT @@global.table_open_cache ; + + + +--echo '#--------------------FN_DYNVARS_001_04-------------------------#' +####################################################################### +# Change the value of table_open_cache to invalid value # +####################################################################### + +SET @@global.table_open_cache = -1; +SELECT @@global.table_open_cache ; + +SET @@global.table_open_cache = 100000000000; +SELECT @@global.table_open_cache ; + +SET @@global.table_open_cache = -1024; +SELECT @@global.table_open_cache ; + +SET @@global.table_open_cache = 0; +SELECT @@global.table_open_cache ; + +--echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.table_open_cache = 10000.01; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.table_open_cache = ON; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.table_open_cache= 'test'; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.table_open_cache = ''; + + +--echo '#-------------------FN_DYNVARS_001_05----------------------------#' +########################################################################### +# Test if accessing session table_open_cache gives error # +########################################################################### + +--Error ER_GLOBAL_VARIABLE +SET @@session.table_open_cache = 0; + + +--echo '#----------------------FN_DYNVARS_001_06------------------------#' +#################################################################### +# Check if the value in GLOBAL Tables matches values in variable # +#################################################################### + +SELECT @@global.table_open_cache = VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='table_open_cache '; + + +--echo '#---------------------FN_DYNVARS_001_09----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +SET @@global.table_open_cache = TRUE; +SELECT @@global.table_open_cache ; + +SET @@global.table_open_cache = FALSE; +SELECT @@global.table_open_cache ; + + +--echo '#---------------------FN_DYNVARS_001_10----------------------#' +############################################################################## +# Check if accessing variable without SCOPE points to same session variable # +############################################################################## + +SET @@global.table_open_cache = 10; +SELECT @@table_open_cache = @@global.table_open_cache ; + + +--echo '#---------------------FN_DYNVARS_001_11----------------------#' +########################################################################## +# Check if table_open_cache can be accessed with and without @@ sign # +########################################################################## + +--Error ER_GLOBAL_VARIABLE +SET table_open_cache = 8; +--Error ER_PARSE_ERROR +SET global.table_open_cache = 10; +--Error ER_UNKNOWN_TABLE +SELECT global.table_open_cache ; +--Error ER_BAD_FIELD_ERROR +SELECT table_open_cache = @@session.table_open_cache ; + + +############################## +# Restore initial value # +############################## + +SET @@global.table_open_cache = @start_value; +SELECT @@global.table_open_cache ; + + +################################################################## +# END OF table_open_cache TESTS # +################################################################## + diff --git a/mysql-test/t/thread_cache_size_func.test b/mysql-test/t/thread_cache_size_func.test new file mode 100644 index 00000000000..302f66a36c6 --- /dev/null +++ b/mysql-test/t/thread_cache_size_func.test @@ -0,0 +1,158 @@ +############# mysql-test\t\thread_cache_size_func.test ####################################### +# # +# Variable Name: thread_cache_size # +# Scope: SESSION # +# Access Type: Dynamic # +# Data Type: Enumeration # +# Default Value: 0 # +# Values: 0-16384 # +# # +# # +# Creation Date: 2008-03-02 # +# Author: Sharique Abdullah # +# # +# Description: Test Cases of Dynamic System Variable "thread_cache_size" # +# that checks behavior of this variable in the following ways # +# * Functionality based on different values # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html # +# option_mysqld_thread_cache_size # +# # +######################################################################################### + + + +# +# Setup +# + +--source include/not_embedded.inc + +SET @global_thread_cache_size = @@GLOBAL.thread_cache_size; + +FLUSH STATUS; + +# +# Greater than cache threads, setting cache size to 3 +# +-- ECHO '# Test1#' +SET @@GLOBAL.thread_cache_size=3; + +let $threadsCreated1 = query_get_value(SHOW STATUS LIKE 'Threads_created', Value, 1); +--echo Saving threads cached, threads created values + +SHOW STATUS LIKE 'Threads_cached'; +--echo 0 Expected + +--ECHO '#Old value for thread_cache'# + +################################## +# Make 4 connections # +################################## + +--echo ** Connecting conn1 using username 'root' ** +connect (conn1,localhost,root,,); +--echo ** Connecting conn2 using username 'root' ** +connect (conn2,localhost,root,,); +--echo ** Connecting conn3 using username 'root' ** +connect (conn3,localhost,root,,); +--echo ** Connecting conn4 using username 'root' ** +connect (conn4,localhost,root,,); + +let $threadsCreated2 = query_get_value(SHOW STATUS LIKE 'Threads_created', Value, 1); +--echo Saving threads cached, threads created values + +--disable_query_log +eval SELECT ($threadsCreated2 - $threadsCreated1) AS 'Threads Created Difference'; +--enable_query_log + +--echo 4 Expected +SHOW STATUS LIKE 'Threads_cached'; +--echo 0 Expected + +#################################### +#Disconnecting all the connections # +#################################### + +--echo ** Connection default ** +connection default; + +--echo ** Disconnecting conn1,conn2,conn3,conn4 ** +disconnect conn1; +disconnect conn2; +disconnect conn3; +disconnect conn4; + +# +# Checking the status +# + +--echo '#new values for thread cache after disconnecting'# +let $threadsCreated3 = query_get_value(SHOW STATUS LIKE 'Threads_created', Value, 1); + +--echo Saving threads cached, threads created values +--disable_query_log +eval SELECT ($threadsCreated3 - $threadsCreated2) AS 'Threads Created Difference'; +--enable_query_log +--echo 0 Expected +SHOW STATUS LIKE 'Threads_cached'; +--echo 3 Expected + + +# +# Decreasing cache size to 1 +# +SET @@GLOBAL.thread_cache_size=1; + +connection default; + +let $threadsCreated6 = query_get_value(SHOW STATUS LIKE 'Threads_created', Value, 1); +--echo Saving threads cached, threads created values +--disable_query_log +eval SELECT $threadsCreated6 - $threadsCreated3 AS 'Threads Created Difference'; +--enable_query_log +--echo 0 Expected +SHOW STATUS LIKE 'Threads_cached'; +--echo 1 Expected +--echo Bug: The number of threads cached should have decreased with cache size decrease. + +--echo ** Connecting conn1 using username 'root' ** +CONNECT (conn1,localhost,root,,); +--echo ** Connecting conn2 using username 'root' ** +CONNECT (conn2,localhost,root,,); + +let $threadsCreated4 = query_get_value(SHOW STATUS LIKE 'Threads_created', Value, 1); +--echo Saving threads cached, threads created values +--disable_query_log +eval SELECT $threadsCreated4 - $threadsCreated3 AS 'Threads Created Difference'; +--enable_query_log +--echo 1 Expected +--echo Bug: The number of threads created should have increased because the cache should have 1 thread only +SHOW STATUS LIKE 'Threads_cached'; +--echo 0 Expected +--echo Bug: The number of threads created should have decreased because atleast 1 new connection came in + +--echo ** Connection default ** +connection default; + +--echo ** Disconnecting conn1,conn2 ** +disconnect conn1; +disconnect conn2; + +--ECHO '#new status values for thread cache'# +let $threadsCreated5 = query_get_value(SHOW STATUS LIKE 'Threads_created', Value, 1); +--echo Saving threads cached, threads created values +--disable_query_log +eval SELECT ($threadsCreated5 - $threadsCreated4) AS 'Threads Created Difference'; +--enable_query_log +--echo 0 Expected +SHOW STATUS LIKE 'Threads_cached'; +--echo 1 Expected + +--echo Saving threads cached, threads created values + +# +# Cleanup +# + +SET @@GLOBAL.thread_cache_size = @global_thread_cache_size; diff --git a/mysql-test/t/thread_handling_basic.test b/mysql-test/t/thread_handling_basic.test new file mode 100644 index 00000000000..bcad003ce93 --- /dev/null +++ b/mysql-test/t/thread_handling_basic.test @@ -0,0 +1,107 @@ + + +################## mysql-test\t\thread_handling_basic.test #################### +# # +# Variable Name: thread_handling # +# Scope: Global # +# Access Type: Static # +# Data Type: enumeration # +# # +# # +# Creation Date: 2008-02-07 # +# Author : Sharique Abdullah # +# # +# # +# Description:Test Cases of Dynamic System Variable thread_handling # +# that checks the behavior of this variable in the following ways # +# * Value Check # +# * Scope Check # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--echo '#---------------------BS_STVARS_051_01----------------------#' +#################################################################### +# Displaying default value # +#################################################################### +SELECT COUNT(@@GLOBAL.thread_handling); +--echo 1 Expected + + +--echo '#---------------------BS_STVARS_051_02----------------------#' +# +# Test case for Bug #35433 +# +#################################################################### +# Check if Value can set # +#################################################################### + + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@GLOBAL.thread_handling=1; + +--ECHO Expected error ER_INCORRECT_GLOBAL_LOCAL_VAR + +SELECT COUNT(@@GLOBAL.thread_handling); +--echo 1 Expected + + + + +--echo '#---------------------BS_STVARS_051_03----------------------#' +################################################################# +# Check if the value in GLOBAL Table matches value in variable # +################################################################# + +SELECT @@GLOBAL.thread_handling = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='thread_handling'; +--echo 1 Expected + +SELECT COUNT(@@GLOBAL.thread_handling); +--echo 1 Expected + +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='thread_handling'; +--echo 1 Expected + + + +--echo '#---------------------BS_STVARS_051_04----------------------#' +################################################################################ +# Check if accessing variable with and without GLOBAL point to same variable # +################################################################################ +SELECT @@thread_handling = @@GLOBAL.thread_handling; +--echo 1 Expected + + + +--echo '#---------------------BS_STVARS_051_05----------------------#' +################################################################################ +# Check if thread_handling can be accessed with and without @@ sign # +################################################################################ + +SELECT COUNT(@@thread_handling); +--echo 1 Expected + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT COUNT(@@local.thread_handling); +--echo Bug:Variable is global so it can not be accessed by local there should be error ER_INCORRECT_GLOBAL_LOCAL_VAR +--echo Expected error 'Variable is a GLOBAL variable' + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT COUNT(@@SESSION.thread_handling); +--ECHO Bug:Variable is global so it can not be accessed by session there should be error ER_INCORRECT_GLOBAL_LOCAL_VAR +--echo Expected error 'Variable is a GLOBAL variable' + +SELECT COUNT(@@GLOBAL.thread_handling); +--echo 1 Expected + +--Error ER_BAD_FIELD_ERROR +SELECT thread_handling = @@SESSION.thread_handling; +--echo Expected error 'Readonly variable' + + diff --git a/mysql-test/t/time_zone_basic.test b/mysql-test/t/time_zone_basic.test new file mode 100644 index 00000000000..32616e97534 --- /dev/null +++ b/mysql-test/t/time_zone_basic.test @@ -0,0 +1,325 @@ +################### mysql-test\t\time_zone_basic.test ######################### +# # +# Variable Name: time_zone # +# Scope: GLOBAL | SESSION # +# Access Type: Dynamic # +# Data Type: string # +# Default Value: SYSTEM # +# Range: # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Rizwan # +# # +# Description: Test Cases of Dynamic System Variable time_zone # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + +####################################################################### +# START OF time_zone TESTS # +####################################################################### + + +####################################################################### +# Saving initial value of time_zone in a temporary variable # +####################################################################### + +SET @global_start_value = @@global.time_zone; +SELECT @global_start_value; + +SET @session_start_value = @@session.time_zone; +SELECT @session_start_value; + + +--echo '#--------------------FN_DYNVARS_001_01------------------------#' +######################################################################## +# Display the DEFAULT value of time_zone # +######################################################################## + +SET @@time_zone = "+02:00"; +SET @@time_zone = DEFAULT; +SELECT @@time_zone; + +SET @@global.time_zone = "-00:30"; +SET @@global.time_zone = DEFAULT; +SELECT @@global.time_zone; + + +--echo '#---------------------FN_DYNVARS_001_02-------------------------#' +############################################################################## +# see if setting global value changes session value and vice versa # +############################################################################## + +SET @@session.time_zone = "+02:00"; +SELECT @@session.time_zone; +SET @@global.time_zone = "+05:00"; +SELECT @@global.time_zone; +SELECT @@session.time_zone AS res_is_02_00; + +SET @@session.time_zone = "-02:00"; +SELECT @@session.time_zone; +SELECT @@global.time_zone AS res_is_05_00; +# composite check +SELECT @@global.time_zone=@@session.time_zone AS res_is_false; + + +--echo '#--------------------FN_DYNVARS_001_03------------------------#' +######################################################################## +# Change the value of time_zone to a valid value # +######################################################################## + +# for session scope + +SET @@time_zone = "+13:00"; +SELECT @@time_zone; +SET @@time_zone = "-12:00"; +SELECT @@time_zone; +SET @@time_zone = "+12:59"; +SELECT @@time_zone; +SET @@time_zone = "-11:30"; +SELECT @@time_zone; +SET @@time_zone = "+00:00"; +SELECT @@time_zone; +SET @@time_zone = "-12:59"; +SELECT @@time_zone; +SET @@time_zone = "-00:00"; +SELECT @@time_zone; +SET @@time_zone = "+10:00"; +SELECT @@time_zone; +SET @@time_zone = "+0:0"; +SELECT @@time_zone; +SET @@time_zone = "-10:00"; +SELECT @@time_zone; +SET @@time_zone = "+2:00"; +SELECT @@time_zone; + +# for global scope + +SET @@global.time_zone = "+13:00"; +SELECT @@global.time_zone; +SET @@global.time_zone = "-12:00"; +SELECT @@global.time_zone; +SET @@global.time_zone = "+12:59"; +SELECT @@global.time_zone; +SET @@global.time_zone = "-11:30"; +SELECT @@global.time_zone; +SET @@global.time_zone = "+00:00"; +SELECT @@global.time_zone; +SET @@global.time_zone = "-12:59"; +SELECT @@global.time_zone; +SET @@global.time_zone = "-00:00"; +SELECT @@global.time_zone; +SET @@global.time_zone = "+10:00"; +SELECT @@global.time_zone; +SET @@global.time_zone = "+0:0"; +SELECT @@global.time_zone; +SET @@global.time_zone = "-10:00"; +SELECT @@global.time_zone; +SET @@global.time_zone = "+2:00"; +SELECT @@global.time_zone; + + +# these test are dependant on values stored in mysql.time_zone_name + +#SET @@time_zone = "africa/cairo"; +#SELECT @@time_zone; +#SET @@time_zone = "America/Aruba"; +#SELECT @@time_zone; +# +#SET @@time_zone = "Etc/GMT-14"; +#SELECT @@time_zone; +# +#SET @@time_zone = "GMT-0"; +#SELECT @@time_zone; +# +#SET @@time_zone = "UTC"; +#SELECT @@time_zone; + +#--echo 'Bug: Region and zone values cant be set in time_zone. Although values are loaded in mysql.time_zone_name' + +--echo '#--------------------FN_DYNVARS_001_04-------------------------#' +########################################################################### +# Change the value of time_zone to invalid value # +########################################################################### + +# for session scope + +--Error ER_UNKNOWN_TIME_ZONE +SET @@time_zone = "+24:00"; + +--Error ER_UNKNOWN_TIME_ZONE +SET @@time_zone = "+23:59"; + +--Error ER_UNKNOWN_TIME_ZONE +SET @@time_zone = "+13:01"; + +--Error ER_UNKNOWN_TIME_ZONE +SET @@time_zone = "-13:01"; + +# for global scope + +--Error ER_UNKNOWN_TIME_ZONE +SET @@global.time_zone = "+24:00"; + +--Error ER_UNKNOWN_TIME_ZONE +SET @@global.time_zone = "+23:59"; + +--Error ER_UNKNOWN_TIME_ZONE +SET @@global.time_zone = "+13:01"; + +--Error ER_UNKNOWN_TIME_ZONE +SET @@global.time_zone = "-13:01"; + + +#checking time zone names not in mysql.time_zone_name. These test may succeed +#depending on timezone stored + +#SET @@time_zone = "london"; +#SELECT @@time_zone; +# +#SET @@time_zone = "GMT+14"; +#SELECT @@time_zone; + + +--echo '#-------------------FN_DYNVARS_001_05----------------------------#' +########################################################################### +# Assign System time zone to variable for session and global # +########################################################################### + +SET @@global.time_zone = 'SYSTEM'; +SELECT @@global.time_zone; + +SET @@time_zone = 'SYSTEM'; +SELECT @@time_zone; + +--echo '#----------------------FN_DYNVARS_001_06------------------------#' +######################################################################### +# Check if the value in SESSION Table matches value in variable # +######################################################################### + +SELECT @@time_zone = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='time_zone'; + + +--echo '#----------------------FN_DYNVARS_001_07------------------------#' +######################################################################### +# Check if the value in GLOBAL Table matches value in variable # +######################################################################### + +SELECT @@global.time_zone = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='time_zone'; + + +--echo '#---------------------FN_DYNVARS_001_08-------------------------#' +############################################################################# +# Check if ON, OFF, TRUE and FALSE values can be used on variable # +############################################################################# +# for session scope +--Error ER_UNKNOWN_TIME_ZONE +SET @@time_zone = OFF; + +--Error ER_UNKNOWN_TIME_ZONE +SET @@time_zone = ON; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@time_zone = TRUE; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@time_zone = FALSE; + +# for global scope +--Error ER_UNKNOWN_TIME_ZONE +SET @@global.time_zone = OFF; + +--Error ER_UNKNOWN_TIME_ZONE +SET @@global.time_zone = ON; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.time_zone = TRUE; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.time_zone = FALSE; + + +--echo '#---------------------FN_DYNVARS_001_09----------------------#' +##################################################################### +# Check if Numbers and empty values can be used on variable # +##################################################################### +# for session scope +--Error ER_WRONG_TYPE_FOR_VAR +SET @@time_zone = 1; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@time_zone = +0200; + +--Error ER_PARSE_ERROR +SET @@time_zone = GMT+; + +--Error ER_UNKNOWN_TIME_ZONE +SET @@time_zone = ""; + +# for global scope +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.time_zone = 1; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.time_zone = +0200; + +--Error ER_PARSE_ERROR +SET @@global.time_zone = GMT+; + +--Error ER_UNKNOWN_TIME_ZONE +SET @@global.time_zone = ""; + + +--echo '#---------------------FN_DYNVARS_001_10----------------------#' +############################################################################## +# Check if accessing variable with SESSION,LOCAL and without SCOPE points +# to same session variable +############################################################################## + +SET @@time_zone = '+02:30'; +SELECT @@time_zone = @@local.time_zone and @@time_zone = @@session.time_zone; +SET @@time_zone = '-01:30'; +SELECT @@time_zone = @@local.time_zone and @@time_zone = @@session.time_zone; + + +--echo '#---------------------FN_DYNVARS_001_11----------------------#' +#################################################################### +# Check if time_zone can be accessed with and without @@ sign # +#################################################################### + +SET time_zone = "+01:00"; +SELECT @@time_zone; +--Error ER_UNKNOWN_TABLE +SELECT local.time_zone; +--Error ER_UNKNOWN_TABLE +SELECT session.time_zone; +--Error ER_BAD_FIELD_ERROR +SELECT time_zone = @@session.time_zone; + +############################## +# Restore initial value # +############################## + +SET @@time_zone = @session_start_value; +SELECT @@time_zone; + +SET @@global.time_zone = @global_start_value; +SELECT @@global.time_zone; + +####################################################################### +# END OF time_zone TESTS # +####################################################################### diff --git a/mysql-test/t/time_zone_func.test b/mysql-test/t/time_zone_func.test new file mode 100644 index 00000000000..1d9bc954d8a --- /dev/null +++ b/mysql-test/t/time_zone_func.test @@ -0,0 +1,188 @@ +############# mysql-test\t\time_zone_func.test ############################# +# # +# Variable Name: time_zone # +# Scope: GLOBAL, SESSION # +# Access Type: Dynamic # +# Data Type: STRING # +# Default Value: TRUE 1, FALSE 0 # +# Values: FALSE 0 # +# # +# # +# Creation Date: 2008-02-25 # +# Author: Sharique Abdullah # +# # +# Description: Test Cases of Dynamic System Variable "time_zone" # +# that checks behavior of this variable in the following ways # +# * Functionality based on different values # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/set-option.html # +# # +############################################################################ + +--echo ** Setup ** +--echo +# +# Setup +# + +SET @session_time_zone = @@SESSION.time_zone; +SET @global_time_zone = @@GLOBAL.time_zone; + +CREATE TABLE t1 (a datetime); +CREATE TABLE t2 (a timestamp); + +--echo '#-----------------------------FN_DYNVARS_177_01--------------------#' +# +# Value DEFAULT +# +SET @@time_zone = DEFAULT; + +SELECT @@time_zone; +--echo SYSTEM Expected + +--echo '#-----------------------------FN_DYNVARS_177_02-------------------#' +# +# Testing difference values +# + +SET @@time_zone = '+05:00'; + +SELECT @@time_zone; +--echo +05:00 Expected + +SET @@time_zone = '-01:00'; + +SELECT @@time_zone; +--echo -01:00 Expected + +SET @@time_zone = '+00:00'; + +SELECT @@time_zone; +--echo +00:00 Expected + +SET @@time_zone = '-00:00'; + +SELECT @@time_zone; +--echo -00:00 Expected + +--echo '#-----------------------------FN_DYNVARS_177_03----------------#' +# +# Setting possible values +# + +SET @@time_zone = '+00:00'; + +INSERT INTO t1 VALUES('2008-03-05 16:28:00'); +INSERT INTO t1 VALUES('1970-01-01 00:05:00'),('1970-01-01 01:05:00'); +INSERT INTO t2 VALUES(20080305162800); +INSERT INTO t2 VALUES(19730101235900); +INSERT INTO t2 VALUES('1970-01-01 00:05:00'),('1970-01-01 01:05:00'); +INSERT INTO t2 VALUES(19700101000500); + +SELECT a,UNIX_TIMESTAMP(a) FROM t1; +SELECT a,UNIX_TIMESTAMP(a) FROM t2; + +SET @@time_zone = 'MET'; + +SELECT a,UNIX_TIMESTAMP(a) FROM t1; +SELECT a,UNIX_TIMESTAMP(a) FROM t2; + +SET @@time_zone = '+05:00'; + +SELECT a,UNIX_TIMESTAMP(a) FROM t1; +SELECT a,UNIX_TIMESTAMP(a) FROM t2; + +SET @@time_zone = '+06:00'; +SELECT a,UNIX_TIMESTAMP(a) FROM t1; +SELECT a,UNIX_TIMESTAMP(a) FROM t2; + +SET @@time_zone = '+01:00'; + +SELECT a,UNIX_TIMESTAMP(a) FROM t1; +SELECT a,UNIX_TIMESTAMP(a) FROM t2; + +SET @@time_zone = '+02:00'; + +SELECT a,UNIX_TIMESTAMP(a) FROM t1; +SELECT a,UNIX_TIMESTAMP(a) FROM t2; + +SET @@time_zone = '+00:00'; + +SELECT a,UNIX_TIMESTAMP(a) FROM t1; +SELECT a,UNIX_TIMESTAMP(a) FROM t2; + +SET @@time_zone = '+06:00'; + +SELECT a,UNIX_TIMESTAMP(a) FROM t1; +SELECT a,UNIX_TIMESTAMP(a) FROM t2; + +--echo Potential Feature: upon recovery of timezone, +--echo the original value of the timestamp should be recovered. + +--echo '#-----------------------------FN_DYNVARS_177_04--------------------#' +# +# Testing invalid values +# +--error ER_UNKNOWN_TIME_ZONE +SET @@time_zone = '6'; + + +--echo '#-----------------------------FN_DYNVARS_177_05---------------#' +# +# Session data integrity check & GLOBAL Value check +# + +SET GLOBAL time_zone = 'SYSTEM'; + +--echo ** Connecting con_int1 using root ** +connect (con_int1,localhost,root,,); + +--echo ** Connection con_int1 ** +connection con_int1; +SELECT @@SESSION.time_zone; +--echo SYSTEM Expected + +SET SESSION time_zone = '+05:00'; + +--echo ** Connecting con_int2 using root ** +connect (con_int2,localhost,root,,); + +--echo ** Connection con_int2 ** +connection con_int2; +SELECT @@SESSION.time_zone; +--echo SYSTEM Expected + +SET SESSION time_zone = '-10:00'; + +--echo ** Connection con_int2 ** +connection con_int2; +SELECT @@SESSION.time_zone; +--echo -10:00 Expected + +--echo ** Connection con_int1 ** +connection con_int1; +SELECT @@SESSION.time_zone; +--echo +05:00 Expected + + +SELECT @@GLOBAL.time_zone; +--echo SYSTEM Expected + +--echo ** Connection default ** +connection default; + +--echo Disconnecting Connections con_int1, con_int2 +disconnect con_int1; +disconnect con_int2; + + +# +# Cleanup +# + + +SET @@SESSION.time_zone = @session_time_zone; +SET @@GLOBAL.time_zone = @global_time_zone; + +DROP TABLE t1; +DROP TABLE t2; diff --git a/mysql-test/t/timed_mutexes_basic.test b/mysql-test/t/timed_mutexes_basic.test new file mode 100644 index 00000000000..b0eb41afb49 --- /dev/null +++ b/mysql-test/t/timed_mutexes_basic.test @@ -0,0 +1,169 @@ +################## mysql-test\t\timed_mutexes_basic.test ###################### +# # +# Variable Name: timed_mutexes # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: boolean # +# Default Value: OFF # +# Valid Values: ON, OFF # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Rizwan # +# # +# Description: Test Cases of Dynamic System Variable timed_mutexes # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc +######################################################################## +# START OF timed_mutexes TESTS # +######################################################################## + + +############################################################################## +# Saving initial value of timed_mutexes in a temporary variable # +############################################################################## + +SET @global_start_value = @@global.timed_mutexes; +SELECT @global_start_value; + +--echo '#--------------------FN_DYNVARS_177_01------------------------#' +######################################################################## +# Display the DEFAULT value of timed_mutexes # +######################################################################## + +SET @@global.timed_mutexes = 1; +SET @@global.timed_mutexes = DEFAULT; +SELECT @@global.timed_mutexes; + +--echo '#---------------------FN_DYNVARS_177_02-------------------------#' +############################################################################# +# Check if timed_mutexes can be accessed with and without @@ sign # +############################################################################# + +--Error ER_GLOBAL_VARIABLE +SET timed_mutexes = 1; +SELECT @@timed_mutexes; +--Error ER_UNKNOWN_TABLE +SELECT global.timed_mutexes; + +SET global timed_mutexes = 1; +SELECT @@global.timed_mutexes; + + +--echo '#--------------------FN_DYNVARS_177_03------------------------#' +######################################################################## +# Change the value of timed_mutexes to a valid value # +######################################################################## + +SET @@global.timed_mutexes = 0; +SELECT @@global.timed_mutexes; +SET @@global.timed_mutexes = 1; +SELECT @@global.timed_mutexes; + + +--echo '#--------------------FN_DYNVARS_177_04-------------------------#' +########################################################################### +# Change the value of timed_mutexes to invalid value # +########################################################################### + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.timed_mutexes = -1; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.timed_mutexes = 2; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.timed_mutexes = "T"; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.timed_mutexes = "Y"; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.timed_mutexes = _true; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.timed_mutexes = 0N; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.timed_mutexes = 1+1; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.timed_mutexes = 0FF; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.timed_mutexes = '0'; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.timed_mutexes = N; + + +--echo '#-------------------FN_DYNVARS_177_05----------------------------#' +########################################################################### +# Test if accessing session timed_mutexes gives error # +########################################################################### + +--Error ER_GLOBAL_VARIABLE +SET @@session.timed_mutexes = 0; +--Error ER_GLOBAL_VARIABLE +SET @@timed_mutexes = 0; +--Error ER_GLOBAL_VARIABLE +SET @@local.timed_mutexes = 0; +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.timed_mutexes; +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@local.timed_mutexes; + +--echo '#----------------------FN_DYNVARS_177_06------------------------#' +######################################################################### +# Check if the value in SESSION Table contains variable value # +######################################################################### + +SELECT count(VARIABLE_VALUE) FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='timed_mutexes'; + + +--echo '#----------------------FN_DYNVARS_177_07------------------------#' +######################################################################### +# Check if the value in GLOBAL Table matches value in variable # +######################################################################### + +SELECT @@global.timed_mutexes = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='timed_mutexes'; +SELECT @@global.timed_mutexes; + +SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='timed_mutexes'; + +--echo '#---------------------FN_DYNVARS_177_08-------------------------#' +################################################################### +# Check if ON and OFF values can be used on variable # +################################################################### + +SET @@global.timed_mutexes = OFF; +SELECT @@global.timed_mutexes; +SET @@global.timed_mutexes = ON; +SELECT @@global.timed_mutexes; + +--echo '#---------------------FN_DYNVARS_177_09----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +SET @@global.timed_mutexes = TRUE; +SELECT @@global.timed_mutexes; +SET @@global.timed_mutexes = FALSE; +SELECT @@global.timed_mutexes; + +############################## +# Restore initial value # +############################## + +SET @@global.timed_mutexes = @global_start_value; +SELECT @@global.timed_mutexes; + +############################################################### +# END OF timed_mutexes TESTS # +############################################################### diff --git a/mysql-test/t/timestamp_basic_32.test b/mysql-test/t/timestamp_basic_32.test new file mode 100644 index 00000000000..72371c154fc --- /dev/null +++ b/mysql-test/t/timestamp_basic_32.test @@ -0,0 +1,9 @@ +################################################################################ +# Created by Horst Hunger 2008-05-07 # +# # +# Wrapper for 32 bit machines # +################################################################################ + +--source include/have_32bit.inc +--source include/timestamp_basic.inc + diff --git a/mysql-test/t/timestamp_basic_64.test b/mysql-test/t/timestamp_basic_64.test new file mode 100644 index 00000000000..4614e470a4c --- /dev/null +++ b/mysql-test/t/timestamp_basic_64.test @@ -0,0 +1,9 @@ +################################################################################ +# Created by Horst Hunger 2008-05-07 # +# # +# Wrapper for 64 bit machines # +################################################################################ + +--source include/have_64bit.inc +--source include/timestamp_basic.inc + diff --git a/mysql-test/t/timestamp_func.test b/mysql-test/t/timestamp_func.test new file mode 100644 index 00000000000..ecca3c7daeb --- /dev/null +++ b/mysql-test/t/timestamp_func.test @@ -0,0 +1,79 @@ +############# mysql-test\t\timestamp_func.test ############################# +# # +# Variable Name: timestamp # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: INTEGER # +# # +# # +# Creation Date: 2008-02-25 # +# Author: Sharique Abdullah # +# # +# Description: Test Cases of Dynamic System Variable "timestamp" # +# that checks behavior of this variable in the following ways # +# * Functionality based on different values # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/set-option.html # +# # +############################################################################ + +--echo ** Setup ** +--echo +# +# Setup +# +--echo ** Connecting con0 using root ** +connect (con0,localhost,root,,); +--echo ** Connecting con1 using root ** +connect (con1, localhost, root,,); + +--echo '#-----------------------------FN_DYNVARS_179_01------------------#' +# +# Checking for connection 1 +# + +--echo ** Connection con0 ** +connection con0; +SET @ts_old = @@SESSION.timestamp; +--echo waiting 1 sec +--sleep 1 +SET @ts_new = @@SESSION.timestamp; +SELECT @ts_new - @ts_old >= 1 AS 'Timestamp Difference'; +--echo 1 means >=1 expected is true + + +# +# Checking for connection 2 +# +--echo ** Connection con1 ** +connection con1; +SET @ts_old = @@SESSION.timestamp; +--echo waiting 4 sec +--sleep 4 +SET @ts_new = @@SESSION.timestamp; +SELECT @ts_new - @ts_old >= 4 AS 'Timestamp Difference'; +--echo 1 means >=4 expected is true + +--echo '#-----------------------------FN_DYNVARS_179_02---------------------#' +# +# Testing timezone change effect +# + +SET @ts_old = @@SESSION.timestamp; +--sleep 1 +--echo Changing time zone +SET time_zone = 'MET'; +SET @ts_new = @@SESSION.timestamp; +SELECT @ts_new - @ts_old >= 1 AS 'Timestamp Difference'; +--echo 1 means >=1 expected is true + +# +# Cleanup +# +--echo ** Cleanup ** + +--echo ** Connection default ** +connection default; +--echo Disconnecting Connections con0, con1 +disconnect con0; +disconnect con1; diff --git a/mysql-test/t/tmp_table_size_basic_32.test b/mysql-test/t/tmp_table_size_basic_32.test new file mode 100644 index 00000000000..19d54251c5e --- /dev/null +++ b/mysql-test/t/tmp_table_size_basic_32.test @@ -0,0 +1,9 @@ +################################################################################ +# Created by Horst Hunger 2008-05-07 # +# # +# Wrapper for 32 bit machines # +################################################################################ + +--source include/have_32bit.inc +--source include/tmp_table_size_basic.inc + diff --git a/mysql-test/t/tmp_table_size_basic_64.test b/mysql-test/t/tmp_table_size_basic_64.test new file mode 100644 index 00000000000..ddd865f6383 --- /dev/null +++ b/mysql-test/t/tmp_table_size_basic_64.test @@ -0,0 +1,9 @@ +################################################################################ +# Created by Horst Hunger 2008-05-07 # +# # +# Wrapper for 64 bit machines # +################################################################################ + +--source include/have_64bit.inc +--source include/tmp_table_size_basic.inc + diff --git a/mysql-test/t/tmpdir_basic.test b/mysql-test/t/tmpdir_basic.test new file mode 100644 index 00000000000..5e9d08c4876 --- /dev/null +++ b/mysql-test/t/tmpdir_basic.test @@ -0,0 +1,100 @@ + + +################## mysql-test\t\tmpdir_basic.test ############################# +# # +# Variable Name: tmpdir # +# Scope: Global # +# Access Type: Static # +# Data Type: filename # +# # +# # +# Creation Date: 2008-02-07 # +# Author : Sharique Abdullah # +# # +# # +# Description:Test Cases of Dynamic System Variable tmpdir # +# that checks the behavior of this variable in the following ways # +# * Value Check # +# * Scope Check # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--echo '#---------------------BS_STVARS_052_01----------------------#' +#################################################################### +# Displaying default value # +#################################################################### +SELECT COUNT(@@GLOBAL.tmpdir); +--echo 1 Expected + + +--echo '#---------------------BS_STVARS_052_02----------------------#' +#################################################################### +# Check if Value can set # +#################################################################### + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@GLOBAL.tmpdir=1; +--echo Expected error 'Read only variable' + +SELECT COUNT(@@GLOBAL.tmpdir); +--echo 1 Expected + + + + +--echo '#---------------------BS_STVARS_052_03----------------------#' +################################################################# +# Check if the value in GLOBAL Table matches value in variable # +################################################################# + +SELECT @@GLOBAL.tmpdir = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='tmpdir'; +--echo 1 Expected + +SELECT COUNT(@@GLOBAL.tmpdir); +--echo 1 Expected + +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='tmpdir'; +--echo 1 Expected + + + +--echo '#---------------------BS_STVARS_052_04----------------------#' +################################################################################ +# Check if accessing variable with and without GLOBAL point to same variable # +################################################################################ +SELECT @@tmpdir = @@GLOBAL.tmpdir; +--echo 1 Expected + + + +--echo '#---------------------BS_STVARS_052_05----------------------#' +################################################################################ +# Check if tmpdir can be accessed with and without @@ sign # +################################################################################ + +SELECT COUNT(@@tmpdir); +--echo 1 Expected + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT COUNT(@@local.tmpdir); +--echo Expected error 'Variable is a GLOBAL variable' + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT COUNT(@@SESSION.tmpdir); +--echo Expected error 'Variable is a GLOBAL variable' + +SELECT COUNT(@@GLOBAL.tmpdir); +--echo 1 Expected + +--Error ER_BAD_FIELD_ERROR +SELECT tmpdir = @@SESSION.tmpdir; +--echo Expected error 'Readonly variable' + + diff --git a/mysql-test/t/transaction_alloc_block_size_basic_32.test b/mysql-test/t/transaction_alloc_block_size_basic_32.test new file mode 100644 index 00000000000..a714a4f5a30 --- /dev/null +++ b/mysql-test/t/transaction_alloc_block_size_basic_32.test @@ -0,0 +1,9 @@ +################################################################################ +# Created by Horst Hunger 2008-05-07 # +# # +# Wrapper for 32 bit machines # +################################################################################ + +--source include/have_32bit.inc +--source include/transaction_alloc_block_size_basic.inc + diff --git a/mysql-test/t/transaction_alloc_block_size_basic_64.test b/mysql-test/t/transaction_alloc_block_size_basic_64.test new file mode 100644 index 00000000000..b6ebe36c35f --- /dev/null +++ b/mysql-test/t/transaction_alloc_block_size_basic_64.test @@ -0,0 +1,9 @@ +################################################################################ +# Created by Horst Hunger 2008-05-07 # +# # +# Wrapper for 64 bit machines # +################################################################################ + +--source include/have_64bit.inc +--source include/transaction_alloc_block_size_basic.inc + diff --git a/mysql-test/t/transaction_prealloc_size_basic_32.test b/mysql-test/t/transaction_prealloc_size_basic_32.test new file mode 100644 index 00000000000..868e281d30e --- /dev/null +++ b/mysql-test/t/transaction_prealloc_size_basic_32.test @@ -0,0 +1,9 @@ +################################################################################ +# Created by Horst Hunger 2008-05-07 # +# # +# Wrapper for 32 bit machines # +################################################################################ + +--source include/have_32bit.inc +--source include/transaction_prealloc_size_basic.inc + diff --git a/mysql-test/t/transaction_prealloc_size_basic_64.test b/mysql-test/t/transaction_prealloc_size_basic_64.test new file mode 100644 index 00000000000..5487d06f521 --- /dev/null +++ b/mysql-test/t/transaction_prealloc_size_basic_64.test @@ -0,0 +1,9 @@ +################################################################################ +# Created by Horst Hunger 2008-05-07 # +# # +# Wrapper for 64 bit machines # +################################################################################ + +--source include/have_64bit.inc +--source include/transaction_prealloc_size_basic.inc + diff --git a/mysql-test/t/trigger.test b/mysql-test/t/trigger.test index fe3a0f88c51..6974a4cc5da 100644 --- a/mysql-test/t/trigger.test +++ b/mysql-test/t/trigger.test @@ -997,11 +997,10 @@ call p1(); # Altering trigger forcing it use different set of tables drop trigger t1_bi; create trigger t1_bi after insert on t1 for each row insert into t3 values (new.id); -# Until we implement proper mechanism for invalidation of PS/SP when table -# or SP's are changed these two statements will fail with 'Table ... was -# not locked' error (this mechanism should be based on the new TDC). ---error ER_NO_SUCH_TABLE execute stmt1; +# Until we implement proper mechanism for invalidation of SP statements +# invoked whenever a table used in SP changes, this statement will fail with +# 'Table ... does not exist' error. --error ER_NO_SUCH_TABLE call p1(); deallocate prepare stmt1; diff --git a/mysql-test/t/tx_isolation_basic.test b/mysql-test/t/tx_isolation_basic.test new file mode 100644 index 00000000000..136a9b4331e --- /dev/null +++ b/mysql-test/t/tx_isolation_basic.test @@ -0,0 +1,251 @@ +################# mysql-test\t\tx_isolation_basic.test ######################## +# # +# Variable Name: tx_isolation # +# Scope: GLOBAL | SESSION # +# Access Type: Dynamic # +# Data Type: enumeration # +# Default Value: REPEATABLE-READ # +# Valid Values: READ-UNCOMMITTED, READCOMMITTED, REPEATABLE-READ,SERIALIZABLE # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Rizwan # +# # +# Description: Test Cases of Dynamic System Variable tx_isolation # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--source include/load_sysvars.inc + +######################################################################## +# START OF tx_isolation TESTS # +######################################################################## + + +######################################################################### +# Saving initial value of tx_isolation in a temporary variable # +######################################################################### + +SET @global_start_value = @@global.tx_isolation; +SELECT @global_start_value; + +SET @session_start_value = @@session.tx_isolation; +SELECT @session_start_value; + +--echo '#--------------------FN_DYNVARS_183_01------------------------#' +#################################################################### +# Display the DEFAULT value of tx_isolation # +#################################################################### + +SET @@global.tx_isolation = 'READ-UNCOMMITTED'; +--Error ER_NO_DEFAULT +SET @@global.tx_isolation = DEFAULT; +--echo 'Bug# 34878: Documentation specifies a DEFAULT value of REPEATABLE-READ'; +--echo 'where as DEFAULT is not supported here.'; + +SET @@session.tx_isolation = 'SERIALIZABLE'; +SET @@session.tx_isolation = DEFAULT; +SELECT @@session.tx_isolation; +--echo 'Bug# 34876: Documentation specifies a DEFAULT value of REPEATABLE-READ'; +--echo 'where as DEFAULT here as no effect.'; + +--echo '#---------------------FN_DYNVARS_183_02-------------------------#' +######################################################### +# Check if NULL or empty value is accepeted # +######################################################### + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.tx_isolation = NULL; + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.tx_isolation = ''; + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.tx_isolation = NULL; + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.tx_isolation = ''; + +--echo '#--------------------FN_DYNVARS_183_03------------------------#' +##################################################################### +# Change the value of tx_isolation to a valid value # +##################################################################### + +SET @@global.tx_isolation = 'READ-UNCOMMITTED'; +SELECT @@global.tx_isolation; + +SET @@global.tx_isolation = 'read-COMMITTED'; +SELECT @@global.tx_isolation; + +SET @@global.tx_isolation = 'REPEATABLE-READ'; +SELECT @@global.tx_isolation; + +SET @@global.tx_isolation = 'SERIALIZable'; +SELECT @@global.tx_isolation; + + +SET @@session.tx_isolation = 'READ-UNCOMMITTED'; +SELECT @@session.tx_isolation; + +SET @@session.tx_isolation = 'READ-COMMITTED'; +SELECT @@session.tx_isolation; + +SET @@session.tx_isolation = 'REPEATABLE-READ'; +SELECT @@session.tx_isolation; + +SET @@session.tx_isolation = 'serializable'; +SELECT @@session.tx_isolation; + + +--echo '#--------------------FN_DYNVARS_183_04-------------------------#' +####################################################################### +# Change the value of tx_isolation to invalid value # +####################################################################### + +# for global scope +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.tx_isolation = -1; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.tx_isolation = READUNCOMMITTED; + + +SET @@global.tx_isolation = 'REPEATABLE'; +SELECT @@global.tx_isolation; +--echo 'Bug# 34833: REPEATABLE is not documented as as valid tx_isolation level' + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.tx_isolation = OFF; + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.tx_isolation = ON; + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.tx_isolation = 'NON-SERIALIZABLE'; + +# for session scope + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@tx_isolation = -1; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@tx_isolation = READUNCOMMITTED; + +SET @@tx_isolation = 'REPEATABLE'; +SELECT @@tx_isolation; +--echo 'Bug# 34833: REPEATABLE is not documented as as valid tx_isolation level' + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@tx_isolation = 'NONE'; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@tx_isolation = 'ALL'; + +--echo '#-------------------FN_DYNVARS_183_05----------------------------#' +######################################################################### +# Check if the value in session Table matches value in variable # +######################################################################### + +SELECT @@session.tx_isolation = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='tx_isolation'; + +--echo '#----------------------FN_DYNVARS_183_06------------------------#' +######################################################################### +# Check if the value in GLOBAL Table matches value in variable # +######################################################################### + +SELECT @@global.tx_isolation = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='tx_isolation'; + + +--echo '#---------------------FN_DYNVARS_183_07-------------------------#' +################################################################### +# Check if numbers can be used on variable # +################################################################### + +# test if variable accepts 0,1,2 +SET @@global.tx_isolation = 0; +SELECT @@global.tx_isolation; + +SET @@global.tx_isolation = 1; +SELECT @@global.tx_isolation; + +SET @@global.tx_isolation = 2; +SELECT @@global.tx_isolation; + +SET @@global.tx_isolation = 3; +SELECT @@global.tx_isolation; + +# use of decimal values + +SET @@global.tx_isolation = 0.4; +SELECT @@global.tx_isolation; + +SET @@global.tx_isolation = 1.1; +SELECT @@global.tx_isolation; + +SET @@global.tx_isolation = 1.5; +SELECT @@global.tx_isolation; + +SET @@global.tx_isolation = 2.9; +SELECT @@global.tx_isolation; + +SET @@session.tx_isolation = 3.49; +SELECT @@session.tx_isolation; + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.tx_isolation = 3.6; + +--echo 'Bug: Decimal values can be used within the range [0.0-3.5).'; +--echo 'Values are rounded to 0,1,2,3 as evident from outcome.'; + + +--echo '#---------------------FN_DYNVARS_183_08----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +SET @@global.tx_isolation = TRUE; +SELECT @@global.tx_isolation; +SET @@global.tx_isolation = FALSE; +SELECT @@global.tx_isolation; + +--echo '#---------------------FN_DYNVARS_183_09----------------------#' +######################################################################## +# Check if tx_isolation can be accessed with and without @@ sign # +######################################################################## + +SET tx_isolation = 'REPEATABLE-READ'; + +--Error ER_PARSE_ERROR +SET session.tx_isolation = 'REPEATABLE-READ'; +--Error ER_PARSE_ERROR +SET global.tx_isolation = 'REPEATABLE-READ'; +#using SET SESSION|GLOBAL syntax +SET session tx_isolation = 'REPEATABLE-READ'; +SELECT @@tx_isolation; + +SET global tx_isolation = 'REPEATABLE-READ'; +SELECT @@global.tx_isolation; + +############################## +# Restore initial value # +############################## + +SET @@global.tx_isolation = @global_start_value; +SELECT @@global.tx_isolation; + +SET @@session.tx_isolation = @session_start_value; +SELECT @@session.tx_isolation; + +#################################################################### +# END OF tx_isolation TESTS # +#################################################################### + diff --git a/mysql-test/t/tx_isolation_func-master.opt b/mysql-test/t/tx_isolation_func-master.opt new file mode 100644 index 00000000000..c15943a7544 --- /dev/null +++ b/mysql-test/t/tx_isolation_func-master.opt @@ -0,0 +1,3 @@ +--innodb +--innodb_lock_wait_timeout=2 +--binlog-format=row \ No newline at end of file diff --git a/mysql-test/t/tx_isolation_func.test b/mysql-test/t/tx_isolation_func.test new file mode 100644 index 00000000000..3a4167dc368 --- /dev/null +++ b/mysql-test/t/tx_isolation_func.test @@ -0,0 +1,414 @@ +############# mysql-test\t\tx_isolation_func.test ####################################### +# # +# Variable Name: tx_isolation # +# Scope: GLOBAL & SESSION # +# Access Type: Dynamic # +# Data Type: ENUMERATION # +# Default Value: REPEATABLE-READ # +# Values: READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE # +# # +# # +# Creation Date: 2008-02-25 # +# Author: Sharique Abdullah # +# # +# Description: Test Cases of Dynamic System Variable "tx_isolation" # +# that checks behavior of this variable in the following ways # +# * Functionality based on different values # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/set-option.html # +# # +######################################################################################### + +--source include/have_innodb.inc + +--echo ** Setup ** +# +# Setup +# + +SET @session_tx_isolation = @@SESSION.tx_isolation; +SET @global_tx_isolation = @@GLOBAL.tx_isolation; + +# +# Creating connections +# + +--echo ** Connecting con0 using root ** +connect (con0,localhost,root,,); + +--echo ** Connection con0 ** +connection con0; + +SET SESSION AUTOCOMMIT = OFF; + +--echo ** Connecting con1 using root ** +connect (con1, localhost, root,,); + +--echo ** Connection con1 ** +connection con1; + +SET SESSION AUTOCOMMIT = OFF; + +--echo ** Connection default ** +connection default; + +# +# Creating tables +# + +CREATE TABLE t1 (a int PRIMARY KEY, b int) ENGINE=INNODB; + +INSERT INTO t1 VALUES(2, 2); +INSERT INTO t1 VALUES(4, 4); +INSERT INTO t1 VALUES(6, 6); +INSERT INTO t1 VALUES(8, 8); +INSERT INTO t1 VALUES(16, 16); +INSERT INTO t1 VALUES(18, 18); +INSERT INTO t1 VALUES(20, 20); +INSERT INTO t1 VALUES(22, 22); +INSERT INTO t1 VALUES(24, 24); + +--echo '#----------------------------FN_DYNVARS_184_01--------------------------------------#' +# +# Testing for value READ-UNCOMMITTED +# +--echo ** Connection con0 ** +connection con0; +SET SESSION tx_isolation = 'READ-UNCOMMITTED'; + +--echo ** Connection con1 ** +connection con1; +SET SESSION tx_isolation = 'READ-UNCOMMITTED'; + +# +# Testing WHERE on keys using IN clause +# +--echo ** Connection con0 ** +connection con0; + +START TRANSACTION; + +SELECT * FROM t1 WHERE a IN (2,4,6,8) FOR UPDATE; +UPDATE t1 SET b = 10 WHERE a IN (2,4,6,8); + +--echo ** Connection con1 ** +connection con1; + +START TRANSACTION; + +SELECT * FROM t1; + +INSERT INTO t1 VALUES(1, 1); +INSERT INTO t1 VALUES(3, 3); + +SELECT * FROM t1; + +COMMIT; + +--echo ** Connection con0 ** +connection con0; + +DELETE FROM t1 WHERE a = 1 OR a = 3; + +COMMIT; + +--echo '#----------------------------FN_DYNVARS_184_02--------------------------------------#' +# +# Testing WHERE on keys using # on even rows +# + +--echo ** Connection con0 ** +connection con0; + +START TRANSACTION; + +SELECT * FROM t1 WHERE a % 2 = 0 FOR UPDATE; +UPDATE t1 SET b = 10 WHERE a % 2 = 0; + +--echo ** Connection con1 ** +connection con1; + +START TRANSACTION; + +SELECT * FROM t1; + +--error ER_LOCK_WAIT_TIMEOUT +INSERT INTO t1 VALUES(23, 23); + +--error ER_LOCK_WAIT_TIMEOUT +INSERT INTO t1 VALUES(25, 25); +--echo Bug: Only even rows are being locked, error 1205 should'nt have occured + +SELECT * FROM t1; + +COMMIT; + +--echo ** Connection con0 ** +connection con0; + +COMMIT; + +--echo '#----------------------------FN_DYNVARS_184_03--------------------------------------#' +# +# Testing for value READ-COMMITTED +# +--echo ** Connection con0 ** +connection con0; +SET SESSION tx_isolation = 'READ-COMMITTED'; + +--echo ** Connection con1 ** +connection con1; +SET SESSION tx_isolation = 'READ-COMMITTED'; + +# +# Testing WHERE on keys using % on even rows +# +--echo ** Connection con0 ** +connection con0; + +START TRANSACTION; + +SELECT * FROM t1 WHERE a % 2 = 0 FOR UPDATE; +UPDATE t1 SET b = 11 WHERE a % 2 = 0; + +--echo ** Connection con1 ** +connection con1; + +START TRANSACTION; + +SELECT * FROM t1; + +INSERT INTO t1 VALUES(5, 5); +INSERT INTO t1 VALUES(7, 7); + +SELECT * FROM t1; + +COMMIT; + +--echo ** Connection con0 ** +connection con0; + +COMMIT; + + +--echo '#----------------------------FN_DYNVARS_184_04--------------------------------------#' +# +# Testing for value REPEATABLE-READ +# +--echo ** Connection con0 ** +connection con0; +SET SESSION tx_isolation = 'REPEATABLE-READ'; + +--echo ** Connection con1 ** +connection con1; +SET SESSION tx_isolation = 'REPEATABLE-READ'; + +# +# Testing WHERE on keys using % on even rows +# +--echo ** Connection con0 ** +connection con0; + +START TRANSACTION; + +SELECT * FROM t1 WHERE a % 2 = 0 FOR UPDATE; +UPDATE t1 SET b = 12 WHERE a % 2 = 0; + +--echo ** Connection con1 ** +connection con1; + +START TRANSACTION; + +SELECT * FROM t1; + +--error ER_LOCK_WAIT_TIMEOUT +INSERT INTO t1 VALUES(9, 9); +--error ER_LOCK_WAIT_TIMEOUT +INSERT INTO t1 VALUES(13, 13); +--echo Expected error "Lock wait timeout" + +SELECT * FROM t1; + +COMMIT; + +--echo ** Connection con0 ** +connection con0; + +COMMIT; + +--echo '#----------------------------FN_DYNVARS_184_05--------------------------------------#' +# +# Testing WHERE on keys using IN clause +# +--echo ** Connection con0 ** +connection con0; + +START TRANSACTION; + +SELECT * FROM t1 WHERE a IN (2,4,6,8,10,12,14,16,18,20,22,24,26) = 0 FOR UPDATE; +UPDATE t1 SET b = 13 WHERE a IN (2,4,6,8,10,12,14,16,18,20,22,24,26) = 0; + +--echo ** Connection con1 ** +connection con1; + +START TRANSACTION; + +SELECT * FROM t1; + +--error ER_LOCK_WAIT_TIMEOUT +INSERT INTO t1 VALUES(9, 9); +--error ER_LOCK_WAIT_TIMEOUT +INSERT INTO t1 VALUES(13, 13); +--echo Expected error "Lock wait timeout" + +SELECT * FROM t1; + +COMMIT; + +--echo ** Connection con0 ** +connection con0; + +COMMIT; + +--echo '#----------------------------FN_DYNVARS_184_06--------------------------------------#' +# +# Testing WHERE on keys using IN clause +# +--echo ** Connection con0 ** +connection con0; + +START TRANSACTION; + +SELECT * FROM t1 WHERE a IN (2,4,6,8) = 0 FOR UPDATE; +UPDATE t1 SET b = 14 WHERE a IN (2,4,6,8) = 0; + +--echo ** Connection con1 ** +connection con1; + +START TRANSACTION; + +SELECT * FROM t1; + +--error ER_LOCK_WAIT_TIMEOUT +INSERT INTO t1 VALUES(9, 9); +--error ER_LOCK_WAIT_TIMEOUT +INSERT INTO t1 VALUES(13, 13); +--echo Expected error "Lock wait timeout" + +SELECT * FROM t1; + +COMMIT; + +--echo ** Connection con0 ** +connection con0; + +COMMIT; + +--echo '#----------------------------FN_DYNVARS_184_07--------------------------------------#' +# +# Testing for value SERIALIZABLE +# +--echo ** Connection con0 ** +connection con0; +SET SESSION tx_isolation = 'SERIALIZABLE'; + +--echo ** Connection con0 ** +connection con1; +SET SESSION tx_isolation = 'SERIALIZABLE'; + +# +# Testing WHERE on keys using # on even rows +# +--echo ** Connection con0 ** +connection con0; + +START TRANSACTION; + +SELECT * FROM t1 WHERE a % 2 = 0 FOR UPDATE; +UPDATE t1 SET b = 15 WHERE a % 2 = 0; + +--echo ** Connection con0 ** +connection con1; + +START TRANSACTION; + +--error ER_LOCK_WAIT_TIMEOUT +SELECT * FROM t1; + +--error ER_LOCK_WAIT_TIMEOUT +INSERT INTO t1 VALUES(15, 15); +--error ER_LOCK_WAIT_TIMEOUT +INSERT INTO t1 VALUES(17, 17); + +--error ER_LOCK_WAIT_TIMEOUT +SELECT * FROM t1; + +COMMIT; + +--echo ** Connection con0 ** +connection con0; + +COMMIT; + + +--echo '#----------------------------FN_DYNVARS_184_08--------------------------------------#' +# +# Session data integrity check & GLOBAL Value check +# + +SET GLOBAL tx_isolation = 'READ-UNCOMMITTED'; +--echo ** Connecting con_int1 using root ** +connect (con_int1,localhost,root,,); + +--echo ** Connection con_int1 ** +connection con_int1; +SELECT @@SESSION.tx_isolation; +--echo READ-UNCOMMITTED Expected + +SET SESSION tx_isolation = 'SERIALIZABLE'; + +--echo ** Connecting con_int2 using root ** +connect (con_int2,localhost,root,,); + +--echo ** Connection con_int2 ** +connection con_int2; +SELECT @@SESSION.tx_isolation; +--echo READ-UNCOMMITTED Expected + +SET SESSION tx_isolation = 'REPEATABLE-READ'; + +--echo ** Connection con_int2 ** +connection con_int2; +SELECT @@SESSION.tx_isolation; +--echo REPEATABLE-READ Expected + +--echo ** Connection con_int1 ** +connection con_int1; +SELECT @@SESSION.tx_isolation; +--echo SERIALIZABLE Expected + + +SELECT @@GLOBAL.tx_isolation; +--echo READ-UNCOMMITTED Expected + +--echo ** Connection default ** +connection default; + +--echo Disconnecting Connections con_int1, con_int2 +disconnect con_int1; +disconnect con_int2; + +# +# Cleanup +# + +SET @@SESSION.tx_isolation = @session_tx_isolation; +SET @@GLOBAL.tx_isolation = @global_tx_isolation; + +--echo ** Connection default ** +connection default; +--echo Disconnecting Connections con0, con1 +disconnect con0; +disconnect con1; + +DROP TABLE t1; diff --git a/mysql-test/t/type_blob.test b/mysql-test/t/type_blob.test index 2263e2310c9..460da1c1614 100644 --- a/mysql-test/t/type_blob.test +++ b/mysql-test/t/type_blob.test @@ -446,5 +446,169 @@ INSERT INTO t (c) VALUES (REPEAT('2',65536)); INSERT INTO t (c) VALUES (REPEAT('3',65535)); SELECT LENGTH(c), CHAR_LENGTH(c) FROM t; DROP TABLE t; +# Bug#15776: 32-bit signed int used for length of blob +# """LONGBLOB: A BLOB column with a maximum length of 4,294,967,295 or 4GB.""" +# +# Conditions should be in this order: +# A size is not in the allowed bounds. +# If the type is char-ish AND size is within the max blob size: +# raise ER_TOO_BIG_FIELDLENGTH (suggest using BLOB) +# If size is too small: +# raise ER_PARSE_ERROR +# raise ER_TOO_BIG_DISPLAYWIDTH + +# BLOB and TEXT types +--disable_warnings +drop table if exists b15776; +--enable_warnings +create table b15776 (data blob(2147483647)); +drop table b15776; +--error ER_PARSE_ERROR +create table b15776 (data blob(-1)); +create table b15776 (data blob(2147483648)); +drop table b15776; +create table b15776 (data blob(4294967294)); +drop table b15776; +create table b15776 (data blob(4294967295)); +drop table b15776; +--error ER_TOO_BIG_DISPLAYWIDTH +create table b15776 (data blob(4294967296)); + +CREATE TABLE b15776 (a blob(2147483647), b blob(2147483648), c blob(4294967295), a1 text(2147483647), b1 text(2147483648), c1 text(4294967295) ); +show columns from b15776; +drop table b15776; + +--error ER_TOO_BIG_DISPLAYWIDTH +CREATE TABLE b15776 (a blob(4294967296)); +--error ER_TOO_BIG_DISPLAYWIDTH +CREATE TABLE b15776 (a text(4294967296)); +--error ER_TOO_BIG_DISPLAYWIDTH +CREATE TABLE b15776 (a blob(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999)); +--error ER_TOO_BIG_DISPLAYWIDTH +CREATE TABLE b15776 (a text(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999)); + +# Int types +# "Another extension is supported by MySQL for optionally specifying the +# display width of integer data types in parentheses following the base keyword +# for the type (for example, INT(4)). This optional display width is used to +# display integer values having a width less than the width specified for the +# column by left-padding them with spaces." § Numeric Types +CREATE TABLE b15776 (a int(0)); # 0 is special case, means default size +INSERT INTO b15776 values (NULL), (1), (42), (654); +SELECT * from b15776 ORDER BY a; +DROP TABLE b15776; +--error ER_PARSE_ERROR +CREATE TABLE b15776 (a int(-1)); +CREATE TABLE b15776 (a int(255)); +DROP TABLE b15776; +--error ER_TOO_BIG_DISPLAYWIDTH +CREATE TABLE b15776 (a int(256)); +--error ER_PARSE_ERROR +CREATE TABLE b15776 (data blob(-1)); + +# Char types +# Recommend BLOB +--error ER_TOO_BIG_FIELDLENGTH +CREATE TABLE b15776 (a char(2147483647)); +--error ER_TOO_BIG_FIELDLENGTH +CREATE TABLE b15776 (a char(2147483648)); +--error ER_TOO_BIG_FIELDLENGTH +CREATE TABLE b15776 (a char(4294967295)); +# Even BLOB won't hold +--error ER_TOO_BIG_DISPLAYWIDTH +CREATE TABLE b15776 (a char(4294967296)); + + +# Other numeric-ish types +## For year, widths not "2" or "4" are silently rewritten to "4". But +## When we complain about it, we say that the max is 255. We may be +## talking about different things. It's confusing. +CREATE TABLE b15776 (a year(4294967295)); +INSERT INTO b15776 VALUES (42); +SELECT * FROM b15776; +DROP TABLE b15776; +--error ER_TOO_BIG_DISPLAYWIDTH +CREATE TABLE b15776 (a year(4294967296)); +CREATE TABLE b15776 (a year(0)); # 0 is special case, means default size +DROP TABLE b15776; +--error ER_PARSE_ERROR +CREATE TABLE b15776 (a year(-2)); + +## For timestamp, we silently rewrite widths to 14 or 19. +CREATE TABLE b15776 (a timestamp(4294967294)); +DROP TABLE b15776; +CREATE TABLE b15776 (a timestamp(4294967295)); +DROP TABLE b15776; +--error ER_TOO_BIG_DISPLAYWIDTH +CREATE TABLE b15776 (a timestamp(4294967296)); +--error ER_PARSE_ERROR +CREATE TABLE b15776 (a timestamp(-1)); +--error ER_PARSE_ERROR +CREATE TABLE b15776 (a timestamp(-2)); + + +# We've already tested the case, but this should visually show that +# widths that are too large to be interpreted cause DISPLAYWIDTH errors. +--error ER_TOO_BIG_DISPLAYWIDTH +CREATE TABLE b15776 (a int(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999)); +--error ER_TOO_BIG_DISPLAYWIDTH +CREATE TABLE b15776 (a char(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999)); +--error ER_TOO_BIG_DISPLAYWIDTH +CREATE TABLE b15776 (a year(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999)); +--error ER_TOO_BIG_DISPLAYWIDTH +CREATE TABLE b15776 (a timestamp(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999)); + +## Do not select, too much memory needed. +CREATE TABLE b15776 select cast(null as char(4294967295)); +show columns from b15776; +drop table b15776; +CREATE TABLE b15776 select cast(null as nchar(4294967295)); +show columns from b15776; +drop table b15776; +CREATE TABLE b15776 select cast(null as binary(4294967295)); +show columns from b15776; +drop table b15776; + +explain select cast(1 as char(4294967295)); +explain select cast(1 as nchar(4294967295)); +explain select cast(1 as binary(4294967295)); + +--error ER_TOO_BIG_DISPLAYWIDTH +explain select cast(1 as char(4294967296)); +--error ER_TOO_BIG_DISPLAYWIDTH +explain select cast(1 as nchar(4294967296)); +--error ER_TOO_BIG_DISPLAYWIDTH +explain select cast(1 as binary(4294967296)); + +--error ER_PARSE_ERROR +explain select cast(1 as decimal(-1)); +explain select cast(1 as decimal(64, 30)); +# It's not as important which errors are raised for these, since the +# limit is nowhere near 2**32. We may fix these eventually to take +# 4294967295 and still reject it because it's greater than 64 or 30, +# but that's not a high priority and the parser needn't worry about +# such a weird case. +--error ER_TOO_BIG_SCALE,ER_PARSE_ERROR +explain select cast(1 as decimal(64, 999999999999999999999999999999)); +--error ER_TOO_BIG_PRECISION,ER_PARSE_ERROR +explain select cast(1 as decimal(4294967296)); +--error ER_TOO_BIG_PRECISION,ER_PARSE_ERROR +explain select cast(1 as decimal(999999999999999999999999999999999999)); + +explain select convert(1, char(4294967295)); +--error ER_TOO_BIG_DISPLAYWIDTH +explain select convert(1, char(4294967296)); +--error ER_TOO_BIG_DISPLAYWIDTH +explain select convert(1, char(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999)); +explain select convert(1, nchar(4294967295)); +--error ER_TOO_BIG_DISPLAYWIDTH +explain select convert(1, nchar(4294967296)); +--error ER_TOO_BIG_DISPLAYWIDTH +explain select convert(1, nchar(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999)); +explain select convert(1, binary(4294967295)); +--error ER_TOO_BIG_DISPLAYWIDTH +explain select convert(1, binary(4294967296)); +--error ER_TOO_BIG_DISPLAYWIDTH +explain select convert(1, binary(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999)); --echo End of 5.0 tests diff --git a/mysql-test/t/type_decimal.test b/mysql-test/t/type_decimal.test index 6841b3cdd68..8a81908296f 100644 --- a/mysql-test/t/type_decimal.test +++ b/mysql-test/t/type_decimal.test @@ -521,4 +521,12 @@ SELECT ROUND(20061108085411.000002); DROP TABLE t1, t2, t3, t4, t5, t6; +# +# Bug#36023: Incorrect handling of zero length caused an assertion to fail. +# +create table t1(`c` decimal(9,2)); +insert into t1 values (300),(201.11); +select max(case 1 when 1 then c else null end) from t1 group by c; +drop table t1; + --echo End of 5.0 tests diff --git a/mysql-test/t/union.test b/mysql-test/t/union.test index 70789404d6e..f58cd54250b 100644 --- a/mysql-test/t/union.test +++ b/mysql-test/t/union.test @@ -91,6 +91,65 @@ SELECT @a:=1 UNION SELECT @a:=@a+1; (SELECT 1) UNION (SELECT 2) ORDER BY (SELECT a); (SELECT 1,3) UNION (SELECT 2,1) ORDER BY (SELECT 2); + +# +# Bug#32858: Erro: "Incorrect usage of UNION and INTO" does not take subselects +# into account +# +CREATE TABLE t1 (a INT); +INSERT INTO t1 VALUES (1); + +SELECT a INTO @v FROM ( + SELECT a FROM t1 + UNION + SELECT a FROM t1 +) alias; + +SELECT a INTO OUTFILE 'union.out.file' FROM ( + SELECT a FROM t1 + UNION + SELECT a FROM t1 WHERE 0 +) alias; + +SELECT a INTO DUMPFILE 'union.out.file2' FROM ( + SELECT a FROM t1 + UNION + SELECT a FROM t1 WHERE 0 +) alias; + +# +# INTO will not be allowed in subqueries in version 5.1 and above. +# +SELECT a FROM ( + SELECT a FROM t1 + UNION + SELECT a INTO @v FROM t1 +) alias; + +SELECT a FROM ( + SELECT a FROM t1 + UNION + SELECT a INTO OUTFILE 'union.out.file3' FROM t1 +) alias; + +SELECT a FROM ( + SELECT a FROM t1 + UNION + SELECT a INTO DUMPFILE 'union.out.file4' FROM t1 +) alias; + +SELECT a FROM t1 UNION SELECT a INTO @v FROM t1; +SELECT a FROM t1 UNION SELECT a INTO OUTFILE 'union.out.file5' FROM t1; +SELECT a FROM t1 UNION SELECT a INTO OUTFILE 'union.out.file6' FROM t1; +--error ER_WRONG_USAGE +SELECT a INTO @v FROM t1 UNION SELECT a FROM t1; +--error ER_WRONG_USAGE +SELECT a INTO OUTFILE 'union.out.file7' FROM t1 UNION SELECT a FROM t1; +--error ER_WRONG_USAGE +SELECT a INTO DUMPFILE 'union.out.file8' FROM t1 UNION SELECT a FROM t1; + +DROP TABLE t1; + # # Test bug reported by joc@presence-pc.com # diff --git a/mysql-test/t/unique_checks_basic.test b/mysql-test/t/unique_checks_basic.test new file mode 100644 index 00000000000..55308adcc82 --- /dev/null +++ b/mysql-test/t/unique_checks_basic.test @@ -0,0 +1,170 @@ +############## mysql-test\t\unique_checks_basic.test ########################## +# # +# Variable Name: unique_checks # +# Scope: SESSION # +# Access Type: Dynamic # +# Data Type: boolean # +# Default Value: 1 # +# Range: # +# # +# # +# Creation Date: 2008-02-14 # +# Author: Sharique Abdullah # +# # +# Description: Test Cases of Dynamic System Variable unique_checks # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html#option_mysqld_UNIQUE_CHECKS # +# # +############################################################################### + +--source include/load_sysvars.inc +######################################################################## +# START OF transaction_allow_batching TESTS # +######################################################################## + + +############################################################# +# Save initial value # +############################################################# + +SET @start_session_value = @@session.unique_checks; +SELECT @start_session_value; + +--echo '#--------------------FN_DYNVARS_005_01-------------------------#' +############################################################ +# Display the DEFAULT value of unique_checks # +############################################################ + + +SET @@session.unique_checks= 1; +SET @@session.unique_checks= DEFAULT; +SELECT @@session.unique_checks; + +--echo '#--------------------FN_DYNVARS_005_02-------------------------#' +############################################################# +# Check the DEFAULT value of unique_checks # +############################################################# + + +SET @@session.unique_checks = DEFAULT; +SELECT @@session.unique_checks =1; + + +--echo '#--------------------FN_DYNVARS_005_04-------------------------#' +######################################################################## +# Change the value of unique_checks to a valid value for SESSION Scope # +######################################################################## + +SET @@session.unique_checks =1; +SELECT @@session.unique_checks; + +SET @@session.unique_checks = 0; +SELECT @@session.unique_checks; + +SET @@session.unique_checks = True; +SELECT @@session.unique_checks; + +SET @@session.unique_checks = False; +SELECT @@session.unique_checks; + +SET @@session.unique_checks = "ON"; +SELECT @@session.unique_checks; + +SET @@session.unique_checks = "OFF"; +SELECT @@session.unique_checks; + + + +--echo '#------------------FN_DYNVARS_005_05-----------------------#' +########################################################### +# Change the value of 'unique_checks' to an invalid value # +########################################################### + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.unique_checks = 'No'; + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.unique_checks = "yes"; + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.unique_checks = yes; + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.unique_checks = NO; + + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.unique_checks = "True"; + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.unique_checks = "False"; + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.unique_checks = "Test"; + + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.unique_checks = 'test'; + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.unique_checks = 123456789031; + + +--echo '#------------------FN_DYNVARS_005_07-----------------------#' +#################################################################### +# Check if the value in SESSION Table matches value in variable # +#################################################################### + +SELECT @@session.unique_checks = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='unique_checks'; + + +--echo '#---------------------FN_DYNVARS_001_08----------------------#' +######################################################################## +# Check if accessing variable with SESSION,LOCAL and without SCOPE # +# points to same session variable # +######################################################################## +SET @@unique_checks = 1; +SELECT @@unique_checks = @@local.unique_checks; +SELECT @@local.unique_checks = @@session.unique_checks; + + +--echo '#---------------------FN_DYNVARS_001_09----------------------#' +######################################################################## +# Check if unique_checks can be accessed with and without @@ sign # +######################################################################## + +--Error ER_WRONG_VALUE_FOR_VAR +SET unique_checks = 1027; +SELECT @@unique_checks; + +--Error ER_UNKNOWN_TABLE +SELECT local.unique_checks; + +--Error ER_UNKNOWN_TABLE +SELECT session.unique_checks; + +--Error ER_BAD_FIELD_ERROR +SELECT unique_checks = @@session.unique_checks; + + +#################################### +# Restore initial value # +#################################### + + +SET @@session.unique_checks = @start_session_value; +SELECT @@session.unique_checks; + + +################################################## +# END OF unique_checks TESTS # +################################################## + diff --git a/mysql-test/t/updatable_views_with_limit_basic.test b/mysql-test/t/updatable_views_with_limit_basic.test new file mode 100644 index 00000000000..61a45793d39 --- /dev/null +++ b/mysql-test/t/updatable_views_with_limit_basic.test @@ -0,0 +1,275 @@ +############## mysql-test\t\updatable_views_with_limit_basic.test ############# +# # +# Variable Name: updatable_views_with_limit # +# Scope: GLOBAL | SESSION # +# Access Type: Dynamic # +# Data Type: boolean # +# Default Value: 1 # +# Range: # +# # +# # +# Creation Date: 2008-02-14 # +# Author: Sharique Abdullah # +# # +# Description: Test Case of Dynamic System Variable updatable_views_with_limit# +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html#option_mysqld_updatable_views_with_limit # +# # +############################################################################### + +--source include/load_sysvars.inc + +######################################################################## +# START OF updatable_views_with_limit TESTS # +######################################################################## + + +############################################################# +# Save initial value # +############################################################# + +SET @start_global_value = @@global.updatable_views_with_limit; +SELECT @start_global_value; +SET @start_session_value = @@session.updatable_views_with_limit; +SELECT @start_session_value; + + + +--echo '#--------------------FN_DYNVARS_005_01-------------------------#' +######################################################################## +# Display the DEFAULT value of updatable_views_with_limit # +######################################################################## + +SET @@global.updatable_views_with_limit = 'NO'; +SET @@global.updatable_views_with_limit = DEFAULT; +SELECT @@global.updatable_views_with_limit; + + +SET @@session.updatable_views_with_limit = 'NO'; +SET @@session.updatable_views_with_limit = DEFAULT; +SELECT @@session.updatable_views_with_limit; + + + +--echo '#--------------------FN_DYNVARS_005_02-------------------------#' +######################################################################## +# Check the DEFAULT value of updatable_views_with_limit # +######################################################################## + +SET @@global.updatable_views_with_limit = DEFAULT; +SELECT @@global.updatable_views_with_limit = 'Yes'; + +SET @@session.updatable_views_with_limit = DEFAULT; +SELECT @@session.updatable_views_with_limit ='Yes'; + + + +--echo '#--------------------FN_DYNVARS_005_03-------------------------#' +################################################################## +# Change the value of variable to a valid value for GLOBAL Scope # +################################################################## + +SET @@global.updatable_views_with_limit = NO; +SELECT @@global.updatable_views_with_limit; + +SET @@global.updatable_views_with_limit = 'NO'; +SELECT @@global.updatable_views_with_limit; + +SET @@global.updatable_views_with_limit = YES; +SELECT @@global.updatable_views_with_limit; + +SET @@global.updatable_views_with_limit = 'YES'; +SELECT @@global.updatable_views_with_limit; + +SET @@global.updatable_views_with_limit = "NO"; +SELECT @@global.updatable_views_with_limit; + +SET @@global.updatable_views_with_limit = "YES"; +SELECT @@global.updatable_views_with_limit; + +SET @@global.updatable_views_with_limit = 1; +SELECT @@global.updatable_views_with_limit; + +SET @@global.updatable_views_with_limit = 0; +SELECT @@global.updatable_views_with_limit; + +SET @@global.updatable_views_with_limit = TRUE; +SELECT @@global.updatable_views_with_limit; + +SET @@global.updatable_views_with_limit = False; +SELECT @@global.updatable_views_with_limit; + + +--echo '#--------------------FN_DYNVARS_005_04-------------------------#' +################################################################### +# Change the value of variable to a valid value for SESSION Scope # +################################################################### + +SET @@session.updatable_views_with_limit = NO; +SELECT @@session.updatable_views_with_limit; + +SET @@session.updatable_views_with_limit = 'NO'; +SELECT @@session.updatable_views_with_limit; + +SET @@session.updatable_views_with_limit = YES; +SELECT @@session.updatable_views_with_limit; + +SET @@session.updatable_views_with_limit = 'YES'; +SELECT @@session.updatable_views_with_limit; + +SET @@session.updatable_views_with_limit = "YES"; +SELECT @@session.updatable_views_with_limit; + +SET @@session.updatable_views_with_limit = "NO"; +SELECT @@session.updatable_views_with_limit; + + + +SET @@session.updatable_views_with_limit =1; +SELECT @@session.updatable_views_with_limit; + +SET @@session.updatable_views_with_limit = 0; +SELECT @@session.updatable_views_with_limit; + +SET @@session.updatable_views_with_limit = True; +SELECT @@session.updatable_views_with_limit; + +SET @@session.updatable_views_with_limit = False; +SELECT @@session.updatable_views_with_limit; + + + +--echo '#------------------FN_DYNVARS_005_05-----------------------#' +######################################################################## +# Change the value of 'updatable_views_with_limit' to an invalid value # +######################################################################## + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.updatable_views_with_limit = "TRUE"; + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.updatable_views_with_limit = -1024; + + + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.updatable_views_with_limit = 2345; + + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.updatable_views_with_limit = "FALSE"; + + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.updatable_views_with_limit = 65530.34; + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.updatable_views_with_limit ="Testing"; + + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.updatable_views_with_limit = "ON"; + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.updatable_views_with_limit = "OFF"; + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.updatable_views_with_limit = "True"; + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.updatable_views_with_limit = "False"; + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.updatable_views_with_limit = "Test"; + + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.updatable_views_with_limit = 'test'; + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.updatable_views_with_limit = 123456789031; + + +--echo '#------------------FN_DYNVARS_005_06-----------------------#' +#################################################################### +# Check if the value in GLOBAL Table matches value in variable # +#################################################################### + + +SELECT @@global.updatable_views_with_limit = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='updatable_views_with_limit'; + +--echo '#------------------FN_DYNVARS_005_07-----------------------#' +#################################################################### +# Check if the value in SESSION Table matches value in variable # +#################################################################### + +SELECT @@session.updatable_views_with_limit = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='updatable_views_with_limit'; + + + + +--echo '#---------------------FN_DYNVARS_001_08----------------------#' +########################################################################### +# Check if global and session variable are independent of each other # +########################################################################### + +SET @@global.updatable_views_with_limit = NO; +SET @@session.updatable_views_with_limit = YES; +SELECT @@updatable_views_with_limit = @@global.updatable_views_with_limit; + + +--echo '#---------------------FN_DYNVARS_001_09----------------------#' +######################################################################## +# Check if accessing variable with SESSION,LOCAL and without SCOPE # +# points to same session variable # +######################################################################## + +SET @@updatable_views_with_limit = YES; +SELECT @@updatable_views_with_limit = @@local.updatable_views_with_limit; +SELECT @@local.updatable_views_with_limit = @@session.updatable_views_with_limit; + + +--echo '#---------------------FN_DYNVARS_001_10----------------------#' +################################################################ +# Check if variable can be accessed with and without @@ sign # +################################################################ + +--Error ER_WRONG_VALUE_FOR_VAR +SET updatable_views_with_limit = 1027; +SELECT @@updatable_views_with_limit; + + +--Error ER_UNKNOWN_TABLE +SELECT local.updatable_views_with_limit; + +--Error ER_UNKNOWN_TABLE +SELECT session.updatable_views_with_limit; + +--Error ER_BAD_FIELD_ERROR +SELECT updatable_views_with_limit = @@session.updatable_views_with_limit; + + +#################################### +# Restore initial value # +#################################### + +SET @@global.updatable_views_with_limit = @start_global_value; +SELECT @@global.updatable_views_with_limit; +SET @@session.updatable_views_with_limit = @start_session_value; +SELECT @@session.updatable_views_with_limit; + + +############################################################# +# END OF updatable_views_with_limit TESTS # +############################################################# + diff --git a/mysql-test/t/updatable_views_with_limit_func.test b/mysql-test/t/updatable_views_with_limit_func.test new file mode 100644 index 00000000000..2e1a3f97346 --- /dev/null +++ b/mysql-test/t/updatable_views_with_limit_func.test @@ -0,0 +1,143 @@ +############ mysql-test\t\updatable_views_with_limit_func.test ################# +# # +#Variable Name: updatable_views_with_limit # +#Scope: SESSION # +#Access Type: Dynamic # +#Data Type: Enumeration # +#Default Value: - # +#Values: - # +# # +# # +#Creation Date: 2008-03-02 # +#Author: Sharique Abdullah # +# # +#Description: Test Cases of Dynamic System Variable "updatable_views_with_limit# +# that checks behavior of this variable in the following ways # +# * Functionality based on different values # +# # +#Reference: http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html# +#option_mysqld_updatable_views_with_limit # +# # +################################################################################ + +# +# Setup +# + +SET @session_updatable_views_with_limit = @@Session.UPDATABLE_VIEWS_WITH_LIMIT; + + +--disable_warnings +DROP TABLE IF EXISTS t1; +--enable_warnings + +################################ +# Creating table # +################################ + +CREATE TABLE t1 (a INT, b INT, c INT, PRIMARY KEY(a,b)); + +################################## +# Inserting values in the table # +################################## + + +INSERT INTO t1 VALUES (10,2,-1), (20,3,-2), + (30,4,-3), (40,5,-4); + + +#################################### +# Creating views # +#################################### +CREATE VIEW v1 (x,y) AS SELECT a, c FROM t1; + + +--echo ** Connecting test_con1 using username 'root' ** +CONNECT (test_con1,localhost,root,,); +--echo ** Connection test_con1 ** +CONNECTION test_con1; + +SET @@Session.UPDATABLE_VIEWS_WITH_LIMIT=YES; + +# +# Testing WITH a limit clause +# + +--echo Warning expected, 'View does not contain complete key of the table' +UPDATE v1 SET x=x+6 LIMIT 1; + +SELECT * FROM t1; + +# +# Testing WITHOUT a limit clause +# + +UPDATE v1 SET x=x+5; + +SELECT * FROM t1; + +--echo ** Connecting test_con2 using username 'root' ** +CONNECT (test_con2,localhost,root,,); +--echo ** Connection test_con2 ** +CONNECTION test_con2; + +SET @@Session.UPDATABLE_VIEWS_WITH_LIMIT=NO; + +SELECT @@SESSION.UPDATABLE_VIEWS_WITH_LIMIT; + +--ERROR ER_NON_UPDATABLE_TABLE +UPDATE v1 SET x=x+10 LIMIT 1; +--echo Expected error 'Non updatable table' + +SELECT * FROM t1; + + +--echo '#---------------------FN_DYNVARS_039_01----------------------#' +###################################### +# Setting value to NO # +###################################### + +SET UPDATABLE_VIEWS_WITH_LIMIT=NO; + +-- error ER_NON_UPDATABLE_TABLE +UPDATE v1 SET x=x+1 LIMIT 1; +--echo Expected error 'Non updatable table' + +SET UPDATABLE_VIEWS_WITH_LIMIT=0; + +-- error ER_NON_UPDATABLE_TABLE +UPDATE v1 SET x=x+1 LIMIT 1; +--echo Expected error 'Non updatable table' + +--echo '#---------------------FN_DYNVARS_039_02----------------------#' +###################################### +# Setting value to Default # +###################################### + +--echo Warning expected, 'View does not contain complete key of the table' +SET UPDATABLE_VIEWS_WITH_LIMIT=DEFAULT; +UPDATE v1 SET x=x+1 LIMIT 1; + + +--echo Warning expected, 'View does not contain complete key of the table' +SET UPDATABLE_VIEWS_WITH_LIMIT=YES; +UPDATE v1 SET x=x+2 LIMIT 1; + +# +# Cleanup +# + +--echo ** Connection default ** +connection default; + +--echo ** Disconnecting test_con1, test_con2 ** +disconnect test_con1; +disconnect test_con2; + +SET @@SESSION.updatable_views_with_limit = @session_updatable_views_with_limit; + +--disable_warnings +DROP VIEW IF EXISTS v1; +DROP TABLE IF EXISTS t1; +--enable_warnings + diff --git a/mysql-test/t/variables.test b/mysql-test/t/variables.test index 51f8d6db1db..221f46605cd 100644 --- a/mysql-test/t/variables.test +++ b/mysql-test/t/variables.test @@ -778,3 +778,20 @@ set global thread_cache_size =@my_thread_cache_size; --replace_column 2 # show global variables where Variable_name='table_definition_cache' or Variable_name='table_lock_wait_timeout'; + +########################################################################### + +--echo +--echo # -- +--echo # -- Bug#34820: log_output can be set to illegal value. +--echo # -- + +--error ER_WRONG_VALUE_FOR_VAR +SET GLOBAL log_output = ''; + +--error ER_WRONG_VALUE_FOR_VAR +SET GLOBAL log_output = 0; + +--echo +--echo # -- End of Bug#34820. + diff --git a/mysql-test/t/version_basic.test b/mysql-test/t/version_basic.test new file mode 100644 index 00000000000..0a22713ca12 --- /dev/null +++ b/mysql-test/t/version_basic.test @@ -0,0 +1,100 @@ + + +################## mysql-test\t\version_basic.test ############################ +# # +# Variable Name: version # +# Scope: Global # +# Access Type: Static # +# Data Type: String # +# # +# # +# Creation Date: 2008-02-07 # +# Author : Sharique Abdullah # +# # +# # +# Description:Test Cases of Dynamic System Variable version # +# that checks the behavior of this variable in the following ways # +# * Value Check # +# * Scope Check # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--echo '#---------------------BS_STVARS_053_01----------------------#' +#################################################################### +# Displaying default value # +#################################################################### +SELECT COUNT(@@GLOBAL.version); +--echo 1 Expected + + +--echo '#---------------------BS_STVARS_053_02----------------------#' +#################################################################### +# Check if Value can set # +#################################################################### + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@GLOBAL.version=1; +--echo Expected error 'Read only variable' + +SELECT COUNT(@@GLOBAL.version); +--echo 1 Expected + + + + +--echo '#---------------------BS_STVARS_053_03----------------------#' +################################################################# +# Check if the value in GLOBAL Table matches value in variable # +################################################################# + +SELECT @@GLOBAL.version = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='version'; +--echo 1 Expected + +SELECT COUNT(@@GLOBAL.version); +--echo 1 Expected + +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='version'; +--echo 1 Expected + + + +--echo '#---------------------BS_STVARS_053_04----------------------#' +################################################################################ +# Check if accessing variable with and without GLOBAL point to same variable # +################################################################################ +SELECT @@version = @@GLOBAL.version; +--echo 1 Expected + + + +--echo '#---------------------BS_STVARS_053_05----------------------#' +################################################################################ +# Check if version can be accessed with and without @@ sign # +################################################################################ + +SELECT COUNT(@@version); +--echo 1 Expected + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT COUNT(@@local.version); +--echo Expected error 'Variable is a GLOBAL variable' + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT COUNT(@@SESSION.version); +--echo Expected error 'Variable is a GLOBAL variable' + +SELECT COUNT(@@GLOBAL.version); +--echo 1 Expected + +--Error ER_BAD_FIELD_ERROR +SELECT version = @@SESSION.version; +--echo Expected error 'Readonly variable' + + diff --git a/mysql-test/t/version_comment_basic.test b/mysql-test/t/version_comment_basic.test new file mode 100644 index 00000000000..3ae6daa192a --- /dev/null +++ b/mysql-test/t/version_comment_basic.test @@ -0,0 +1,100 @@ + + +################## mysql-test\t\version_comment_basic.test #################### +# # +# Variable Name: version_comment # +# Scope: Global # +# Access Type: Static # +# Data Type: String # +# # +# # +# Creation Date: 2008-02-07 # +# Author : Sharique Abdullah # +# # +# # +# Description:Test Cases of Dynamic System Variable version_comment # +# that checks the behavior of this variable in the following ways # +# * Value Check # +# * Scope Check # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--echo '#---------------------BS_STVARS_054_01----------------------#' +#################################################################### +# Displaying default value # +#################################################################### +SELECT COUNT(@@GLOBAL.version_comment); +--echo 1 Expected + + +--echo '#---------------------BS_STVARS_054_02----------------------#' +#################################################################### +# Check if Value can set # +#################################################################### + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@GLOBAL.version_comment=1; +--echo Expected error 'Read only variable' + +SELECT COUNT(@@GLOBAL.version_comment); +--echo 1 Expected + + + + +--echo '#---------------------BS_STVARS_054_03----------------------#' +################################################################# +# Check if the value in GLOBAL Table matches value in variable # +################################################################# + +SELECT @@GLOBAL.version_comment = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='version_comment'; +--echo 1 Expected + +SELECT COUNT(@@GLOBAL.version_comment); +--echo 1 Expected + +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='version_comment'; +--echo 1 Expected + + + +--echo '#---------------------BS_STVARS_054_04----------------------#' +################################################################################ +# Check if accessing variable with and without GLOBAL point to same variable # +################################################################################ +SELECT @@version_comment = @@GLOBAL.version_comment; +--echo 1 Expected + + + +--echo '#---------------------BS_STVARS_054_05----------------------#' +################################################################################ +# Check if version_comment can be accessed with and without @@ sign # +################################################################################ + +SELECT COUNT(@@version_comment); +--echo 1 Expected + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT COUNT(@@local.version_comment); +--echo Expected error 'Variable is a GLOBAL variable' + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT COUNT(@@SESSION.version_comment); +--echo Expected error 'Variable is a GLOBAL variable' + +SELECT COUNT(@@GLOBAL.version_comment); +--echo 1 Expected + +--Error ER_BAD_FIELD_ERROR +SELECT version_comment = @@SESSION.version_comment; +--echo Expected error 'Readonly variable' + + diff --git a/mysql-test/t/version_compile_machine_basic.test b/mysql-test/t/version_compile_machine_basic.test new file mode 100644 index 00000000000..30742436068 --- /dev/null +++ b/mysql-test/t/version_compile_machine_basic.test @@ -0,0 +1,100 @@ + + +################## mysql-test\t\version_compile_machine_basic.test ############ +# # +# Variable Name: version_compile_machine # +# Scope: Global # +# Access Type: Static # +# Data Type: String # +# # +# # +# Creation Date: 2008-02-07 # +# Author : Sharique Abdullah # +# # +# # +# Description:Test Cases of Dynamic System Variable version_compile_machine # +# that checks the behavior of this variable in the following ways # +# * Value Check # +# * Scope Check # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--echo '#---------------------BS_STVARS_055_01----------------------#' +#################################################################### +# Displaying default value # +#################################################################### +SELECT COUNT(@@GLOBAL.version_compile_machine); +--echo 1 Expected + + +--echo '#---------------------BS_STVARS_055_02----------------------#' +#################################################################### +# Check if Value can set # +#################################################################### + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@GLOBAL.version_compile_machine=1; +--echo Expected error 'Read only variable' + +SELECT COUNT(@@GLOBAL.version_compile_machine); +--echo 1 Expected + + + + +--echo '#---------------------BS_STVARS_055_03----------------------#' +################################################################# +# Check if the value in GLOBAL Table matches value in variable # +################################################################# + +SELECT @@GLOBAL.version_compile_machine = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='version_compile_machine'; +--echo 1 Expected + +SELECT COUNT(@@GLOBAL.version_compile_machine); +--echo 1 Expected + +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='version_compile_machine'; +--echo 1 Expected + + + +--echo '#---------------------BS_STVARS_055_04----------------------#' +################################################################################ +# Check if accessing variable with and without GLOBAL point to same variable # +################################################################################ +SELECT @@version_compile_machine = @@GLOBAL.version_compile_machine; +--echo 1 Expected + + + +--echo '#---------------------BS_STVARS_055_05----------------------#' +################################################################################ +# Check if version_compile_machine can be accessed with and without @@ sign # +################################################################################ + +SELECT COUNT(@@version_compile_machine); +--echo 1 Expected + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT COUNT(@@local.version_compile_machine); +--echo Expected error 'Variable is a GLOBAL variable' + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT COUNT(@@SESSION.version_compile_machine); +--echo Expected error 'Variable is a GLOBAL variable' + +SELECT COUNT(@@GLOBAL.version_compile_machine); +--echo 1 Expected + +--Error ER_BAD_FIELD_ERROR +SELECT version_compile_machine = @@SESSION.version_compile_machine; +--echo Expected error 'Readonly variable' + + diff --git a/mysql-test/t/version_compile_os_basic.test b/mysql-test/t/version_compile_os_basic.test new file mode 100644 index 00000000000..8858f248249 --- /dev/null +++ b/mysql-test/t/version_compile_os_basic.test @@ -0,0 +1,100 @@ + + +################## mysql-test\t\version_compile_os_basic.test ################# +# # +# Variable Name: version_compile_os # +# Scope: Global # +# Access Type: Static # +# Data Type: String # +# # +# # +# Creation Date: 2008-02-07 # +# Author : Sharique Abdullah # +# # +# # +# Description:Test Cases of Dynamic System Variable version_compile_os # +# that checks the behavior of this variable in the following ways # +# * Value Check # +# * Scope Check # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--echo '#---------------------BS_STVARS_056_01----------------------#' +#################################################################### +# Displaying default value # +#################################################################### +SELECT COUNT(@@GLOBAL.version_compile_os); +--echo 1 Expected + + +--echo '#---------------------BS_STVARS_056_02----------------------#' +#################################################################### +# Check if Value can set # +#################################################################### + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@GLOBAL.version_compile_os=1; +--echo Expected error 'Read only variable' + +SELECT COUNT(@@GLOBAL.version_compile_os); +--echo 1 Expected + + + + +--echo '#---------------------BS_STVARS_056_03----------------------#' +################################################################# +# Check if the value in GLOBAL Table matches value in variable # +################################################################# + +SELECT @@GLOBAL.version_compile_os = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='version_compile_os'; +--echo 1 Expected + +SELECT COUNT(@@GLOBAL.version_compile_os); +--echo 1 Expected + +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='version_compile_os'; +--echo 1 Expected + + + +--echo '#---------------------BS_STVARS_056_04----------------------#' +################################################################################ +# Check if accessing variable with and without GLOBAL point to same variable # +################################################################################ +SELECT @@version_compile_os = @@GLOBAL.version_compile_os; +--echo 1 Expected + + + +--echo '#---------------------BS_STVARS_056_05----------------------#' +################################################################################ +# Check if version_compile_os can be accessed with and without @@ sign # +################################################################################ + +SELECT COUNT(@@version_compile_os); +--echo 1 Expected + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT COUNT(@@local.version_compile_os); +--echo Expected error 'Variable is a GLOBAL variable' + +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT COUNT(@@SESSION.version_compile_os); +--echo Expected error 'Variable is a GLOBAL variable' + +SELECT COUNT(@@GLOBAL.version_compile_os); +--echo 1 Expected + +--Error ER_BAD_FIELD_ERROR +SELECT version_compile_os = @@SESSION.version_compile_os; +--echo Expected error 'Readonly variable' + + diff --git a/mysql-test/t/wait_timeout_basic_32.test b/mysql-test/t/wait_timeout_basic_32.test new file mode 100644 index 00000000000..88d60333138 --- /dev/null +++ b/mysql-test/t/wait_timeout_basic_32.test @@ -0,0 +1,9 @@ +################################################################################ +# Created by Horst Hunger 2008-05-07 # +# # +# Wrapper for 32 bit machines # +################################################################################ + +--source include/have_32bit.inc +--source include/wait_timeout_basic.inc + diff --git a/mysql-test/t/wait_timeout_basic_64.test b/mysql-test/t/wait_timeout_basic_64.test new file mode 100644 index 00000000000..76dcd6fcc91 --- /dev/null +++ b/mysql-test/t/wait_timeout_basic_64.test @@ -0,0 +1,9 @@ +################################################################################ +# Created by Horst Hunger 2008-05-07 # +# # +# Wrapper for 64 bit machines # +################################################################################ + +--source include/have_64bit.inc +--source include/wait_timeout_basic.inc + diff --git a/mysql-test/t/wait_timeout_func.test b/mysql-test/t/wait_timeout_func.test new file mode 100644 index 00000000000..e825b5a3a39 --- /dev/null +++ b/mysql-test/t/wait_timeout_func.test @@ -0,0 +1,103 @@ +############## mysql-test\t\wait_timeout_func.test ############################ +# # +# Variable Name: wait_timeout # +# Scope: GLOBAL | SESSION # +# Access Type: Dynamic # +# Data Type: numeric # +# Default Value: # +# Range: # +# # +# # +# Creation Date: 2008-03-07 # +# Author: Salman Rawala # +# # +# Description: Test Cases of Dynamic System Variable wait_timeout # +# that checks the functionality of this variable # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html#option_mysqld_wait_timeouts # +# # +############################################################################### + +--source include/not_embedded.inc + +--disable_warnings +drop table if exists t1; +--enable_warnings + +############################## +# Creating two new tables # +############################## + +--echo ## Creating new table t1 ## +CREATE TABLE t1 +( +id INT NOT NULL auto_increment, +PRIMARY KEY (id), +name VARCHAR(30) +); + + +--echo '#--------------------FN_DYNVARS_186_01-------------------------#' +####################################################################### +# Setting initial value of interactive_timeout greater than sleep and +# verifying its behavior on session scope +####################################################################### + +--echo ## Creating new connection test_con1 ## +connect (test_con1, localhost, root,,); +connection test_con1; + +--echo ## Setting value of variable to 5 ## +SET @@session.wait_timeout = 5; + +--echo ## Inserting record in table t1 ## +INSERT into t1(name) values('Record_1'); + +--echo ## Using sleep to check timeout ## +sleep 4; + + +--echo '#--------------------FN_DYNVARS_186_02-------------------------#' +####################################################################### +# Setting initial value of interactive_timeout greater than sleep and +# verifying its behavior on global scope +####################################################################### + +--echo ## Setting value of variable ## +SET @@global.wait_timeout = 5; + +--echo ## Creating new connection test_con2 ## +connect (test_con2, localhost, root,,); +connection test_con2; + +INSERT into t1(name) values('Record_2'); + +--echo ## Using sleep to check timeout ## +sleep 4; + + + + +--echo '#--------------------FN_DYNVARS_186_03-------------------------#' +####################################################################### +# Setting initial value of interactive_timeout less than sleep and +# verifying its behavior on global scope +####################################################################### + +--echo ## Setting value of variable to 1 ## +SET @@global.wait_timeout = 1; + +--echo ## Creating new connection ## +connect (test_con3, localhost, root,,); +connection test_con3; + +INSERT into t1(name) values('Record_3'); + +--echo ## Using sleep to check timeout ## +sleep 5; + +--echo ## We cannot test it further because the server stops due to wait_timeout ## +--Error 2006 +SELECT * from t1; + diff --git a/mysql-test/t/warning_count_basic.test b/mysql-test/t/warning_count_basic.test new file mode 100644 index 00000000000..64539e28d5b --- /dev/null +++ b/mysql-test/t/warning_count_basic.test @@ -0,0 +1,97 @@ + + +################## mysql-test\t\warning_count_basic.test ###################### +# # +# Variable Name: warning_count # +# Scope: Session # +# Access Type: Static # +# Data Type: numeric # +# # +# # +# Creation Date: 2008-02-07 # +# Author : Sharique Abdullah # +# # +# # +# Description:Test Cases of Dynamic System Variable warning_count # +# that checks the behavior of this variable in the following ways # +# * Value Check # +# * Scope Check # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html # +# # +############################################################################### + +--echo '#---------------------BS_STVARS_057_01----------------------#' +#################################################################### +# Displaying default value # +#################################################################### + +SELECT COUNT(@@SESSION.warning_count); +--echo 1 Expected + +--echo '#---------------------BS_STVARS_057_02----------------------#' +#################################################################### +# Check if Value can set # +#################################################################### + + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SET @@SESSION.warning_count=1; +--echo Expected error 'Read only variable' + +SELECT COUNT(@@SESSION.warning_count); +--echo 1 Expected + + + + +--echo '#---------------------BS_STVARS_057_03----------------------#' +################################################################# +# Check if the value in SESSION Table matches value in variable # +################################################################# + +SELECT @@SESSION.warning_count = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='warning_count'; +--echo 1 Expected + +SELECT COUNT(@@SESSION.warning_count); +--echo 1 Expected + +SELECT COUNT(VARIABLE_VALUE) +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='warning_count'; +--echo 1 Expected + + +--echo '#---------------------BS_STVARS_057_04----------------------#' +################################################################################ +# Check if accessing variable with and without SESSION point to same variable # +################################################################################ +SELECT @@warning_count = @@SESSION.warning_count; +--echo 1 Expected + + + +--echo '#---------------------BS_STVARS_057_05----------------------#' +################################################################################ +# Check if warning_count can be accessed with and without @@ sign # +################################################################################ + +SELECT COUNT(@@warning_count); +--echo 1 Expected +SELECT COUNT(@@local.warning_count); +--echo 1 Expected +SELECT COUNT(@@SESSION.warning_count); +--echo 1 Expected + +--error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT COUNT(@@GLOBAL.warning_count); +--echo Expected error 'Variable is a SESSION variable' + +--error ER_BAD_FIELD_ERROR +SELECT COUNT(warning_count = @@GLOBAL.warning_count); +--echo Expected error 'Readonly variable' + + diff --git a/mysys/my_alloc.c b/mysys/my_alloc.c index 9203ce9c34e..2607ea57d08 100644 --- a/mysys/my_alloc.c +++ b/mysys/my_alloc.c @@ -202,7 +202,7 @@ void *alloc_root(MEM_ROOT *mem_root, size_t length) { if (mem_root->error_handler) (*mem_root->error_handler)(); - return((void*) 0); /* purecov: inspected */ + DBUG_RETURN((void*) 0); /* purecov: inspected */ } mem_root->block_num++; next->next= *prev; diff --git a/scripts/make_binary_distribution.sh b/scripts/make_binary_distribution.sh index 0a58f8b8ef1..50cff8578c9 100644 --- a/scripts/make_binary_distribution.sh +++ b/scripts/make_binary_distribution.sh @@ -14,61 +14,36 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -############################################################################## +# This is a script to create a TAR or ZIP binary distribution out of a +# built source tree. The output file will be put at the top level of +# the source tree, as "mysql-....{tar.gz,zip}" # -# This is a script to create a TAR or ZIP binary distribution out of a -# built source tree. The output file will be put at the top level of -# the source tree, as "mysql-....{tar.gz,zip}" -# -# Note that the structure created by this script is slightly different from -# what a normal "make install" would produce. No extra "mysql" sub directory -# will be created, i.e. no "$prefix/include/mysql", "$prefix/lib/mysql" or -# "$prefix/share/mysql". This is because the build system explicitly calls -# make with pkgdatadir=, etc. -# -# In GNU make/automake terms -# -# "pkglibdir" is set to the same as "libdir" -# "pkgincludedir" is set to the same as "includedir" -# "pkgdatadir" is set to the same as "datadir" -# "pkgplugindir" is set to "$pkglibdir/plugin" -# "pkgsuppdir" is set to "@prefix@/support-files", -# normally the same as "datadir" -# -# The temporary directory path given to "--tmp=" has to be -# absolute and with no spaces. -# -# Note that for best result, the original "make" should be done with -# the same arguments as used for "make install" below, especially the -# 'pkglibdir', as the RPATH should to be set correctly. -# -############################################################################## - -############################################################################## -# -# Read the command line arguments that control this script -# -############################################################################## +# The temporary directory path given to "--tmp=" has to be +# absolute and with no spaces. machine=@MACHINE_TYPE@ system=@SYSTEM_TYPE@ +version=@VERSION@ SOURCE=`pwd` CP="cp -p" MV="mv" -STRIP=1 # Option ignored +STRIP=1 +DEBUG=0 SILENT=0 +MACHINE="" PLATFORM="" TMP=/tmp SUFFIX="" -NDBCLUSTER="" # Option ignored +NDBCLUSTER="" for arg do case "$arg" in + --debug) DEBUG=1;; --tmp=*) TMP=`echo "$arg" | sed -e "s;--tmp=;;"` ;; --suffix=*) SUFFIX=`echo "$arg" | sed -e "s;--suffix=;;"` ;; --no-strip) STRIP=0 ;; - --machine=*) machine=`echo "$arg" | sed -e "s;--machine=;;"` ;; + --machine=*) MACHINE=`echo "$arg" | sed -e "s;--machine=;;"` ;; --platform=*) PLATFORM=`echo "$arg" | sed -e "s;--platform=;;"` ;; --silent) SILENT=1 ;; --with-ndbcluster) NDBCLUSTER=1 ;; @@ -79,52 +54,53 @@ for arg do esac done -# ---------------------------------------------------------------------- -# Adjust "system" output from "uname" to be more human readable -# ---------------------------------------------------------------------- +# Remove vendor from $system +system=`echo $system | sed -e 's/[a-z]*-\(.*\)/\1/g'` -if [ x"$PLATFORM" = x"" ] ; then - # FIXME move this to the build tools - # Remove vendor from $system - system=`echo $system | sed -e 's/[a-z]*-\(.*\)/\1/g'` +# Map OS names to "our" OS names (eg. darwin6.8 -> osx10.2) +system=`echo $system | sed -e 's/darwin6.*/osx10.2/g'` +system=`echo $system | sed -e 's/darwin7.*/osx10.3/g'` +system=`echo $system | sed -e 's/darwin8.*/osx10.4/g'` +system=`echo $system | sed -e 's/\(aix4.3\).*/\1/g'` +system=`echo $system | sed -e 's/\(aix5.1\).*/\1/g'` +system=`echo $system | sed -e 's/\(aix5.2\).*/\1/g'` +system=`echo $system | sed -e 's/\(aix5.3\).*/\1/g'` +system=`echo $system | sed -e 's/osf5.1b/tru64/g'` +system=`echo $system | sed -e 's/linux-gnu/linux/g'` +system=`echo $system | sed -e 's/solaris2.\([0-9]*\)/solaris\1/g'` +system=`echo $system | sed -e 's/sco3.2v\(.*\)/openserver\1/g'` - # Map OS names to "our" OS names (eg. darwin6.8 -> osx10.2) - system=`echo $system | sed -e 's/darwin6.*/osx10.2/g'` - system=`echo $system | sed -e 's/darwin7.*/osx10.3/g'` - system=`echo $system | sed -e 's/darwin8.*/osx10.4/g'` - system=`echo $system | sed -e 's/\(aix4.3\).*/\1/g'` - system=`echo $system | sed -e 's/\(aix5.1\).*/\1/g'` - system=`echo $system | sed -e 's/\(aix5.2\).*/\1/g'` - system=`echo $system | sed -e 's/\(aix5.3\).*/\1/g'` - system=`echo $system | sed -e 's/osf5.1b/tru64/g'` - system=`echo $system | sed -e 's/linux-gnu/linux/g'` - system=`echo $system | sed -e 's/solaris2.\([0-9]*\)/solaris\1/g'` - system=`echo $system | sed -e 's/sco3.2v\(.*\)/openserver\1/g'` - - PLATFORM="$system-$machine" +if [ x"$MACHINE" != x"" ] ; then + machine=$MACHINE fi -# Print the platform name for build logs -echo "PLATFORM NAME: $PLATFORM" +if [ x"$PLATFORM" != x"" ] ; then + platform="$PLATFORM" +else + platform="$system-$machine" +fi -case $PLATFORM in - *netware*) BASE_SYSTEM="netware" ;; -esac +# FIXME This should really be integrated with automake and not duplicate the +# installation list. -# Change the distribution to a long descriptive name -NEW_NAME=mysql@MYSQL_SERVER_SUFFIX@-@VERSION@-$PLATFORM$SUFFIX - -# ---------------------------------------------------------------------- -# Define BASE, and remove the old BASE directory if any -# ---------------------------------------------------------------------- BASE=$TMP/my_dist$SUFFIX + if [ -d $BASE ] ; then rm -rf $BASE fi -# ---------------------------------------------------------------------- -# Find the TAR to use -# ---------------------------------------------------------------------- +BS="" +BIN_FILES="" +BASE_SYSTEM="any" +MYSQL_SHARE=$BASE/share/mysql + +case $system in + *netware*) + BASE_SYSTEM="netware" + BS=".nlm" + MYSQL_SHARE=$BASE/share + ;; +esac # This is needed to prefer GNU tar over platform tar because that can't # always handle long filenames @@ -151,149 +127,24 @@ which_1 () } tar=`which_1 gnutar gtar` -if [ $? -ne 0 -o x"$tar" = x"" ] ; then +if [ "$?" = "1" -o x"$tar" = x"" ] ; then tar=tar fi -############################################################################## -# -# Handle the Unix/Linux packaging using "make install" -# -############################################################################## - -if [ x"$BASE_SYSTEM" != x"netware" ] ; then - - # ---------------------------------------------------------------------- - # Terminate on any base level error - # ---------------------------------------------------------------------- - set -e - - # ---------------------------------------------------------------------- - # Really ugly, one script, "mysql_install_db", needs prefix set to ".", - # i.e. makes access relative the current directory. This matches - # the documentation, so better not change this. And for another script, - # "mysql.server", we make some relative, others not. - # ---------------------------------------------------------------------- - - cd scripts - rm -f mysql_install_db - @MAKE@ mysql_install_db \ - prefix=. \ - bindir=./bin \ - sbindir=./bin \ - scriptdir=./bin \ - libexecdir=./bin \ - pkgdatadir=./share \ - localstatedir=./data - cd .. - - cd support-files - rm -f mysql.server - @MAKE@ mysql.server \ - bindir=./bin \ - sbindir=./bin \ - scriptdir=./bin \ - libexecdir=./bin \ - pkgdatadir=@pkgdatadir@ - cd .. - - # ---------------------------------------------------------------------- - # Do a install that we later are to pack. Use the same paths as in - # the build for the relevant directories. - # ---------------------------------------------------------------------- - @MAKE@ DESTDIR=$BASE install \ - pkglibdir=@pkglibdir@ \ - pkgincludedir=@pkgincludedir@ \ - pkgdatadir=@pkgdatadir@ \ - pkgplugindir=@pkgplugindir@ \ - pkgsuppdir=@pkgsuppdir@ \ - mandir=@mandir@ \ - infodir=@infodir@ - - # ---------------------------------------------------------------------- - # Rename top directory, and set DEST to the new directory - # ---------------------------------------------------------------------- - mv $BASE@prefix@ $BASE/$NEW_NAME - DEST=$BASE/$NEW_NAME - - # ---------------------------------------------------------------------- - # If we compiled with gcc, copy libgcc.a to the dist as libmygcc.a - # ---------------------------------------------------------------------- - if [ x"@GXX@" = x"yes" ] ; then - gcclib=`@CC@ @CFLAGS@ --print-libgcc-file 2>/dev/null` || true - if [ -z "$gcclib" ] ; then - echo "Warning: Compiler doesn't tell libgcc.a!" - elif [ -f "$gcclib" ] ; then - $CP $gcclib $DEST/lib/libmygcc.a - else - echo "Warning: Compiler result '$gcclib' not found / no file!" - fi - fi - - # FIXME let this script be in "bin/", where it is in the RPMs? - # http://dev.mysql.com/doc/refman/5.1/en/mysql-install-db-problems.html - mkdir $DEST/scripts - mv $DEST/bin/mysql_install_db $DEST/scripts/ - - # Note, no legacy "safe_mysqld" link to "mysqld_safe" in 5.1 - - # Copy readme and license files - cp README Docs/INSTALL-BINARY $DEST/ - if [ -f COPYING -a -f EXCEPTIONS-CLIENT ] ; then - cp COPYING EXCEPTIONS-CLIENT $DEST/ - elif [ -f LICENSE.mysql ] ; then - cp LICENSE.mysql $DEST/ - else - echo "ERROR: no license files found" - exit 1 - fi - - # FIXME should be handled by make file, and to other dir - mkdir -p $DEST/bin $DEST/support-files - cp scripts/mysqlaccess.conf $DEST/bin/ - cp support-files/magic $DEST/support-files/ - - # Create empty data directories, set permission (FIXME why?) - mkdir $DEST/data $DEST/data/mysql $DEST/data/test - chmod o-rwx $DEST/data $DEST/data/mysql $DEST/data/test - - # ---------------------------------------------------------------------- - # Create the result tar file - # ---------------------------------------------------------------------- - - echo "Using $tar to create archive" - OPT=cvf - if [ x$SILENT = x1 ] ; then - OPT=cf - fi - - echo "Creating and compressing archive" - rm -f $NEW_NAME.tar.gz - (cd $BASE ; $tar $OPT - $NEW_NAME) | gzip -9 > $NEW_NAME.tar.gz - echo "$NEW_NAME.tar.gz created" - - echo "Removing temporary directory" - rm -rf $BASE - exit 0 -fi - - -############################################################################## -# -# Handle the Netware case, until integrated above -# -############################################################################## - -BS=".nlm" -MYSQL_SHARE=$BASE/share - mkdir $BASE $BASE/bin $BASE/docs \ $BASE/include $BASE/lib $BASE/support-files $BASE/share $BASE/scripts \ $BASE/mysql-test $BASE/mysql-test/t $BASE/mysql-test/r \ $BASE/mysql-test/include $BASE/mysql-test/std_data $BASE/mysql-test/lib \ $BASE/mysql-test/suite +if [ $BASE_SYSTEM != "netware" ] ; then + mkdir $BASE/share/mysql $BASE/tests $BASE/sql-bench $BASE/man \ + $BASE/man/man1 $BASE/man/man8 $BASE/data $BASE/data/mysql $BASE/data/test + + chmod o-rwx $BASE/data $BASE/data/* +fi + # Copy files if they exists, warn for those that don't. # Note that when listing files to copy, we might list the file name # twice, once in the directory location where it is built, and a @@ -325,13 +176,12 @@ copyfileto $BASE COPYING COPYING.LIB README Docs/INSTALL-BINARY \ BIN_FILES="extra/comp_err$BS extra/replace$BS extra/perror$BS \ extra/resolveip$BS extra/my_print_defaults$BS \ extra/resolve_stack_dump$BS extra/mysql_waitpid$BS \ - storage/myisam/myisamchk$BS storage/myisam/myisampack$BS \ - storage/myisam/myisamlog$BS storage/myisam/myisam_ftdump$BS \ + myisam/myisamchk$BS myisam/myisampack$BS myisam/myisamlog$BS \ + myisam/myisam_ftdump$BS \ sql/mysqld$BS sql/mysqld-debug$BS \ sql/mysql_tzinfo_to_sql$BS \ server-tools/instance-manager/mysqlmanager$BS \ client/mysql$BS client/mysqlshow$BS client/mysqladmin$BS \ - client/mysqlslap$BS \ client/mysqldump$BS client/mysqlimport$BS \ client/mysqltest$BS client/mysqlcheck$BS \ client/mysqlbinlog$BS client/mysql_upgrade$BS \ @@ -341,16 +191,42 @@ BIN_FILES="extra/comp_err$BS extra/replace$BS extra/perror$BS \ "; # Platform-specific bin dir files: -BIN_FILES="$BIN_FILES \ +if [ $BASE_SYSTEM = "netware" ] ; then + BIN_FILES="$BIN_FILES \ netware/mysqld_safe$BS netware/mysql_install_db$BS \ - netware/init_db.sql netware/test_db.sql \ + netware/init_db.sql netware/test_db.sql netware/mysql_explain_log$BS \ netware/mysqlhotcopy$BS netware/libmysql$BS netware/init_secure_db.sql \ "; +# For all other platforms: +else + BIN_FILES="$BIN_FILES \ + server-tools/instance-manager/.libs/mysqlmanager \ + client/mysqltestmanagerc \ + client/mysqltestmanager-pwgen tools/mysqltestmanager \ + client/.libs/mysql client/.libs/mysqlshow client/.libs/mysqladmin \ + client/.libs/mysqldump client/.libs/mysqlimport \ + client/.libs/mysqltest client/.libs/mysqlcheck \ + client/.libs/mysqlbinlog client/.libs/mysqltestmanagerc \ + client/.libs/mysqltestmanager-pwgen tools/.libs/mysqltestmanager \ + tests/.libs/mysql_client_test \ + libmysqld/examples/.libs/mysql_client_test_embedded \ + libmysqld/examples/.libs/mysqltest_embedded \ + "; +fi copyfileto $BASE/bin $BIN_FILES -$CP netware/*.pl $BASE/scripts -$CP scripts/mysqlhotcopy $BASE/scripts/mysqlhotcopy.pl +if [ x$STRIP = x1 ] ; then + strip $BASE/bin/* +fi + +# Copy not binary files +copyfileto $BASE/bin sql/mysqld.sym.gz + +if [ $BASE_SYSTEM = "netware" ] ; then + $CP netware/*.pl $BASE/scripts + $CP scripts/mysqlhotcopy $BASE/scripts/mysqlhotcopy.pl +fi copyfileto $BASE/lib \ libmysql/.libs/libmysqlclient.a \ @@ -372,17 +248,31 @@ copyfileto $BASE/lib \ zlib/.libs/libz.a # convert the .a to .lib for NetWare -for i in $BASE/lib/*.a -do - libname=`basename $i .a` - $MV $i $BASE/lib/$libname.lib -done -rm -f $BASE/lib/*.la +if [ $BASE_SYSTEM = "netware" ] ; then + for i in $BASE/lib/*.a + do + libname=`basename $i .a` + $MV $i $BASE/lib/$libname.lib + done + rm -f $BASE/lib/*.la +fi - -copyfileto $BASE/include config.h include/* +copyfileto $BASE/include include/* rm -f $BASE/include/Makefile* $BASE/include/*.in $BASE/include/config-win.h +if [ $BASE_SYSTEM != "netware" ] ; then + rm -f $BASE/include/config-netware.h +fi + +if [ $BASE_SYSTEM != "netware" ] ; then + if [ -d tests ] ; then + $CP tests/*.res tests/*.tst tests/*.pl $BASE/tests + fi + if [ -d man ] ; then + $CP man/*.1 $BASE/man/man1 + $CP man/*.8 $BASE/man/man8 + fi +fi copyfileto $BASE/support-files support-files/* @@ -401,29 +291,43 @@ copyfileto $BASE/mysql-test \ $CP mysql-test/lib/*.pl $BASE/mysql-test/lib $CP mysql-test/t/*.def $BASE/mysql-test/t $CP mysql-test/include/*.inc $BASE/mysql-test/include -$CP mysql-test/include/*.sql $BASE/mysql-test/include $CP mysql-test/include/*.test $BASE/mysql-test/include $CP mysql-test/t/*.def $BASE/mysql-test/t -$CP mysql-test/std_data/*.dat mysql-test/std_data/*.frm \ - mysql-test/std_data/*.MYD mysql-test/std_data/*.MYI \ - mysql-test/std_data/*.pem mysql-test/std_data/Moscow_leap \ - mysql-test/std_data/Index.xml \ - mysql-test/std_data/des_key_file mysql-test/std_data/*.*001 \ - mysql-test/std_data/*.cnf mysql-test/std_data/*.MY* \ - $BASE/mysql-test/std_data $CP mysql-test/t/*.test mysql-test/t/*.imtest \ mysql-test/t/*.disabled mysql-test/t/*.opt \ mysql-test/t/*.slave-mi mysql-test/t/*.sh mysql-test/t/*.sql $BASE/mysql-test/t $CP mysql-test/r/*.result mysql-test/r/*.require \ $BASE/mysql-test/r -# Copy the additional suites "as is", they are in flux -$tar cf - mysql-test/suite | ( cd $BASE ; $tar xf - ) +# Copy the additional suites and data "as is", they are in flux +$tar cf - mysql-test/suite | ( cd $BASE ; $tar xf - ) +$tar cf - mysql-test/std_data | ( cd $BASE ; $tar xf - ) # Clean up if we did this from a bk tree if [ -d mysql-test/SCCS ] ; then find $BASE/mysql-test -name SCCS -print | xargs rm -rf fi +if [ $BASE_SYSTEM != "netware" ] ; then + chmod a+x $BASE/bin/* + copyfileto $BASE/bin scripts/* + $BASE/bin/replace \@localstatedir\@ ./data \@bindir\@ ./bin \@scriptdir\@ \ + ./bin \@libexecdir\@ ./bin \@sbindir\@ ./bin \@prefix\@ . \@HOSTNAME\@ \ + @HOSTNAME@ \@pkgdatadir\@ ./share \ + < scripts/mysql_install_db.sh > $BASE/scripts/mysql_install_db + $BASE/bin/replace \@prefix\@ /usr/local/mysql \@bindir\@ ./bin \ + \@sbindir\@ ./bin \@libexecdir\@ ./bin \ + \@MYSQLD_USER\@ @MYSQLD_USER@ \@localstatedir\@ /usr/local/mysql/data \ + \@HOSTNAME\@ @HOSTNAME@ \ + < support-files/mysql.server.sh > $BASE/support-files/mysql.server + $BASE/bin/replace /my/gnu/bin/hostname /bin/hostname -- $BASE/bin/mysqld_safe + mv $BASE/support-files/binary-configure $BASE/configure + chmod a+x $BASE/bin/* $BASE/scripts/* $BASE/support-files/mysql-log-rotate \ + $BASE/support-files/*.server $BASE/configure + $CP -r sql-bench/* $BASE/sql-bench + rm -f $BASE/sql-bench/*.sh $BASE/sql-bench/Makefile* $BASE/lib/*.la + rm -f $BASE/bin/*.sql +fi + rm -f $BASE/bin/Makefile* $BASE/bin/*.in $BASE/bin/*.sh \ $BASE/bin/mysql_install_db $BASE/bin/make_binary_distribution \ $BASE/bin/setsomevars $BASE/support-files/Makefile* \ @@ -432,19 +336,29 @@ rm -f $BASE/bin/Makefile* $BASE/bin/*.in $BASE/bin/*.sh \ # # Copy system dependent files # -./scripts/fill_help_tables < ./Docs/manual.texi >> ./netware/init_db.sql +if [ $BASE_SYSTEM = "netware" ] ; then + ./scripts/fill_help_tables < ./Docs/manual.texi >> ./netware/init_db.sql +fi # # Remove system dependent files # -rm -f $BASE/support-files/magic \ +if [ $BASE_SYSTEM = "netware" ] ; then + rm -f $BASE/support-files/magic \ $BASE/support-files/mysql.server \ $BASE/support-files/mysql*.spec \ $BASE/support-files/mysql-log-rotate \ $BASE/support-files/binary-configure \ $BASE/support-files/build-tags \ $BASE/support-files/MySQL-shared-compat.spec \ + $BASE/support-files/ndb-config-2-node.ini \ $BASE/INSTALL-BINARY +fi + +# Make safe_mysqld a symlink to mysqld_safe for backwards portability +if [ $BASE_SYSTEM != "netware" ] ; then + (cd $BASE/bin ; ln -s mysqld_safe safe_mysqld ) +fi # Clean up if we did this from a bk tree if [ -d $BASE/sql-bench/SCCS ] ; then @@ -452,17 +366,78 @@ if [ -d $BASE/sql-bench/SCCS ] ; then find $BASE/sql-bench -name SCCS -print | xargs rm -rf fi +# NDB Cluster +if [ x$NDBCLUSTER = x1 ]; then + ( cd ndb ; @MAKE@ DESTDIR=$BASE/ndb-stage install ) + ( cd mysql-test/ndb ; @MAKE@ DESTDIR=$BASE/ndb-stage install ) + $CP $BASE/ndb-stage@bindir@/* $BASE/bin/. + $CP $BASE/ndb-stage@libexecdir@/* $BASE/bin/. + $CP $BASE/ndb-stage@pkglibdir@/* $BASE/lib/. + $CP $BASE/ndb-stage@pkgdatadir@/* $BASE/share/mysql/. + $CP -r $BASE/ndb-stage@pkgincludedir@/ndb $BASE/include + $CP -r $BASE/ndb-stage@prefix@/mysql-test/ndb $BASE/mysql-test/. || exit 1 + rm -rf $BASE/ndb-stage +fi + +# Change the distribution to a long descriptive name +NEW_NAME=mysql@MYSQL_SERVER_SUFFIX@-$version-$platform$SUFFIX + +# Print the platform name for build logs +echo "PLATFORM NAME: $platform" + BASE2=$TMP/$NEW_NAME rm -rf $BASE2 mv $BASE $BASE2 BASE=$BASE2 +# +# If we are compiling with gcc, copy libgcc.a to the distribution as libmygcc.a +# -# -# Create a zip file for NetWare users -# -rm -f $NEW_NAME.zip -(cd $TMP; zip -r "$SOURCE/$NEW_NAME.zip" $NEW_NAME) -echo "$NEW_NAME.zip created" +if [ x"@GXX@" = x"yes" ] ; then + gcclib=`@CC@ @CFLAGS@ --print-libgcc-file 2>/dev/null` || true + if [ -z "$gcclib" ] ; then + echo "Warning: Compiler doesn't tell libgcc.a!" + elif [ -f "$gcclib" ] ; then + $CP $gcclib $BASE/lib/libmygcc.a + else + echo "Warning: Compiler result '$gcclib' not found / no file!" + fi +fi + +#if we are debugging, do not do tar/gz +if [ x$DEBUG = x1 ] ; then + exit +fi + +if [ $BASE_SYSTEM != "netware" ] ; then + + # + # Create the result tar file + # + + echo "Using $tar to create archive" + + OPT=cvf + if [ x$SILENT = x1 ] ; then + OPT=cf + fi + + echo "Creating and compressing archive" + rm -f $NEW_NAME.tar.gz + (cd $TMP ; $tar $OPT - $NEW_NAME) | gzip -9 > $NEW_NAME.tar.gz + echo "$NEW_NAME.tar.gz created" + +else + + # + # Create a zip file for NetWare users + # + + rm -f $NEW_NAME.zip + (cd $TMP; zip -r "$SOURCE/$NEW_NAME.zip" $NEW_NAME) + echo "$NEW_NAME.zip created" + +fi echo "Removing temporary directory" rm -rf $BASE diff --git a/scripts/mysql_system_tables_fix.sql b/scripts/mysql_system_tables_fix.sql index e2bdd668c0f..a33c4fcb9fa 100644 --- a/scripts/mysql_system_tables_fix.sql +++ b/scripts/mysql_system_tables_fix.sql @@ -433,7 +433,10 @@ ALTER TABLE db MODIFY Event_priv enum('N','Y') character set utf8 DEFAULT 'N' NO # ALTER TABLE event DROP PRIMARY KEY; ALTER TABLE event ADD PRIMARY KEY(db, name); -ALTER TABLE event ADD sql_mode +# Add sql_mode column just in case. +ALTER TABLE event ADD sql_mode set ('NOT_USED') AFTER on_completion; +# Update list of sql_mode values. +ALTER TABLE event MODIFY sql_mode set('REAL_AS_FLOAT', 'PIPES_AS_CONCAT', 'ANSI_QUOTES', diff --git a/sql-common/my_time.c b/sql-common/my_time.c index 543a925681b..23532027883 100644 --- a/sql-common/my_time.c +++ b/sql-common/my_time.c @@ -701,9 +701,9 @@ int check_time_range(struct st_mysql_time *my_time, int *warning) Prepare offset of system time zone from UTC for my_system_gmt_sec() func. SYNOPSIS - init_time() + my_init_time() */ -void init_time(void) +void my_init_time(void) { time_t seconds; struct tm *l_time,tm_tmp; @@ -792,7 +792,7 @@ long calc_daynr(uint year,uint month,uint day) NOTES The idea is to cache the time zone offset from UTC (including daylight saving time) for the next call to make things faster. But currently we - just calculate this offset during startup (by calling init_time() + just calculate this offset during startup (by calling my_init_time() function) and use it all the time. Time value provided should be legal time value (e.g. '2003-01-01 25:00:00' is not allowed). diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt index c5c8c27bc4e..128fcbeddf0 100755 --- a/sql/CMakeLists.txt +++ b/sql/CMakeLists.txt @@ -39,7 +39,7 @@ SET_SOURCE_FILES_PROPERTIES(${CMAKE_SOURCE_DIR}/sql/message.rc ${PROJECT_SOURCE_DIR}/include/sql_state.h PROPERTIES GENERATED 1) -ADD_DEFINITIONS(-DMYSQL_SERVER -D_CONSOLE -DHAVE_DLOPEN) +ADD_DEFINITIONS(-DMYSQL_SERVER -D_CONSOLE -DHAVE_DLOPEN -DHAVE_EVENT_SCHEDULER) ADD_EXECUTABLE(mysqld ../sql-common/client.c derror.cc des_key_file.cc @@ -75,7 +75,7 @@ ADD_EXECUTABLE(mysqld partition_info.cc rpl_utility.cc rpl_injector.cc sql_locale.cc rpl_rli.cc rpl_mi.cc sql_servers.cc sql_connect.cc scheduler.cc - sql_profile.cc + sql_profile.cc event_parse_data.cc ${PROJECT_SOURCE_DIR}/sql/sql_yacc.cc ${PROJECT_SOURCE_DIR}/sql/sql_yacc.h ${PROJECT_SOURCE_DIR}/include/mysqld_error.h diff --git a/sql/Makefile.am b/sql/Makefile.am index 3a6f4bcb7a2..5b5f7aa1c5d 100644 --- a/sql/Makefile.am +++ b/sql/Makefile.am @@ -54,7 +54,7 @@ noinst_HEADERS = item.h item_func.h item_sum.h item_cmpfunc.h \ procedure.h sql_class.h sql_lex.h sql_list.h \ sql_map.h sql_string.h unireg.h \ sql_error.h field.h handler.h mysqld_suffix.h \ - sql_profile.h \ + sql_profile.h \ ha_ndbcluster.h ha_ndbcluster_cond.h \ ha_ndbcluster_binlog.h ha_ndbcluster_tables.h \ ha_partition.h rpl_constants.h \ @@ -73,7 +73,7 @@ noinst_HEADERS = item.h item_func.h item_sum.h item_cmpfunc.h \ parse_file.h sql_view.h sql_trigger.h \ sql_array.h sql_cursor.h events.h scheduler.h \ event_db_repository.h event_queue.h \ - sql_plugin.h authors.h \ + sql_plugin.h authors.h event_parse_data.h \ event_data_objects.h event_scheduler.h \ sql_partition.h partition_info.h partition_element.h \ contributors.h sql_servers.h @@ -120,7 +120,7 @@ mysqld_SOURCES = sql_lex.cc sql_handler.cc sql_partition.cc \ event_queue.cc event_db_repository.cc events.cc \ sql_plugin.cc sql_binlog.cc \ sql_builtin.cc sql_tablespace.cc partition_info.cc \ - sql_servers.cc + sql_servers.cc event_parse_data.cc nodist_mysqld_SOURCES = mini_client_errors.c pack.c client.c my_time.c my_user.c @@ -140,6 +140,7 @@ DEFS = -DMYSQL_SERVER \ -DDATADIR="\"$(MYSQLDATAdir)\"" \ -DSHAREDIR="\"$(MYSQLSHAREdir)\"" \ -DPLUGINDIR="\"$(pkgplugindir)\"" \ + -DHAVE_EVENT_SCHEDULER \ @DEFS@ BUILT_MAINT_SRC = sql_yacc.cc sql_yacc.h @@ -178,6 +179,12 @@ lex_hash.h: gen_lex_hash.cc lex.h udf_example_la_SOURCES= udf_example.c udf_example_la_LDFLAGS= -module -rpath $(pkglibdir) +# We might have some stuff not built in this build, but that we want to install +install-exec-hook: + $(mkinstalldirs) $(DESTDIR)$(libexecdir) $(DESTDIR)$(pkglibdir) + test ! -x mysqld-debug$(EXEEXT) || $(INSTALL_PROGRAM) mysqld-debug$(EXEEXT) $(DESTDIR)$(libexecdir) + test ! -f mysqld-debug.sym.gz || $(INSTALL_DATA) mysqld-debug.sym.gz $(DESTDIR)$(pkglibdir) + test ! -f mysqld.sym.gz || $(INSTALL_DATA) mysqld.sym.gz $(DESTDIR)$(pkglibdir) # Don't update the files from bitkeeper %::SCCS/s.% diff --git a/sql/event_data_objects.cc b/sql/event_data_objects.cc index f4b64ab3012..dd47b8dd916 100644 --- a/sql/event_data_objects.cc +++ b/sql/event_data_objects.cc @@ -25,8 +25,6 @@ @{ */ -#define EVEX_MAX_INTERVAL_VALUE 1000000000L - /*************************************************************************/ /** @@ -187,524 +185,6 @@ Event_queue_element_for_exec::~Event_queue_element_for_exec() } -/* - Returns a new instance - - SYNOPSIS - Event_parse_data::new_instance() - - RETURN VALUE - Address or NULL in case of error - - NOTE - Created on THD's mem_root -*/ - -Event_parse_data * -Event_parse_data::new_instance(THD *thd) -{ - return new (thd->mem_root) Event_parse_data; -} - - -/* - Constructor - - SYNOPSIS - Event_parse_data::Event_parse_data() -*/ - -Event_parse_data::Event_parse_data() - :on_completion(Event_basic::ON_COMPLETION_DROP), - status(Event_basic::ENABLED), - do_not_create(FALSE), - body_changed(FALSE), - item_starts(NULL), item_ends(NULL), item_execute_at(NULL), - starts_null(TRUE), ends_null(TRUE), execute_at_null(TRUE), - item_expression(NULL), expression(0) -{ - DBUG_ENTER("Event_parse_data::Event_parse_data"); - - /* Actually in the parser STARTS is always set */ - starts= ends= execute_at= 0; - - comment.str= NULL; - comment.length= 0; - - DBUG_VOID_RETURN; -} - - -/* - Set a name of the event - - SYNOPSIS - Event_parse_data::init_name() - thd THD - spn the name extracted in the parser -*/ - -void -Event_parse_data::init_name(THD *thd, sp_name *spn) -{ - DBUG_ENTER("Event_parse_data::init_name"); - - /* We have to copy strings to get them into the right memroot */ - dbname.length= spn->m_db.length; - dbname.str= thd->strmake(spn->m_db.str, spn->m_db.length); - name.length= spn->m_name.length; - name.str= thd->strmake(spn->m_name.str, spn->m_name.length); - - if (spn->m_qname.length == 0) - spn->init_qname(thd); - - DBUG_VOID_RETURN; -} - - -/* - This function is called on CREATE EVENT or ALTER EVENT. When either - ENDS or AT is in the past, we are trying to create an event that - will never be executed. If it has ON COMPLETION NOT PRESERVE - (default), then it would normally be dropped already, so on CREATE - EVENT we give a warning, and do not create anyting. On ALTER EVENT - we give a error, and do not change the event. - - If the event has ON COMPLETION PRESERVE, then we see if the event is - created or altered to the ENABLED (default) state. If so, then we - give a warning, and change the state to DISABLED. - - Otherwise it is a valid event in ON COMPLETION PRESERVE DISABLE - state. -*/ - -void -Event_parse_data::check_if_in_the_past(THD *thd, my_time_t ltime_utc) -{ - if (ltime_utc >= (my_time_t) thd->query_start()) - return; - - if (on_completion == Event_basic::ON_COMPLETION_DROP) - { - switch (thd->lex->sql_command) { - case SQLCOM_CREATE_EVENT: - push_warning(thd, MYSQL_ERROR::WARN_LEVEL_NOTE, - ER_EVENT_CANNOT_CREATE_IN_THE_PAST, - ER(ER_EVENT_CANNOT_CREATE_IN_THE_PAST)); - break; - case SQLCOM_ALTER_EVENT: - my_error(ER_EVENT_CANNOT_ALTER_IN_THE_PAST, MYF(0)); - break; - default: - DBUG_ASSERT(0); - } - - do_not_create= TRUE; - } - else if (status == Event_basic::ENABLED) - { - status= Event_basic::DISABLED; - push_warning(thd, MYSQL_ERROR::WARN_LEVEL_NOTE, - ER_EVENT_EXEC_TIME_IN_THE_PAST, - ER(ER_EVENT_EXEC_TIME_IN_THE_PAST)); - } -} - - -/* - Sets time for execution for one-time event. - - SYNOPSIS - Event_parse_data::init_execute_at() - thd Thread - - RETURN VALUE - 0 OK - ER_WRONG_VALUE Wrong value for execute at (reported) -*/ - -int -Event_parse_data::init_execute_at(THD *thd) -{ - my_bool not_used; - MYSQL_TIME ltime; - my_time_t ltime_utc; - - DBUG_ENTER("Event_parse_data::init_execute_at"); - - if (!item_execute_at) - DBUG_RETURN(0); - - if (item_execute_at->fix_fields(thd, &item_execute_at)) - goto wrong_value; - - /* no starts and/or ends in case of execute_at */ - DBUG_PRINT("info", ("starts_null && ends_null should be 1 is %d", - (starts_null && ends_null))); - DBUG_ASSERT(starts_null && ends_null); - - if ((not_used= item_execute_at->get_date(<ime, TIME_NO_ZERO_DATE))) - goto wrong_value; - - ltime_utc= TIME_to_timestamp(thd,<ime,¬_used); - if (!ltime_utc) - { - DBUG_PRINT("error", ("Execute AT after year 2037")); - goto wrong_value; - } - - check_if_in_the_past(thd, ltime_utc); - - execute_at_null= FALSE; - execute_at= ltime_utc; - DBUG_RETURN(0); - -wrong_value: - report_bad_value("AT", item_execute_at); - DBUG_RETURN(ER_WRONG_VALUE); -} - - -/* - Sets time for execution of multi-time event.s - - SYNOPSIS - Event_parse_data::init_interval() - thd Thread - - RETURN VALUE - 0 OK - EVEX_BAD_PARAMS Interval is not positive or MICROSECOND (reported) - ER_WRONG_VALUE Wrong value for interval (reported) -*/ - -int -Event_parse_data::init_interval(THD *thd) -{ - String value; - INTERVAL interval_tmp; - - DBUG_ENTER("Event_parse_data::init_interval"); - if (!item_expression) - DBUG_RETURN(0); - - switch (interval) { - case INTERVAL_MINUTE_MICROSECOND: - case INTERVAL_HOUR_MICROSECOND: - case INTERVAL_DAY_MICROSECOND: - case INTERVAL_SECOND_MICROSECOND: - case INTERVAL_MICROSECOND: - my_error(ER_NOT_SUPPORTED_YET, MYF(0), "MICROSECOND"); - DBUG_RETURN(EVEX_BAD_PARAMS); - default: - break; - } - - if (item_expression->fix_fields(thd, &item_expression)) - goto wrong_value; - - value.alloc(MAX_DATETIME_FULL_WIDTH*MY_CHARSET_BIN_MB_MAXLEN); - if (get_interval_value(item_expression, interval, &value, &interval_tmp)) - goto wrong_value; - - expression= 0; - - switch (interval) { - case INTERVAL_YEAR: - expression= interval_tmp.year; - break; - case INTERVAL_QUARTER: - case INTERVAL_MONTH: - expression= interval_tmp.month; - break; - case INTERVAL_WEEK: - case INTERVAL_DAY: - expression= interval_tmp.day; - break; - case INTERVAL_HOUR: - expression= interval_tmp.hour; - break; - case INTERVAL_MINUTE: - expression= interval_tmp.minute; - break; - case INTERVAL_SECOND: - expression= interval_tmp.second; - break; - case INTERVAL_YEAR_MONTH: // Allow YEAR-MONTH YYYYYMM - expression= interval_tmp.year* 12 + interval_tmp.month; - break; - case INTERVAL_DAY_HOUR: - expression= interval_tmp.day* 24 + interval_tmp.hour; - break; - case INTERVAL_DAY_MINUTE: - expression= (interval_tmp.day* 24 + interval_tmp.hour) * 60 + - interval_tmp.minute; - break; - case INTERVAL_HOUR_SECOND: /* day is anyway 0 */ - case INTERVAL_DAY_SECOND: - /* DAY_SECOND having problems because of leap seconds? */ - expression= ((interval_tmp.day* 24 + interval_tmp.hour) * 60 + - interval_tmp.minute)*60 - + interval_tmp.second; - break; - case INTERVAL_HOUR_MINUTE: - expression= interval_tmp.hour * 60 + interval_tmp.minute; - break; - case INTERVAL_MINUTE_SECOND: - expression= interval_tmp.minute * 60 + interval_tmp.second; - break; - case INTERVAL_LAST: - DBUG_ASSERT(0); - default: - ;/* these are the microsec stuff */ - } - if (interval_tmp.neg || expression == 0 || - expression > EVEX_MAX_INTERVAL_VALUE) - { - my_error(ER_EVENT_INTERVAL_NOT_POSITIVE_OR_TOO_BIG, MYF(0)); - DBUG_RETURN(EVEX_BAD_PARAMS); - } - - DBUG_RETURN(0); - -wrong_value: - report_bad_value("INTERVAL", item_expression); - DBUG_RETURN(ER_WRONG_VALUE); -} - - -/* - Sets STARTS. - - SYNOPSIS - Event_parse_data::init_starts() - expr how much? - - NOTES - Note that activation time is not execution time. - EVERY 5 MINUTE STARTS "2004-12-12 10:00:00" means that - the event will be executed every 5 minutes but this will - start at the date shown above. Expressions are possible : - DATE_ADD(NOW(), INTERVAL 1 DAY) -- start tommorow at - same time. - - RETURN VALUE - 0 OK - ER_WRONG_VALUE Starts before now -*/ - -int -Event_parse_data::init_starts(THD *thd) -{ - my_bool not_used; - MYSQL_TIME ltime; - my_time_t ltime_utc; - - DBUG_ENTER("Event_parse_data::init_starts"); - if (!item_starts) - DBUG_RETURN(0); - - if (item_starts->fix_fields(thd, &item_starts)) - goto wrong_value; - - if ((not_used= item_starts->get_date(<ime, TIME_NO_ZERO_DATE))) - goto wrong_value; - - ltime_utc= TIME_to_timestamp(thd, <ime, ¬_used); - if (!ltime_utc) - goto wrong_value; - - DBUG_PRINT("info",("now: %ld starts: %ld", - (long) thd->query_start(), (long) ltime_utc)); - - starts_null= FALSE; - starts= ltime_utc; - DBUG_RETURN(0); - -wrong_value: - report_bad_value("STARTS", item_starts); - DBUG_RETURN(ER_WRONG_VALUE); -} - - -/* - Sets ENDS (deactivation time). - - SYNOPSIS - Event_parse_data::init_ends() - thd THD - - NOTES - Note that activation time is not execution time. - EVERY 5 MINUTE ENDS "2004-12-12 10:00:00" means that - the event will be executed every 5 minutes but this will - end at the date shown above. Expressions are possible : - DATE_ADD(NOW(), INTERVAL 1 DAY) -- end tommorow at - same time. - - RETURN VALUE - 0 OK - EVEX_BAD_PARAMS Error (reported) -*/ - -int -Event_parse_data::init_ends(THD *thd) -{ - my_bool not_used; - MYSQL_TIME ltime; - my_time_t ltime_utc; - - DBUG_ENTER("Event_parse_data::init_ends"); - if (!item_ends) - DBUG_RETURN(0); - - if (item_ends->fix_fields(thd, &item_ends)) - goto error_bad_params; - - DBUG_PRINT("info", ("convert to TIME")); - if ((not_used= item_ends->get_date(<ime, TIME_NO_ZERO_DATE))) - goto error_bad_params; - - ltime_utc= TIME_to_timestamp(thd, <ime, ¬_used); - if (!ltime_utc) - goto error_bad_params; - - /* Check whether ends is after starts */ - DBUG_PRINT("info", ("ENDS after STARTS?")); - if (!starts_null && starts >= ltime_utc) - goto error_bad_params; - - check_if_in_the_past(thd, ltime_utc); - - ends_null= FALSE; - ends= ltime_utc; - DBUG_RETURN(0); - -error_bad_params: - my_error(ER_EVENT_ENDS_BEFORE_STARTS, MYF(0)); - DBUG_RETURN(EVEX_BAD_PARAMS); -} - - -/* - Prints an error message about invalid value. Internally used - during input data verification - - SYNOPSIS - Event_parse_data::report_bad_value() - item_name The name of the parameter - bad_item The parameter -*/ - -void -Event_parse_data::report_bad_value(const char *item_name, Item *bad_item) -{ - char buff[120]; - String str(buff,(uint32) sizeof(buff), system_charset_info); - String *str2= bad_item->fixed? bad_item->val_str(&str):NULL; - my_error(ER_WRONG_VALUE, MYF(0), item_name, str2? str2->c_ptr_safe():"NULL"); -} - - -/* - Checks for validity the data gathered during the parsing phase. - - SYNOPSIS - Event_parse_data::check_parse_data() - thd Thread - - RETURN VALUE - FALSE OK - TRUE Error (reported) -*/ - -bool -Event_parse_data::check_parse_data(THD *thd) -{ - bool ret; - DBUG_ENTER("Event_parse_data::check_parse_data"); - DBUG_PRINT("info", ("execute_at: 0x%lx expr=0x%lx starts=0x%lx ends=0x%lx", - (long) item_execute_at, (long) item_expression, - (long) item_starts, (long) item_ends)); - - init_name(thd, identifier); - - init_definer(thd); - - ret= init_execute_at(thd) || init_interval(thd) || init_starts(thd) || - init_ends(thd); - check_originator_id(thd); - DBUG_RETURN(ret); -} - - -/* - Inits definer (definer_user and definer_host) during parsing. - - SYNOPSIS - Event_parse_data::init_definer() - thd Thread -*/ - -void -Event_parse_data::init_definer(THD *thd) -{ - DBUG_ENTER("Event_parse_data::init_definer"); - - DBUG_ASSERT(thd->lex->definer); - - const char *definer_user= thd->lex->definer->user.str; - const char *definer_host= thd->lex->definer->host.str; - int definer_user_len= thd->lex->definer->user.length; - int definer_host_len= thd->lex->definer->host.length; - - DBUG_PRINT("info",("init definer_user thd->mem_root: 0x%lx " - "definer_user: 0x%lx", (long) thd->mem_root, - (long) definer_user)); - - /* + 1 for @ */ - DBUG_PRINT("info",("init definer as whole")); - definer.length= definer_user_len + definer_host_len + 1; - definer.str= (char*) thd->alloc(definer.length + 1); - - DBUG_PRINT("info",("copy the user")); - memcpy(definer.str, definer_user, definer_user_len); - definer.str[definer_user_len]= '@'; - - DBUG_PRINT("info",("copy the host")); - memcpy(definer.str + definer_user_len + 1, definer_host, definer_host_len); - definer.str[definer.length]= '\0'; - DBUG_PRINT("info",("definer [%s] initted", definer.str)); - - DBUG_VOID_RETURN; -} - - -/** - Set the originator id of the event to the server_id if executing on - the master or set to the server_id of the master if executing on - the slave. If executing on slave, also set status to SLAVESIDE_DISABLED. - - SYNOPSIS - Event_parse_data::check_originator_id() -*/ -void Event_parse_data::check_originator_id(THD *thd) -{ - /* Disable replicated events on slave. */ - if ((thd->system_thread == SYSTEM_THREAD_SLAVE_SQL) || - (thd->system_thread == SYSTEM_THREAD_SLAVE_IO)) - { - DBUG_PRINT("info", ("Invoked object status set to SLAVESIDE_DISABLED.")); - if ((status == Event_basic::ENABLED) || - (status == Event_basic::DISABLED)) - status = Event_basic::SLAVESIDE_DISABLED; - originator = thd->server_id; - } - else - originator = server_id; -} - - /* Constructor @@ -799,8 +279,9 @@ Event_basic::load_time_zone(THD *thd, const LEX_STRING tz_name) Event_queue_element::Event_queue_element(): status_changed(FALSE), last_executed_changed(FALSE), - on_completion(ON_COMPLETION_DROP), status(ENABLED), - expression(0), dropped(FALSE), execution_count(0) + on_completion(Event_parse_data::ON_COMPLETION_DROP), + status(Event_parse_data::ENABLED), expression(0), dropped(FALSE), + execution_count(0) { DBUG_ENTER("Event_queue_element::Event_queue_element"); @@ -1057,14 +538,14 @@ Event_queue_element::load_from_row(THD *thd, TABLE *table) switch (ptr[0]) { case 'E' : - status = Event_queue_element::ENABLED; + status = Event_parse_data::ENABLED; break; case 'S' : - status = Event_queue_element::SLAVESIDE_DISABLED; + status = Event_parse_data::SLAVESIDE_DISABLED; break; case 'D' : default: - status = Event_queue_element::DISABLED; + status = Event_parse_data::DISABLED; break; } if ((ptr= get_field(&mem_root, table->field[ET_FIELD_ORIGINATOR])) == NullS) @@ -1076,8 +557,8 @@ Event_queue_element::load_from_row(THD *thd, TABLE *table) table->field[ET_FIELD_ON_COMPLETION])) == NullS) DBUG_RETURN(TRUE); - on_completion= (ptr[0]=='D'? Event_queue_element::ON_COMPLETION_DROP: - Event_queue_element::ON_COMPLETION_PRESERVE); + on_completion= (ptr[0]=='D'? Event_parse_data::ON_COMPLETION_DROP: + Event_parse_data::ON_COMPLETION_PRESERVE); DBUG_RETURN(FALSE); } @@ -1423,7 +904,7 @@ Event_queue_element::compute_next_execution_time() (long) starts, (long) ends, (long) last_executed, (long) this)); - if (status != Event_queue_element::ENABLED) + if (status != Event_parse_data::ENABLED) { DBUG_PRINT("compute_next_execution_time", ("Event %s is DISABLED", name.str)); @@ -1437,10 +918,10 @@ Event_queue_element::compute_next_execution_time() { DBUG_PRINT("info",("One-time event %s.%s of was already executed", dbname.str, name.str)); - dropped= (on_completion == Event_queue_element::ON_COMPLETION_DROP); + dropped= (on_completion == Event_parse_data::ON_COMPLETION_DROP); DBUG_PRINT("info",("One-time event will be dropped: %d.", dropped)); - status= Event_queue_element::DISABLED; + status= Event_parse_data::DISABLED; status_changed= TRUE; } goto ret; @@ -1457,10 +938,10 @@ Event_queue_element::compute_next_execution_time() /* time_now is after ends. don't execute anymore */ execute_at= 0; execute_at_null= TRUE; - if (on_completion == Event_queue_element::ON_COMPLETION_DROP) + if (on_completion == Event_parse_data::ON_COMPLETION_DROP) dropped= TRUE; DBUG_PRINT("info", ("Dropped: %d", dropped)); - status= Event_queue_element::DISABLED; + status= Event_parse_data::DISABLED; status_changed= TRUE; goto ret; @@ -1521,9 +1002,9 @@ Event_queue_element::compute_next_execution_time() /* Next execution after ends. No more executions */ execute_at= 0; execute_at_null= TRUE; - if (on_completion == Event_queue_element::ON_COMPLETION_DROP) + if (on_completion == Event_parse_data::ON_COMPLETION_DROP) dropped= TRUE; - status= Event_queue_element::DISABLED; + status= Event_parse_data::DISABLED; status_changed= TRUE; } else @@ -1613,9 +1094,9 @@ Event_queue_element::compute_next_execution_time() DBUG_PRINT("info", ("Next execution after ENDS. Stop executing.")); execute_at= 0; execute_at_null= TRUE; - status= Event_queue_element::DISABLED; + status= Event_parse_data::DISABLED; status_changed= TRUE; - if (on_completion == Event_queue_element::ON_COMPLETION_DROP) + if (on_completion == Event_parse_data::ON_COMPLETION_DROP) dropped= TRUE; } else @@ -1767,14 +1248,14 @@ Event_timed::get_create_event(THD *thd, String *buf) STRING_WITH_LEN("ON SCHEDULE AT")); } - if (on_completion == Event_timed::ON_COMPLETION_DROP) + if (on_completion == Event_parse_data::ON_COMPLETION_DROP) buf->append(STRING_WITH_LEN(" ON COMPLETION NOT PRESERVE ")); else buf->append(STRING_WITH_LEN(" ON COMPLETION PRESERVE ")); - if (status == Event_timed::ENABLED) + if (status == Event_parse_data::ENABLED) buf->append(STRING_WITH_LEN("ENABLE")); - else if (status == Event_timed::SLAVESIDE_DISABLED) + else if (status == Event_parse_data::SLAVESIDE_DISABLED) buf->append(STRING_WITH_LEN("DISABLE ON SLAVE")); else buf->append(STRING_WITH_LEN("DISABLE")); diff --git a/sql/event_data_objects.h b/sql/event_data_objects.h index 7a49d1597d6..e32077b9c97 100644 --- a/sql/event_data_objects.h +++ b/sql/event_data_objects.h @@ -22,10 +22,7 @@ @file event_data_objects.h */ -#define EVEX_GET_FIELD_FAILED -2 -#define EVEX_BAD_PARAMS -5 -#define EVEX_MICROSECOND_UNSUP -6 - +#include "event_parse_data.h" class Event_queue_element_for_exec { @@ -54,23 +51,6 @@ protected: MEM_ROOT mem_root; public: - /* - ENABLED = feature can function normally (is turned on) - SLAVESIDE_DISABLED = feature is turned off on slave - DISABLED = feature is turned off - */ - enum enum_status - { - ENABLED = 1, - DISABLED, - SLAVESIDE_DISABLED - }; - - enum enum_on_completion - { - ON_COMPLETION_DROP = 1, - ON_COMPLETION_PRESERVE - }; LEX_STRING dbname; LEX_STRING name; @@ -201,83 +181,6 @@ private: }; -class Event_parse_data : public Sql_alloc -{ -public: - - int on_completion; - int status; - longlong originator; - /* - do_not_create will be set if STARTS time is in the past and - on_completion == ON_COMPLETION_DROP. - */ - bool do_not_create; - - bool body_changed; - - LEX_STRING dbname; - LEX_STRING name; - LEX_STRING definer;// combination of user and host - LEX_STRING comment; - - Item* item_starts; - Item* item_ends; - Item* item_execute_at; - - my_time_t starts; - my_time_t ends; - my_time_t execute_at; - my_bool starts_null; - my_bool ends_null; - my_bool execute_at_null; - - sp_name *identifier; - Item* item_expression; - longlong expression; - interval_type interval; - - static Event_parse_data * - new_instance(THD *thd); - - bool - check_parse_data(THD *thd); - -private: - - void - init_definer(THD *thd); - - void - init_name(THD *thd, sp_name *spn); - - int - init_execute_at(THD *thd); - - int - init_interval(THD *thd); - - int - init_starts(THD *thd); - - int - init_ends(THD *thd); - - Event_parse_data(); - ~Event_parse_data(); - - void - report_bad_value(const char *item_name, Item *bad_item); - - void - check_if_in_the_past(THD *thd, my_time_t ltime_utc); - - Event_parse_data(const Event_parse_data &); /* Prevent use of these */ - void check_originator_id(THD *thd); - void operator=(Event_parse_data &); -}; - - /* Compares only the schema part of the identifier */ bool event_basic_db_equal(LEX_STRING db, Event_basic *et); diff --git a/sql/event_parse_data.cc b/sql/event_parse_data.cc new file mode 100644 index 00000000000..e87e4593f8f --- /dev/null +++ b/sql/event_parse_data.cc @@ -0,0 +1,535 @@ +/* Copyright (C) 2000-2003 MySQL AB + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + +#include "mysql_priv.h" +#include "sp_head.h" +#include "event_parse_data.h" + +/* + Returns a new instance + + SYNOPSIS + Event_parse_data::new_instance() + + RETURN VALUE + Address or NULL in case of error + + NOTE + Created on THD's mem_root +*/ + +Event_parse_data * +Event_parse_data::new_instance(THD *thd) +{ + return new (thd->mem_root) Event_parse_data; +} + + +/* + Constructor + + SYNOPSIS + Event_parse_data::Event_parse_data() +*/ + +Event_parse_data::Event_parse_data() + :on_completion(Event_parse_data::ON_COMPLETION_DROP), + status(Event_parse_data::ENABLED), + do_not_create(FALSE), + body_changed(FALSE), + item_starts(NULL), item_ends(NULL), item_execute_at(NULL), + starts_null(TRUE), ends_null(TRUE), execute_at_null(TRUE), + item_expression(NULL), expression(0) +{ + DBUG_ENTER("Event_parse_data::Event_parse_data"); + + /* Actually in the parser STARTS is always set */ + starts= ends= execute_at= 0; + + comment.str= NULL; + comment.length= 0; + + DBUG_VOID_RETURN; +} + + +/* + Set a name of the event + + SYNOPSIS + Event_parse_data::init_name() + thd THD + spn the name extracted in the parser +*/ + +void +Event_parse_data::init_name(THD *thd, sp_name *spn) +{ + DBUG_ENTER("Event_parse_data::init_name"); + + /* We have to copy strings to get them into the right memroot */ + dbname.length= spn->m_db.length; + dbname.str= thd->strmake(spn->m_db.str, spn->m_db.length); + name.length= spn->m_name.length; + name.str= thd->strmake(spn->m_name.str, spn->m_name.length); + + if (spn->m_qname.length == 0) + spn->init_qname(thd); + + DBUG_VOID_RETURN; +} + + +/* + This function is called on CREATE EVENT or ALTER EVENT. When either + ENDS or AT is in the past, we are trying to create an event that + will never be executed. If it has ON COMPLETION NOT PRESERVE + (default), then it would normally be dropped already, so on CREATE + EVENT we give a warning, and do not create anyting. On ALTER EVENT + we give a error, and do not change the event. + + If the event has ON COMPLETION PRESERVE, then we see if the event is + created or altered to the ENABLED (default) state. If so, then we + give a warning, and change the state to DISABLED. + + Otherwise it is a valid event in ON COMPLETION PRESERVE DISABLE + state. +*/ + +void +Event_parse_data::check_if_in_the_past(THD *thd, my_time_t ltime_utc) +{ + if (ltime_utc >= (my_time_t) thd->query_start()) + return; + + if (on_completion == Event_parse_data::ON_COMPLETION_DROP) + { + switch (thd->lex->sql_command) { + case SQLCOM_CREATE_EVENT: + push_warning(thd, MYSQL_ERROR::WARN_LEVEL_NOTE, + ER_EVENT_CANNOT_CREATE_IN_THE_PAST, + ER(ER_EVENT_CANNOT_CREATE_IN_THE_PAST)); + break; + case SQLCOM_ALTER_EVENT: + my_error(ER_EVENT_CANNOT_ALTER_IN_THE_PAST, MYF(0)); + break; + default: + DBUG_ASSERT(0); + } + + do_not_create= TRUE; + } + else if (status == Event_parse_data::ENABLED) + { + status= Event_parse_data::DISABLED; + push_warning(thd, MYSQL_ERROR::WARN_LEVEL_NOTE, + ER_EVENT_EXEC_TIME_IN_THE_PAST, + ER(ER_EVENT_EXEC_TIME_IN_THE_PAST)); + } +} + + +/* + Sets time for execution for one-time event. + + SYNOPSIS + Event_parse_data::init_execute_at() + thd Thread + + RETURN VALUE + 0 OK + ER_WRONG_VALUE Wrong value for execute at (reported) +*/ + +int +Event_parse_data::init_execute_at(THD *thd) +{ + my_bool not_used; + MYSQL_TIME ltime; + my_time_t ltime_utc; + + DBUG_ENTER("Event_parse_data::init_execute_at"); + + if (!item_execute_at) + DBUG_RETURN(0); + + if (item_execute_at->fix_fields(thd, &item_execute_at)) + goto wrong_value; + + /* no starts and/or ends in case of execute_at */ + DBUG_PRINT("info", ("starts_null && ends_null should be 1 is %d", + (starts_null && ends_null))); + DBUG_ASSERT(starts_null && ends_null); + + if ((not_used= item_execute_at->get_date(<ime, TIME_NO_ZERO_DATE))) + goto wrong_value; + + ltime_utc= TIME_to_timestamp(thd,<ime,¬_used); + if (!ltime_utc) + { + DBUG_PRINT("error", ("Execute AT after year 2037")); + goto wrong_value; + } + + check_if_in_the_past(thd, ltime_utc); + + execute_at_null= FALSE; + execute_at= ltime_utc; + DBUG_RETURN(0); + +wrong_value: + report_bad_value("AT", item_execute_at); + DBUG_RETURN(ER_WRONG_VALUE); +} + + +/* + Sets time for execution of multi-time event.s + + SYNOPSIS + Event_parse_data::init_interval() + thd Thread + + RETURN VALUE + 0 OK + EVEX_BAD_PARAMS Interval is not positive or MICROSECOND (reported) + ER_WRONG_VALUE Wrong value for interval (reported) +*/ + +int +Event_parse_data::init_interval(THD *thd) +{ + String value; + INTERVAL interval_tmp; + + DBUG_ENTER("Event_parse_data::init_interval"); + if (!item_expression) + DBUG_RETURN(0); + + switch (interval) { + case INTERVAL_MINUTE_MICROSECOND: + case INTERVAL_HOUR_MICROSECOND: + case INTERVAL_DAY_MICROSECOND: + case INTERVAL_SECOND_MICROSECOND: + case INTERVAL_MICROSECOND: + my_error(ER_NOT_SUPPORTED_YET, MYF(0), "MICROSECOND"); + DBUG_RETURN(EVEX_BAD_PARAMS); + default: + break; + } + + if (item_expression->fix_fields(thd, &item_expression)) + goto wrong_value; + + value.alloc(MAX_DATETIME_FULL_WIDTH*MY_CHARSET_BIN_MB_MAXLEN); + if (get_interval_value(item_expression, interval, &value, &interval_tmp)) + goto wrong_value; + + expression= 0; + + switch (interval) { + case INTERVAL_YEAR: + expression= interval_tmp.year; + break; + case INTERVAL_QUARTER: + case INTERVAL_MONTH: + expression= interval_tmp.month; + break; + case INTERVAL_WEEK: + case INTERVAL_DAY: + expression= interval_tmp.day; + break; + case INTERVAL_HOUR: + expression= interval_tmp.hour; + break; + case INTERVAL_MINUTE: + expression= interval_tmp.minute; + break; + case INTERVAL_SECOND: + expression= interval_tmp.second; + break; + case INTERVAL_YEAR_MONTH: // Allow YEAR-MONTH YYYYYMM + expression= interval_tmp.year* 12 + interval_tmp.month; + break; + case INTERVAL_DAY_HOUR: + expression= interval_tmp.day* 24 + interval_tmp.hour; + break; + case INTERVAL_DAY_MINUTE: + expression= (interval_tmp.day* 24 + interval_tmp.hour) * 60 + + interval_tmp.minute; + break; + case INTERVAL_HOUR_SECOND: /* day is anyway 0 */ + case INTERVAL_DAY_SECOND: + /* DAY_SECOND having problems because of leap seconds? */ + expression= ((interval_tmp.day* 24 + interval_tmp.hour) * 60 + + interval_tmp.minute)*60 + + interval_tmp.second; + break; + case INTERVAL_HOUR_MINUTE: + expression= interval_tmp.hour * 60 + interval_tmp.minute; + break; + case INTERVAL_MINUTE_SECOND: + expression= interval_tmp.minute * 60 + interval_tmp.second; + break; + case INTERVAL_LAST: + DBUG_ASSERT(0); + default: + ;/* these are the microsec stuff */ + } + if (interval_tmp.neg || expression == 0 || + expression > EVEX_MAX_INTERVAL_VALUE) + { + my_error(ER_EVENT_INTERVAL_NOT_POSITIVE_OR_TOO_BIG, MYF(0)); + DBUG_RETURN(EVEX_BAD_PARAMS); + } + + DBUG_RETURN(0); + +wrong_value: + report_bad_value("INTERVAL", item_expression); + DBUG_RETURN(ER_WRONG_VALUE); +} + + +/* + Sets STARTS. + + SYNOPSIS + Event_parse_data::init_starts() + expr how much? + + NOTES + Note that activation time is not execution time. + EVERY 5 MINUTE STARTS "2004-12-12 10:00:00" means that + the event will be executed every 5 minutes but this will + start at the date shown above. Expressions are possible : + DATE_ADD(NOW(), INTERVAL 1 DAY) -- start tommorow at + same time. + + RETURN VALUE + 0 OK + ER_WRONG_VALUE Starts before now +*/ + +int +Event_parse_data::init_starts(THD *thd) +{ + my_bool not_used; + MYSQL_TIME ltime; + my_time_t ltime_utc; + + DBUG_ENTER("Event_parse_data::init_starts"); + if (!item_starts) + DBUG_RETURN(0); + + if (item_starts->fix_fields(thd, &item_starts)) + goto wrong_value; + + if ((not_used= item_starts->get_date(<ime, TIME_NO_ZERO_DATE))) + goto wrong_value; + + ltime_utc= TIME_to_timestamp(thd, <ime, ¬_used); + if (!ltime_utc) + goto wrong_value; + + DBUG_PRINT("info",("now: %ld starts: %ld", + (long) thd->query_start(), (long) ltime_utc)); + + starts_null= FALSE; + starts= ltime_utc; + DBUG_RETURN(0); + +wrong_value: + report_bad_value("STARTS", item_starts); + DBUG_RETURN(ER_WRONG_VALUE); +} + + +/* + Sets ENDS (deactivation time). + + SYNOPSIS + Event_parse_data::init_ends() + thd THD + + NOTES + Note that activation time is not execution time. + EVERY 5 MINUTE ENDS "2004-12-12 10:00:00" means that + the event will be executed every 5 minutes but this will + end at the date shown above. Expressions are possible : + DATE_ADD(NOW(), INTERVAL 1 DAY) -- end tommorow at + same time. + + RETURN VALUE + 0 OK + EVEX_BAD_PARAMS Error (reported) +*/ + +int +Event_parse_data::init_ends(THD *thd) +{ + my_bool not_used; + MYSQL_TIME ltime; + my_time_t ltime_utc; + + DBUG_ENTER("Event_parse_data::init_ends"); + if (!item_ends) + DBUG_RETURN(0); + + if (item_ends->fix_fields(thd, &item_ends)) + goto error_bad_params; + + DBUG_PRINT("info", ("convert to TIME")); + if ((not_used= item_ends->get_date(<ime, TIME_NO_ZERO_DATE))) + goto error_bad_params; + + ltime_utc= TIME_to_timestamp(thd, <ime, ¬_used); + if (!ltime_utc) + goto error_bad_params; + + /* Check whether ends is after starts */ + DBUG_PRINT("info", ("ENDS after STARTS?")); + if (!starts_null && starts >= ltime_utc) + goto error_bad_params; + + check_if_in_the_past(thd, ltime_utc); + + ends_null= FALSE; + ends= ltime_utc; + DBUG_RETURN(0); + +error_bad_params: + my_error(ER_EVENT_ENDS_BEFORE_STARTS, MYF(0)); + DBUG_RETURN(EVEX_BAD_PARAMS); +} + + +/* + Prints an error message about invalid value. Internally used + during input data verification + + SYNOPSIS + Event_parse_data::report_bad_value() + item_name The name of the parameter + bad_item The parameter +*/ + +void +Event_parse_data::report_bad_value(const char *item_name, Item *bad_item) +{ + char buff[120]; + String str(buff,(uint32) sizeof(buff), system_charset_info); + String *str2= bad_item->fixed? bad_item->val_str(&str):NULL; + my_error(ER_WRONG_VALUE, MYF(0), item_name, str2? str2->c_ptr_safe():"NULL"); +} + + +/* + Checks for validity the data gathered during the parsing phase. + + SYNOPSIS + Event_parse_data::check_parse_data() + thd Thread + + RETURN VALUE + FALSE OK + TRUE Error (reported) +*/ + +bool +Event_parse_data::check_parse_data(THD *thd) +{ + bool ret; + DBUG_ENTER("Event_parse_data::check_parse_data"); + DBUG_PRINT("info", ("execute_at: 0x%lx expr=0x%lx starts=0x%lx ends=0x%lx", + (long) item_execute_at, (long) item_expression, + (long) item_starts, (long) item_ends)); + + init_name(thd, identifier); + + init_definer(thd); + + ret= init_execute_at(thd) || init_interval(thd) || init_starts(thd) || + init_ends(thd); + check_originator_id(thd); + DBUG_RETURN(ret); +} + + +/* + Inits definer (definer_user and definer_host) during parsing. + + SYNOPSIS + Event_parse_data::init_definer() + thd Thread +*/ + +void +Event_parse_data::init_definer(THD *thd) +{ + DBUG_ENTER("Event_parse_data::init_definer"); + + DBUG_ASSERT(thd->lex->definer); + + const char *definer_user= thd->lex->definer->user.str; + const char *definer_host= thd->lex->definer->host.str; + int definer_user_len= thd->lex->definer->user.length; + int definer_host_len= thd->lex->definer->host.length; + + DBUG_PRINT("info",("init definer_user thd->mem_root: 0x%lx " + "definer_user: 0x%lx", (long) thd->mem_root, + (long) definer_user)); + + /* + 1 for @ */ + DBUG_PRINT("info",("init definer as whole")); + definer.length= definer_user_len + definer_host_len + 1; + definer.str= (char*) thd->alloc(definer.length + 1); + + DBUG_PRINT("info",("copy the user")); + memcpy(definer.str, definer_user, definer_user_len); + definer.str[definer_user_len]= '@'; + + DBUG_PRINT("info",("copy the host")); + memcpy(definer.str + definer_user_len + 1, definer_host, definer_host_len); + definer.str[definer.length]= '\0'; + DBUG_PRINT("info",("definer [%s] initted", definer.str)); + + DBUG_VOID_RETURN; +} + + +/** + Set the originator id of the event to the server_id if executing on + the master or set to the server_id of the master if executing on + the slave. If executing on slave, also set status to SLAVESIDE_DISABLED. + + SYNOPSIS + Event_parse_data::check_originator_id() +*/ +void Event_parse_data::check_originator_id(THD *thd) +{ + /* Disable replicated events on slave. */ + if ((thd->system_thread == SYSTEM_THREAD_SLAVE_SQL) || + (thd->system_thread == SYSTEM_THREAD_SLAVE_IO)) + { + DBUG_PRINT("info", ("Invoked object status set to SLAVESIDE_DISABLED.")); + if ((status == Event_parse_data::ENABLED) || + (status == Event_parse_data::DISABLED)) + status = Event_parse_data::SLAVESIDE_DISABLED; + originator = thd->server_id; + } + else + originator = server_id; +} diff --git a/sql/event_parse_data.h b/sql/event_parse_data.h new file mode 100644 index 00000000000..221bf92664f --- /dev/null +++ b/sql/event_parse_data.h @@ -0,0 +1,116 @@ +/* Copyright (C) 2000-2003 MySQL AB + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + +#ifndef _EVENT_PARSE_DATA_H_ +#define _EVENT_PARSE_DATA_H_ + +#define EVEX_GET_FIELD_FAILED -2 +#define EVEX_BAD_PARAMS -5 +#define EVEX_MICROSECOND_UNSUP -6 +#define EVEX_MAX_INTERVAL_VALUE 1000000000L + +class Event_parse_data : public Sql_alloc +{ +public: + /* + ENABLED = feature can function normally (is turned on) + SLAVESIDE_DISABLED = feature is turned off on slave + DISABLED = feature is turned off + */ + enum enum_status + { + ENABLED = 1, + DISABLED, + SLAVESIDE_DISABLED + }; + + enum enum_on_completion + { + ON_COMPLETION_DROP = 1, + ON_COMPLETION_PRESERVE + }; + + int on_completion; + int status; + longlong originator; + /* + do_not_create will be set if STARTS time is in the past and + on_completion == ON_COMPLETION_DROP. + */ + bool do_not_create; + + bool body_changed; + + LEX_STRING dbname; + LEX_STRING name; + LEX_STRING definer;// combination of user and host + LEX_STRING comment; + + Item* item_starts; + Item* item_ends; + Item* item_execute_at; + + my_time_t starts; + my_time_t ends; + my_time_t execute_at; + my_bool starts_null; + my_bool ends_null; + my_bool execute_at_null; + + sp_name *identifier; + Item* item_expression; + longlong expression; + interval_type interval; + + static Event_parse_data * + new_instance(THD *thd); + + bool + check_parse_data(THD *thd); + +private: + + void + init_definer(THD *thd); + + void + init_name(THD *thd, sp_name *spn); + + int + init_execute_at(THD *thd); + + int + init_interval(THD *thd); + + int + init_starts(THD *thd); + + int + init_ends(THD *thd); + + Event_parse_data(); + ~Event_parse_data(); + + void + report_bad_value(const char *item_name, Item *bad_item); + + void + check_if_in_the_past(THD *thd, my_time_t ltime_utc); + + Event_parse_data(const Event_parse_data &); /* Prevent use of these */ + void check_originator_id(THD *thd); + void operator=(Event_parse_data &); +}; +#endif diff --git a/sql/event_queue.cc b/sql/event_queue.cc index 719a837cbfb..04d4f858b43 100644 --- a/sql/event_queue.cc +++ b/sql/event_queue.cc @@ -65,10 +65,10 @@ int event_queue_element_compare_q(void *vptr, uchar* a, uchar *b) my_time_t lhs = left->execute_at; my_time_t rhs = right->execute_at; - if (left->status == Event_queue_element::DISABLED) - return right->status != Event_queue_element::DISABLED; + if (left->status == Event_parse_data::DISABLED) + return right->status != Event_parse_data::DISABLED; - if (right->status == Event_queue_element::DISABLED) + if (right->status == Event_parse_data::DISABLED) return 1; return (lhs < rhs ? -1 : (lhs > rhs ? 1 : 0)); @@ -198,7 +198,7 @@ Event_queue::create_event(THD *thd, Event_queue_element *new_element, /* Will do nothing if the event is disabled */ new_element->compute_next_execution_time(); - if (new_element->status != Event_queue_element::ENABLED) + if (new_element->status != Event_parse_data::ENABLED) { delete new_element; *created= FALSE; @@ -236,8 +236,8 @@ Event_queue::update_event(THD *thd, LEX_STRING dbname, LEX_STRING name, DBUG_ENTER("Event_queue::update_event"); DBUG_PRINT("enter", ("thd: 0x%lx et=[%s.%s]", (long) thd, dbname.str, name.str)); - if ((new_element->status == Event_queue_element::DISABLED) || - (new_element->status == Event_queue_element::SLAVESIDE_DISABLED)) + if ((new_element->status == Event_parse_data::DISABLED) || + (new_element->status == Event_parse_data::SLAVESIDE_DISABLED)) { DBUG_PRINT("info", ("The event is disabled.")); /* @@ -452,7 +452,7 @@ Event_queue::recalculate_activation_times(THD *thd) for (i= queue.elements; i > 0; i--) { Event_queue_element *element = (Event_queue_element*)queue_element(&queue, i - 1); - if (element->status != Event_queue_element::DISABLED) + if (element->status != Event_parse_data::DISABLED) break; /* This won't cause queue re-order, because we remove @@ -615,14 +615,14 @@ Event_queue::get_top_for_execution_if_time(THD *thd, DBUG_PRINT("info", ("Ready for execution")); top->mark_last_executed(thd); if (top->compute_next_execution_time()) - top->status= Event_queue_element::DISABLED; + top->status= Event_parse_data::DISABLED; DBUG_PRINT("info", ("event %s status is %d", top->name.str, top->status)); top->execution_count++; (*event_name)->dropped= top->dropped; top->update_timing_fields(thd); - if (top->status == Event_queue_element::DISABLED) + if (top->status == Event_parse_data::DISABLED) { DBUG_PRINT("info", ("removing from the queue")); sql_print_information("Event Scheduler: Last execution of %s.%s. %s", diff --git a/sql/events.cc b/sql/events.cc index 4225ca055de..a98c1c90298 100644 --- a/sql/events.cc +++ b/sql/events.cc @@ -861,6 +861,7 @@ Events::fill_schema_events(THD *thd, TABLE_LIST *tables, COND * /* cond */) bool Events::init(my_bool opt_noacl) { + THD *thd; bool res= FALSE; @@ -954,7 +955,6 @@ end: DBUG_RETURN(res); } - /* Cleans up scheduler's resources. Called at server shutdown. @@ -1170,7 +1170,7 @@ Events::load_events_from_db(THD *thd) goto end; } drop_on_completion= (et->on_completion == - Event_queue_element::ON_COMPLETION_DROP); + Event_parse_data::ON_COMPLETION_DROP); if (event_queue->create_event(thd, et, &created)) diff --git a/sql/field.cc b/sql/field.cc index 32bf5855d8b..9bf6df55b30 100644 --- a/sql/field.cc +++ b/sql/field.cc @@ -6328,6 +6328,7 @@ check_string_copy_error(Field_str *field, Field_longstr::report_if_important_data() ptr - Truncated rest of string end - End of truncated string + count_spaces - Treat traling spaces as important data RETURN VALUES 0 - None was truncated (or we don't count cut fields) @@ -6337,10 +6338,12 @@ check_string_copy_error(Field_str *field, Check if we lost any important data (anything in a binary string, or any non-space in others). If only trailing spaces was lost, send a truncation note, otherwise send a truncation error. + Silently ignore traling spaces if the count_space parameter is FALSE. */ int -Field_longstr::report_if_important_data(const char *ptr, const char *end) +Field_longstr::report_if_important_data(const char *ptr, const char *end, + bool count_spaces) { if ((ptr < end) && table->in_use->count_cuted_fields) { @@ -6350,10 +6353,13 @@ Field_longstr::report_if_important_data(const char *ptr, const char *end) set_warning(MYSQL_ERROR::WARN_LEVEL_ERROR, ER_DATA_TOO_LONG, 1); else set_warning(MYSQL_ERROR::WARN_LEVEL_WARN, WARN_DATA_TRUNCATED, 1); + return 2; } - else /* If we lost only spaces then produce a NOTE, not a WARNING */ + else if (count_spaces) + { /* If we lost only spaces then produce a NOTE, not a WARNING */ set_warning(MYSQL_ERROR::WARN_LEVEL_NOTE, WARN_DATA_TRUNCATED, 1); - return 2; + return 2; + } } return 0; } @@ -6390,7 +6396,7 @@ int Field_string::store(const char *from,uint length,CHARSET_INFO *cs) cannot_convert_error_pos, from + length, cs)) return 2; - return report_if_important_data(from_end_pos, from + length); + return report_if_important_data(from_end_pos, from + length, FALSE); } @@ -6965,7 +6971,7 @@ int Field_varstring::store(const char *from,uint length,CHARSET_INFO *cs) cannot_convert_error_pos, from + length, cs)) return 2; - return report_if_important_data(from_end_pos, from + length); + return report_if_important_data(from_end_pos, from + length, TRUE); } @@ -7568,6 +7574,7 @@ uint32 Field_blob::get_length(const uchar *pos, uint packlength_arg, bool low_by return (uint32) tmp; } } + /* When expanding this, see also MAX_FIELD_BLOBLENGTH. */ return 0; // Impossible } @@ -7668,7 +7675,7 @@ int Field_blob::store(const char *from,uint length,CHARSET_INFO *cs) cannot_convert_error_pos, from + length, cs)) return 2; - return report_if_important_data(from_end_pos, from + length); + return report_if_important_data(from_end_pos, from + length, TRUE); oom_error: /* Fatal OOM error */ @@ -9449,8 +9456,20 @@ bool Create_field::init(THD *thd, char *fld_name, enum_field_types fld_type, (fld_type_modifier & NOT_NULL_FLAG) && fld_type != MYSQL_TYPE_TIMESTAMP) flags|= NO_DEFAULT_VALUE_FLAG; - if (fld_length && !(length= (uint) atoi(fld_length))) - fld_length= 0; /* purecov: inspected */ + if (fld_length != NULL) + { + errno= 0; + length= strtoul(fld_length, NULL, 10); + if ((errno != 0) || (length > MAX_FIELD_BLOBLENGTH)) + { + my_error(ER_TOO_BIG_DISPLAYWIDTH, MYF(0), fld_name, MAX_FIELD_BLOBLENGTH); + DBUG_RETURN(TRUE); + } + + if (length == 0) + fld_length= 0; /* purecov: inspected */ + } + sign_len= fld_type_modifier & UNSIGNED_FLAG ? 0 : 1; switch (fld_type) { @@ -9598,7 +9617,7 @@ bool Create_field::init(THD *thd, char *fld_name, enum_field_types fld_type, } break; case MYSQL_TYPE_TIMESTAMP: - if (!fld_length) + if (fld_length == NULL) { /* Compressed date YYYYMMDDHHMMSS */ length= MAX_DATETIME_COMPRESSED_WIDTH; @@ -9607,12 +9626,21 @@ bool Create_field::init(THD *thd, char *fld_name, enum_field_types fld_type, { /* We support only even TIMESTAMP lengths less or equal than 14 - and 19 as length of 4.1 compatible representation. + and 19 as length of 4.1 compatible representation. Silently + shrink it to MAX_DATETIME_COMPRESSED_WIDTH. */ - length= ((length+1)/2)*2; /* purecov: inspected */ - length= min(length, MAX_DATETIME_COMPRESSED_WIDTH); /* purecov: inspected */ + DBUG_ASSERT(MAX_DATETIME_COMPRESSED_WIDTH < UINT_MAX); + if (length != UINT_MAX) /* avoid overflow; is safe because of min() */ + length= ((length+1)/2)*2; + length= min(length, MAX_DATETIME_COMPRESSED_WIDTH); } flags|= ZEROFILL_FLAG | UNSIGNED_FLAG; + /* + Since we silently rewrite down to MAX_DATETIME_COMPRESSED_WIDTH bytes, + the parser should not raise errors unless bizzarely large. + */ + max_field_charlength= UINT_MAX; + if (fld_default_value) { /* Grammar allows only NOW() value for ON UPDATE clause */ @@ -9719,7 +9747,7 @@ bool Create_field::init(THD *thd, char *fld_name, enum_field_types fld_type, ((length > max_field_charlength && fld_type != MYSQL_TYPE_SET && fld_type != MYSQL_TYPE_ENUM && (fld_type != MYSQL_TYPE_VARCHAR || fld_default_value)) || - (!length && + ((length == 0) && fld_type != MYSQL_TYPE_STRING && fld_type != MYSQL_TYPE_VARCHAR && fld_type != MYSQL_TYPE_GEOMETRY))) { diff --git a/sql/field.h b/sql/field.h index 5457b7284e9..479a71dfee5 100644 --- a/sql/field.h +++ b/sql/field.h @@ -594,7 +594,8 @@ public: class Field_longstr :public Field_str { protected: - int report_if_important_data(const char *ptr, const char *end); + int report_if_important_data(const char *ptr, const char *end, + bool count_spaces); public: Field_longstr(uchar *ptr_arg, uint32 len_arg, uchar *null_ptr_arg, uchar null_bit_arg, utype unireg_check_arg, diff --git a/sql/handler.cc b/sql/handler.cc index b334e003851..ebe5ea5d4fa 100644 --- a/sql/handler.cc +++ b/sql/handler.cc @@ -952,16 +952,21 @@ int ha_prepare(THD *thd) A helper function to evaluate if two-phase commit is mandatory. As a side effect, propagates the read-only/read-write flags of the statement transaction to its enclosing normal transaction. + + If we have at least two engines with read-write changes we must + run a two-phase commit. Otherwise we can run several independent + commits as the only transactional engine has read-write changes + and others are read-only. - @retval TRUE we must run a two-phase commit. Returned - if we have at least two engines with read-write changes. - @retval FALSE Don't need two-phase commit. Even if we have two - transactional engines, we can run two independent - commits if changes in one of the engines are read-only. + @retval 0 All engines are read-only. + @retval 1 We have the only engine with read-write changes. + @retval >1 More than one engine have read-write changes. + Note: return value might NOT be the exact number of + engines with read-write changes. */ static -bool +uint ha_check_and_coalesce_trx_read_only(THD *thd, Ha_trx_info *ha_list, bool all) { @@ -998,7 +1003,7 @@ ha_check_and_coalesce_trx_read_only(THD *thd, Ha_trx_info *ha_list, break; } } - return rw_ha_count > 1; + return rw_ha_count; } @@ -1061,25 +1066,8 @@ int ha_commit_trans(THD *thd, bool all) #ifdef USING_TRANSACTIONS if (ha_info) { - bool must_2pc; - - if (is_real_trans && wait_if_global_read_lock(thd, 0, 0)) - { - ha_rollback_trans(thd, all); - DBUG_RETURN(1); - } - - if ( is_real_trans - && opt_readonly - && ! (thd->security_ctx->master_access & SUPER_ACL) - && ! thd->slave_thread - ) - { - my_error(ER_OPTION_PREVENTS_STATEMENT, MYF(0), "--read-only"); - ha_rollback_trans(thd, all); - error= 1; - goto end; - } + uint rw_ha_count; + bool rw_trans; DBUG_EXECUTE_IF("crash_commit_before", abort();); @@ -1087,9 +1075,29 @@ int ha_commit_trans(THD *thd, bool all) if (is_real_trans) /* not a statement commit */ thd->stmt_map.close_transient_cursors(); - must_2pc= ha_check_and_coalesce_trx_read_only(thd, ha_info, all); + rw_ha_count= ha_check_and_coalesce_trx_read_only(thd, ha_info, all); + /* rw_trans is TRUE when we in a transaction changing data */ + rw_trans= is_real_trans && (rw_ha_count > 0); - if (!trans->no_2pc && must_2pc) + if (rw_trans && + wait_if_global_read_lock(thd, 0, 0)) + { + ha_rollback_trans(thd, all); + DBUG_RETURN(1); + } + + if (rw_trans && + opt_readonly && + !(thd->security_ctx->master_access & SUPER_ACL) && + !thd->slave_thread) + { + my_error(ER_OPTION_PREVENTS_STATEMENT, MYF(0), "--read-only"); + ha_rollback_trans(thd, all); + error= 1; + goto end; + } + + if (!trans->no_2pc && (rw_ha_count > 1)) { for (; ha_info && !error; ha_info= ha_info->next()) { @@ -1129,7 +1137,7 @@ int ha_commit_trans(THD *thd, bool all) tc_log->unlog(cookie, xid); DBUG_EXECUTE_IF("crash_commit_after", abort();); end: - if (is_real_trans) + if (rw_trans) start_waiting_global_read_lock(thd); } #endif /* USING_TRANSACTIONS */ @@ -2730,6 +2738,8 @@ int handler::ha_check_for_upgrade(HA_CHECK_OPT *check_opt) } } } + if (table->s->frm_version != FRM_VER_TRUE_VARCHAR) + return HA_ADMIN_NEEDS_ALTER; return check_for_upgrade(check_opt); } diff --git a/sql/init.cc b/sql/init.cc index aee0eb7179c..afda36b6b9d 100644 --- a/sql/init.cc +++ b/sql/init.cc @@ -35,7 +35,7 @@ void unireg_init(ulong options) wild_many='%'; wild_one='_'; wild_prefix='\\'; /* Change to sql syntax */ current_pid=(ulong) getpid(); /* Save for later ref */ - init_time(); /* Init time-functions (read zone) */ + my_init_time(); /* Init time-functions (read zone) */ #ifndef EMBEDDED_LIBRARY my_abort_hook=unireg_abort; /* Abort with close of databases */ #endif diff --git a/sql/item.cc b/sql/item.cc index fb8b0c1de2b..96408a70bdd 100644 --- a/sql/item.cc +++ b/sql/item.cc @@ -3161,6 +3161,49 @@ void Item_param::print(String *str, enum_query_type query_type) } +/** + Preserve the original parameter types and values + when re-preparing a prepared statement. + + @details Copy parameter type information and conversion + function pointers from a parameter of the old statement + to the corresponding parameter of the new one. + + Move parameter values from the old parameters to the new + one. We simply "exchange" the values, which allows + to save on allocation and character set conversion in + case a parameter is a string or a blob/clob. + + The old parameter gets the value of this one, which + ensures that all memory of this parameter is freed + correctly. + + @param[in] src parameter item of the original + prepared statement +*/ + +void +Item_param::set_param_type_and_swap_value(Item_param *src) +{ + unsigned_flag= src->unsigned_flag; + param_type= src->param_type; + set_param_func= src->set_param_func; + item_type= src->item_type; + item_result_type= src->item_result_type; + + collation.set(src->collation); + maybe_null= src->maybe_null; + null_value= src->null_value; + max_length= src->max_length; + decimals= src->decimals; + state= src->state; + value= src->value; + + decimal_value.swap(src->decimal_value); + str_value.swap(src->str_value); + str_value_ptr.swap(src->str_value_ptr); +} + /**************************************************************************** Item_copy_string ****************************************************************************/ @@ -4245,9 +4288,14 @@ static void convert_zerofill_number_to_string(Item **item, Field_num *field) String tmp(buff,sizeof(buff), field->charset()), *res; res= (*item)->val_str(&tmp); - field->prepend_zeros(res); - pos= (char *) sql_strmake (res->ptr(), res->length()); - *item= new Item_string(pos, res->length(), field->charset()); + if ((*item)->is_null()) + *item= new Item_null(); + else + { + field->prepend_zeros(res); + pos= (char *) sql_strmake (res->ptr(), res->length()); + *item= new Item_string(pos, res->length(), field->charset()); + } } diff --git a/sql/item.h b/sql/item.h index cd8bb4faccb..465d6f4d54c 100644 --- a/sql/item.h +++ b/sql/item.h @@ -1684,6 +1684,7 @@ public: bool eq(const Item *item, bool binary_cmp) const; /** Item is a argument to a limit clause. */ bool limit_clause_param; + void set_param_type_and_swap_value(Item_param *from); }; diff --git a/sql/item_create.cc b/sql/item_create.cc index 49cc33b95a7..349c47816ad 100644 --- a/sql/item_create.cc +++ b/sql/item_create.cc @@ -5057,8 +5057,41 @@ create_func_cast(THD *thd, Item *a, Cast_target cast_type, break; case ITEM_CAST_DECIMAL: { - len= c_len ? atoi(c_len) : 0; - dec= c_dec ? atoi(c_dec) : 0; + if (c_len == NULL) + { + len= 0; + } + else + { + ulong decoded_size; + errno= 0; + decoded_size= strtoul(c_len, NULL, 10); + if (errno != 0) + { + my_error(ER_TOO_BIG_PRECISION, MYF(0), c_len, a->name, + DECIMAL_MAX_PRECISION); + return NULL; + } + len= decoded_size; + } + + if (c_dec == NULL) + { + dec= 0; + } + else + { + ulong decoded_size; + errno= 0; + decoded_size= strtoul(c_dec, NULL, 10); + if ((errno != 0) || (decoded_size > UINT_MAX)) + { + my_error(ER_TOO_BIG_SCALE, MYF(0), c_dec, a->name, + DECIMAL_MAX_SCALE); + return NULL; + } + dec= decoded_size; + } my_decimal_trim(&len, &dec); if (len < dec) { @@ -5083,7 +5116,22 @@ create_func_cast(THD *thd, Item *a, Cast_target cast_type, case ITEM_CAST_CHAR: { CHARSET_INFO *real_cs= (cs ? cs : thd->variables.collation_connection); - len= c_len ? atoi(c_len) : -1; + if (c_len == NULL) + { + len= LL(-1); + } + else + { + ulong decoded_size; + errno= 0; + decoded_size= strtoul(c_len, NULL, 10); + if ((errno != 0) || (decoded_size > MAX_FIELD_BLOBLENGTH)) + { + my_error(ER_TOO_BIG_DISPLAYWIDTH, MYF(0), "cast as char", MAX_FIELD_BLOBLENGTH); + return NULL; + } + len= decoded_size; + } res= new (thd->mem_root) Item_char_typecast(a, len, real_cs); break; } diff --git a/sql/item_strfunc.cc b/sql/item_strfunc.cc index fe805d7672a..56aa44b453e 100644 --- a/sql/item_strfunc.cc +++ b/sql/item_strfunc.cc @@ -298,6 +298,12 @@ String *Item_func_concat::val_str(String *str) { if (!(res=args[i]->val_str(str))) goto null; + /* + CONCAT accumulates its result in the result of its the first + non-empty argument. Because of this we need is_const to be + evaluated only for it. + */ + is_const= args[i]->const_item() || !args[i]->used_tables(); } else { diff --git a/sql/item_sum.cc b/sql/item_sum.cc index 264b53c780a..96f0b6a142d 100644 --- a/sql/item_sum.cc +++ b/sql/item_sum.cc @@ -3256,7 +3256,7 @@ void Item_func_group_concat::clear() no_appended= TRUE; if (tree) reset_tree(tree); - if (distinct) + if (unique_filter) unique_filter->reset(); /* No need to reset the table as we never call write_row */ } diff --git a/sql/lock.cc b/sql/lock.cc index a0d6faa6604..675b94c2175 100644 --- a/sql/lock.cc +++ b/sql/lock.cc @@ -1533,6 +1533,7 @@ void start_waiting_global_read_lock(THD *thd) if (unlikely(thd->global_read_lock)) DBUG_VOID_RETURN; (void) pthread_mutex_lock(&LOCK_global_read_lock); + DBUG_ASSERT(protect_against_global_read_lock); tmp= (!--protect_against_global_read_lock && (waiting_for_read_lock || global_read_lock_blocks_commit)); (void) pthread_mutex_unlock(&LOCK_global_read_lock); diff --git a/sql/log_event.cc b/sql/log_event.cc index 35cffbbf38c..3b9c2c28df9 100644 --- a/sql/log_event.cc +++ b/sql/log_event.cc @@ -6427,15 +6427,29 @@ int Rows_log_event::do_apply_event(Relay_log_info const *rli) */ if (!thd->lock) { - bool need_reopen= 1; /* To execute the first lap of the loop below */ - /* - lock_tables() reads the contents of thd->lex, so they must be - initialized. Contrary to in - Table_map_log_event::do_apply_event() we don't call - mysql_init_query() as that may reset the binlog format. + Lock_tables() reads the contents of thd->lex, so they must be + initialized. + + We also call the mysql_reset_thd_for_next_command(), since this + is the logical start of the next "statement". Note that this + call might reset the value of current_stmt_binlog_row_based, so + we need to do any changes to that value after this function. */ lex_start(thd); + mysql_reset_thd_for_next_command(thd); + + /* + Check if the slave is set to use SBR. If so, it should switch + to using RBR until the end of the "statement", i.e., next + STMT_END_F or next error. + */ + if (!thd->current_stmt_binlog_row_based && + mysql_bin_log.is_open() && (thd->options & OPTION_BIN_LOG)) + { + thd->set_current_stmt_binlog_row_based(); + } + /* There are a few flags that are replicated with each row event. @@ -6454,72 +6468,23 @@ int Rows_log_event::do_apply_event(Relay_log_info const *rli) /* A small test to verify that objects have consistent types */ DBUG_ASSERT(sizeof(thd->options) == sizeof(OPTION_RELAXED_UNIQUE_CHECKS)); - - while ((error= lock_tables(thd, rli->tables_to_lock, - rli->tables_to_lock_count, &need_reopen))) + if (simple_open_n_lock_tables(thd, rli->tables_to_lock)) { - if (!need_reopen) + uint actual_error= thd->main_da.sql_errno(); + if (thd->is_slave_error || thd->is_fatal_error) { - if (thd->is_slave_error || thd->is_fatal_error) - { - /* - Error reporting borrowed from Query_log_event with many excessive - simplifications (we don't honour --slave-skip-errors) - */ - uint actual_error= thd->main_da.sql_errno(); - rli->report(ERROR_LEVEL, actual_error, - "Error '%s' in %s event: when locking tables", - (actual_error ? thd->main_da.message(): - "unexpected success or fatal error"), - get_type_str()); - thd->is_fatal_error= 1; - } - else - { - rli->report(ERROR_LEVEL, error, - "Error in %s event: when locking tables", - get_type_str()); - } - const_cast(rli)->clear_tables_to_lock(); - DBUG_RETURN(error); - } - - /* - So we need to reopen the tables. - - We need to flush the pending RBR event, since it keeps a - pointer to an open table. - - ALTERNATIVE SOLUTION (not implemented): Extract a pointer to - the pending RBR event and reset the table pointer after the - tables has been reopened. - - NOTE: For this new scheme there should be no pending event: - need to add code to assert that is the case. - */ - thd->binlog_flush_pending_rows_event(false); - TABLE_LIST *tables= rli->tables_to_lock; - close_tables_for_reopen(thd, &tables); - - uint tables_count= rli->tables_to_lock_count; - if ((error= open_tables(thd, &tables, &tables_count, 0))) - { - if (thd->is_slave_error || thd->is_fatal_error) - { - /* - Error reporting borrowed from Query_log_event with many excessive - simplifications (we don't honour --slave-skip-errors) - */ - uint actual_error= thd->main_da.sql_errno(); - rli->report(ERROR_LEVEL, actual_error, - "Error '%s' on reopening tables", - (actual_error ? thd->main_da.message() : - "unexpected success or fatal error")); - thd->is_slave_error= 1; - } - const_cast(rli)->clear_tables_to_lock(); - DBUG_RETURN(error); + /* + Error reporting borrowed from Query_log_event with many excessive + simplifications (we don't honour --slave-skip-errors) + */ + rli->report(ERROR_LEVEL, actual_error, + "Error '%s' on opening tables", + (actual_error ? thd->main_da.message() : + "unexpected success or fatal error")); + thd->is_slave_error= 1; } + const_cast(rli)->clear_tables_to_lock(); + DBUG_RETURN(actual_error); } /* @@ -6572,6 +6537,8 @@ int Rows_log_event::do_apply_event(Relay_log_info const *rli) table= m_table= const_cast(rli)->m_table_map.get_table(m_table_id); + DBUG_PRINT("debug", ("m_table: 0x%lx, m_table_id: %lu", (ulong) m_table, m_table_id)); + if (table) { /* @@ -7295,71 +7262,7 @@ int Table_map_log_event::do_apply_event(Relay_log_info const *rli) } else { - /* - open_tables() reads the contents of thd->lex, so they must be - initialized, so we should call lex_start(); to be even safer, we - call mysql_init_query() which does a more complete set of inits. - */ - lex_start(thd); - mysql_reset_thd_for_next_command(thd); - /* - Check if the slave is set to use SBR. If so, it should switch - to using RBR until the end of the "statement", i.e., next - STMT_END_F or next error. - */ - if (!thd->current_stmt_binlog_row_based && - mysql_bin_log.is_open() && (thd->options & OPTION_BIN_LOG)) - { - thd->set_current_stmt_binlog_row_based(); - } - - /* - Open the table if it is not already open and add the table to - table map. Note that for any table that should not be - replicated, a filter is needed. - - The creation of a new TABLE_LIST is used to up-cast the - table_list consisting of RPL_TABLE_LIST items. This will work - since the only case where the argument to open_tables() is - changed, is when thd->lex->query_tables == table_list, i.e., - when the statement requires prelocking. Since this is not - executed when a statement is executed, this case will not occur. - As a precaution, an assertion is added to ensure that the bad - case is not a fact. - - Either way, the memory in the list is *never* released - internally in the open_tables() function, hence we take a copy - of the pointer to make sure that it's not lost. - */ - uint count; DBUG_ASSERT(thd->lex->query_tables != table_list); - TABLE_LIST *tmp_table_list= table_list; - if ((error= open_tables(thd, &tmp_table_list, &count, 0))) - { - if (thd->is_slave_error || thd->is_fatal_error) - { - /* - Error reporting borrowed from Query_log_event with many excessive - simplifications (we don't honour --slave-skip-errors) - */ - uint actual_error= thd->main_da.sql_errno(); - rli->report(ERROR_LEVEL, actual_error, - "Error '%s' on opening table `%s`.`%s`", - (actual_error ? thd->main_da.message() : - "unexpected success or fatal error"), - table_list->db, table_list->table_name); - thd->is_slave_error= 1; - } - goto err; - } - - m_table= table_list->table; - - /* - This will fail later otherwise, the 'in_use' field should be - set to the current thread. - */ - DBUG_ASSERT(m_table->in_use); /* Use placement new to construct the table_def instance in the @@ -7385,10 +7288,6 @@ int Table_map_log_event::do_apply_event(Relay_log_info const *rli) } DBUG_RETURN(error); - -err: - my_free(memory, MYF(MY_WME)); - DBUG_RETURN(error); } Log_event::enum_skip_reason diff --git a/sql/log_event_old.cc b/sql/log_event_old.cc index 808356a05c7..c6b99b1bd69 100644 --- a/sql/log_event_old.cc +++ b/sql/log_event_old.cc @@ -53,81 +53,46 @@ Old_rows_log_event::do_apply_event(Old_rows_log_event *ev, const Relay_log_info */ if (!thd->lock) { - bool need_reopen= 1; /* To execute the first lap of the loop below */ - /* - lock_tables() reads the contents of thd->lex, so they must be - initialized. Contrary to in - Table_map_log_event::do_apply_event() we don't call - mysql_init_query() as that may reset the binlog format. + Lock_tables() reads the contents of thd->lex, so they must be + initialized. + + We also call the mysql_reset_thd_for_next_command(), since this + is the logical start of the next "statement". Note that this + call might reset the value of current_stmt_binlog_row_based, so + we need to do any changes to that value after this function. */ lex_start(thd); + mysql_reset_thd_for_next_command(thd); - while ((error= lock_tables(thd, rli->tables_to_lock, - rli->tables_to_lock_count, &need_reopen))) + /* + Check if the slave is set to use SBR. If so, it should switch + to using RBR until the end of the "statement", i.e., next + STMT_END_F or next error. + */ + if (!thd->current_stmt_binlog_row_based && + mysql_bin_log.is_open() && (thd->options & OPTION_BIN_LOG)) { - if (!need_reopen) + thd->set_current_stmt_binlog_row_based(); + } + + if (simple_open_n_lock_tables(thd, rli->tables_to_lock)) + { + uint actual_error= thd->main_da.sql_errno(); + if (thd->is_slave_error || thd->is_fatal_error) { - if (thd->is_slave_error || thd->is_fatal_error) - { - /* - Error reporting borrowed from Query_log_event with many excessive - simplifications (we don't honour --slave-skip-errors) - */ - uint actual_error= thd->main_da.sql_errno(); - rli->report(ERROR_LEVEL, actual_error, - "Error '%s' in %s event: when locking tables", - (actual_error ? thd->main_da.message() : - "unexpected success or fatal error"), - ev->get_type_str()); - thd->is_fatal_error= 1; - } - else - { - rli->report(ERROR_LEVEL, error, - "Error in %s event: when locking tables", - ev->get_type_str()); - } - const_cast(rli)->clear_tables_to_lock(); - DBUG_RETURN(error); - } - - /* - So we need to reopen the tables. - - We need to flush the pending RBR event, since it keeps a - pointer to an open table. - - ALTERNATIVE SOLUTION (not implemented): Extract a pointer to - the pending RBR event and reset the table pointer after the - tables has been reopened. - - NOTE: For this new scheme there should be no pending event: - need to add code to assert that is the case. - */ - thd->binlog_flush_pending_rows_event(false); - TABLE_LIST *tables= rli->tables_to_lock; - close_tables_for_reopen(thd, &tables); - - uint tables_count= rli->tables_to_lock_count; - if ((error= open_tables(thd, &tables, &tables_count, 0))) - { - if (thd->is_slave_error || thd->is_fatal_error) - { - /* - Error reporting borrowed from Query_log_event with many excessive - simplifications (we don't honour --slave-skip-errors) - */ - uint actual_error= thd->main_da.sql_errno(); - rli->report(ERROR_LEVEL, actual_error, - "Error '%s' on reopening tables", - (actual_error ? thd->main_da.message() : - "unexpected success or fatal error")); - thd->is_slave_error= 1; - } - const_cast(rli)->clear_tables_to_lock(); - DBUG_RETURN(error); + /* + Error reporting borrowed from Query_log_event with many excessive + simplifications (we don't honour --slave-skip-errors) + */ + rli->report(ERROR_LEVEL, actual_error, + "Error '%s' on opening tables", + (actual_error ? thd->main_da.message() : + "unexpected success or fatal error")); + thd->is_slave_error= 1; } + const_cast(rli)->clear_tables_to_lock(); + DBUG_RETURN(actual_error); } /* diff --git a/sql/my_decimal.h b/sql/my_decimal.h index 1885036f42b..0e79f70ab4e 100644 --- a/sql/my_decimal.h +++ b/sql/my_decimal.h @@ -114,6 +114,14 @@ public: bool sign() const { return decimal_t::sign; } void sign(bool s) { decimal_t::sign= s; } uint precision() const { return intg + frac; } + + /** Swap two my_decimal values */ + void swap(my_decimal &rhs) + { + swap_variables(my_decimal, *this, rhs); + /* Swap the buffer pointers back */ + swap_variables(decimal_digit_t *, buf, rhs.buf); + } }; @@ -169,14 +177,23 @@ inline int check_result_and_overflow(uint mask, int result, my_decimal *val) inline uint my_decimal_length_to_precision(uint length, uint scale, bool unsigned_flag) { - return (uint) (length - (scale>0 ? 1:0) - (unsigned_flag ? 0:1)); + /* Precision can't be negative thus ignore unsigned_flag when length is 0. */ + DBUG_ASSERT(length || !scale); + return (uint) (length - (scale>0 ? 1:0) - + (unsigned_flag || !length ? 0:1)); } inline uint32 my_decimal_precision_to_length(uint precision, uint8 scale, bool unsigned_flag) { + /* + When precision is 0 it means that original length was also 0. Thus + unsigned_flag is ignored in this case. + */ + DBUG_ASSERT(precision || !scale); set_if_smaller(precision, DECIMAL_MAX_PRECISION); - return (uint32)(precision + (scale>0 ? 1:0) + (unsigned_flag ? 0:1)); + return (uint32)(precision + (scale>0 ? 1:0) + + (unsigned_flag || !precision ? 0:1)); } inline diff --git a/sql/mysql_priv.h b/sql/mysql_priv.h index 69f214d95f3..0060e7873e1 100644 --- a/sql/mysql_priv.h +++ b/sql/mysql_priv.h @@ -259,6 +259,21 @@ protected: #define USER_VARS_HASH_SIZE 16 #define TABLE_OPEN_CACHE_MIN 64 #define TABLE_OPEN_CACHE_DEFAULT 64 +#define TABLE_DEF_CACHE_DEFAULT 256 +/** + We must have room for at least 256 table definitions in the table + cache, since otherwise there is no chance prepared + statements that use these many tables can work. + Prepared statements use table definition cache ids (table_map_id) + as table version identifiers. If the table definition + cache size is less than the number of tables used in a statement, + the contents of the table definition cache is guaranteed to rotate + between a prepare and execute. This leads to stable validation + errors. In future we shall use more stable version identifiers, + for now the only solution is to ensure that the table definition + cache can contain at least all tables of a given statement. +*/ +#define TABLE_DEF_CACHE_MIN 256 /* Value of 9236 discovered through binary search 2006-09-26 on Ubuntu Dapper @@ -670,6 +685,31 @@ const char *set_thd_proc_info(THD *thd, const char *info, const char *calling_file, const unsigned int calling_line); +/** + Enumerate possible types of a table from re-execution + standpoint. + TABLE_LIST class has a member of this type. + At prepared statement prepare, this member is assigned a value + as of the current state of the database. Before (re-)execution + of a prepared statement, we check that the value recorded at + prepare matches the type of the object we obtained from the + table definition cache. + + @sa check_and_update_table_version() + @sa Execute_observer + @sa Prepared_statement::reprepare() +*/ + +enum enum_table_ref_type +{ + /** Initial value set by the parser */ + TABLE_REF_NULL= 0, + TABLE_REF_VIEW, + TABLE_REF_BASE_TABLE, + TABLE_REF_I_S_TABLE, + TABLE_REF_TMP_TABLE +}; + /* External variables */ diff --git a/sql/mysqld.cc b/sql/mysqld.cc index 8bafb15eeaa..e34356215e2 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -1948,6 +1948,7 @@ extern "C" sig_handler abort_thread(int sig __attribute__((unused))) static BOOL WINAPI console_event_handler( DWORD type ) { DBUG_ENTER("console_event_handler"); +#ifndef EMBEDDED_LIBRARY if(type == CTRL_C_EVENT) { /* @@ -1956,12 +1957,15 @@ static BOOL WINAPI console_event_handler( DWORD type ) between main thread doing initialization and CTRL-C thread doing cleanup, which can result into crash. */ +#ifndef EMBEDDED_LIBRARY if(hEventShutdown) kill_mysql(); else +#endif sql_print_warning("CTRL-C ignored during startup"); DBUG_RETURN(TRUE); } +#endif DBUG_RETURN(FALSE); } @@ -2841,6 +2845,7 @@ int my_message_sql(uint error, const char *str, myf MyFlags) by the stored procedures code. */ if (thd->spcont && + ! (MyFlags & ME_NO_SP_HANDLER) && thd->spcont->handle_error(error, MYSQL_ERROR::WARN_LEVEL_ERROR, thd)) { /* @@ -2850,7 +2855,8 @@ int my_message_sql(uint error, const char *str, myf MyFlags) DBUG_RETURN(0); } - if (!thd->no_warnings_for_error) + if (!thd->no_warnings_for_error && + !(MyFlags & ME_NO_WARNING_FOR_ERROR)) { /* Suppress infinite recursion if there a memory allocation error @@ -3090,6 +3096,7 @@ SHOW_VAR com_status_vars[]= { {"stmt_execute", (char*) offsetof(STATUS_VAR, com_stmt_execute), SHOW_LONG_STATUS}, {"stmt_fetch", (char*) offsetof(STATUS_VAR, com_stmt_fetch), SHOW_LONG_STATUS}, {"stmt_prepare", (char*) offsetof(STATUS_VAR, com_stmt_prepare), SHOW_LONG_STATUS}, + {"stmt_reprepare", (char*) offsetof(STATUS_VAR, com_stmt_reprepare), SHOW_LONG_STATUS}, {"stmt_reset", (char*) offsetof(STATUS_VAR, com_stmt_reset), SHOW_LONG_STATUS}, {"stmt_send_long_data", (char*) offsetof(STATUS_VAR, com_stmt_send_long_data), SHOW_LONG_STATUS}, {"truncate", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_TRUNCATE]), SHOW_LONG_STATUS}, @@ -3178,7 +3185,7 @@ static int init_common_variables(const char *conf_file_name, int argc, We have few debug-only commands in com_status_vars, only visible in debug builds. for simplicity we enable the assert only in debug builds - There are 7 Com_ variables which don't have corresponding SQLCOM_ values: + There are 8 Com_ variables which don't have corresponding SQLCOM_ values: (TODO strictly speaking they shouldn't be here, should not have Com_ prefix that is. Perhaps Stmt_ ? Comstmt_ ? Prepstmt_ ?) @@ -3187,6 +3194,7 @@ static int init_common_variables(const char *conf_file_name, int argc, Com_stmt_execute => com_stmt_execute Com_stmt_fetch => com_stmt_fetch Com_stmt_prepare => com_stmt_prepare + Com_stmt_reprepare => com_stmt_reprepare Com_stmt_reset => com_stmt_reset Com_stmt_send_long_data => com_stmt_send_long_data @@ -3195,7 +3203,7 @@ static int init_common_variables(const char *conf_file_name, int argc, of SQLCOM_ constants. */ compile_time_assert(sizeof(com_status_vars)/sizeof(com_status_vars[0]) - 1 == - SQLCOM_END + 7); + SQLCOM_END + 8); #endif load_defaults(conf_file_name, groups, &argc, &argv); @@ -3496,7 +3504,9 @@ static int init_thread_environment() (void) pthread_mutex_init(&LOCK_server_started, MY_MUTEX_INIT_FAST); (void) pthread_cond_init(&COND_server_started,NULL); sp_cache_init(); +#ifdef HAVE_EVENT_SCHEDULER Events::init_mutexes(); +#endif /* Parameter for threads created for connections */ (void) pthread_attr_init(&connection_attrib); (void) pthread_attr_setdetachstate(&connection_attrib, @@ -6762,7 +6772,8 @@ The minimum value for this variable is 4096.", {"table_definition_cache", OPT_TABLE_DEF_CACHE, "The number of cached table definitions.", (uchar**) &table_def_size, (uchar**) &table_def_size, - 0, GET_ULONG, REQUIRED_ARG, 128, 1, 512*1024L, 0, 1, 0}, + 0, GET_ULONG, REQUIRED_ARG, TABLE_DEF_CACHE_DEFAULT, TABLE_DEF_CACHE_MIN, + 512*1024L, 0, 1, 0}, {"table_open_cache", OPT_TABLE_OPEN_CACHE, "The number of cached open tables.", (uchar**) &table_cache_size, (uchar**) &table_cache_size, 0, GET_ULONG, @@ -7829,8 +7840,12 @@ mysqld_get_one_option(int optid, } #endif case OPT_EVENT_SCHEDULER: +#ifndef HAVE_EVENT_SCHEDULER + sql_perror("Event scheduler is not supported in embedded build."); +#else if (Events::set_opt_event_scheduler(argument)) exit(1); +#endif break; case (int) OPT_SKIP_NEW: opt_specialflag|= SPECIAL_NO_NEW_FUNC; diff --git a/sql/opt_range.cc b/sql/opt_range.cc index e5709f418f7..b428909d9b7 100644 --- a/sql/opt_range.cc +++ b/sql/opt_range.cc @@ -2314,9 +2314,6 @@ int SQL_SELECT::test_quick_select(THD *thd, key_map keys_to_use, table deletes. */ if ((thd->lex->sql_command != SQLCOM_DELETE)) -#ifdef NOT_USED - if ((thd->lex->sql_command != SQLCOM_UPDATE)) -#endif { /* Get best non-covering ROR-intersection plan and prepare data for diff --git a/sql/set_var.cc b/sql/set_var.cc index 99931d7bafc..7d9d88f0281 100644 --- a/sql/set_var.cc +++ b/sql/set_var.cc @@ -241,7 +241,10 @@ static sys_var_long_ptr sys_delayed_insert_timeout(&vars, "delayed_insert_timeou static sys_var_long_ptr sys_delayed_queue_size(&vars, "delayed_queue_size", &delayed_queue_size); +#ifdef HAVE_EVENT_SCHEDULER static sys_var_event_scheduler sys_event_scheduler(&vars, "event_scheduler"); +#endif + static sys_var_long_ptr sys_expire_logs_days(&vars, "expire_logs_days", &expire_logs_days); static sys_var_bool_ptr sys_flush(&vars, "flush", &myisam_flush); @@ -713,7 +716,7 @@ static uchar *slave_get_report_port(THD *thd) return (uchar*) &thd->sys_var_tmp.long_value; } -static sys_var_readonly sys_repl_report_port(&vars, "report_port", OPT_GLOBAL, SHOW_INT, slave_get_report_port); +static sys_var_readonly sys_repl_report_port(&vars, "report_port", OPT_GLOBAL, SHOW_LONG, slave_get_report_port); #endif @@ -1664,6 +1667,14 @@ bool sys_var::check_set(THD *thd, set_var *var, TYPELIB *enum_names) strmov(buff, "NULL"); goto err; } + + if (!m_allow_empty_value && + res->length() == 0) + { + buff[0]= 0; + goto err; + } + var->save_result.ulong_value= ((ulong) find_set(enum_names, res->c_ptr(), res->length(), @@ -1679,10 +1690,19 @@ bool sys_var::check_set(THD *thd, set_var *var, TYPELIB *enum_names) else { ulonglong tmp= var->value->val_int(); - /* - For when the enum is made to contain 64 elements, as 1ULL<<64 is - undefined, we guard with a "count<64" test. - */ + + if (!m_allow_empty_value && + tmp == 0) + { + buff[0]= '0'; + buff[1]= 0; + goto err; + } + + /* + For when the enum is made to contain 64 elements, as 1ULL<<64 is + undefined, we guard with a "count<64" test. + */ if (unlikely((tmp >= ((ULL(1)) << enum_names->count)) && (enum_names->count < 64))) { @@ -2382,32 +2402,51 @@ static int sys_check_log_path(THD *thd, set_var *var) MY_STAT f_stat; String str(buff, sizeof(buff), system_charset_info), *res; const char *log_file_str; - + size_t path_length; + if (!(res= var->value->val_str(&str))) goto err; log_file_str= res->c_ptr(); bzero(&f_stat, sizeof(MY_STAT)); - (void) unpack_filename(path, log_file_str); + path_length= unpack_filename(path, log_file_str); + + if (!path_length) + { + /* File name is empty. */ + + goto err; + } + if (my_stat(path, &f_stat, MYF(0))) { - /* Check if argument is a file and we have 'write' permission */ + /* + A file system object exists. Check if argument is a file and we have + 'write' permission. + */ + if (!MY_S_ISREG(f_stat.st_mode) || !(f_stat.st_mode & MY_S_IWRITE)) goto err; + + return 0; } - else - { - size_t path_length; - /* - Check if directory exists and - we have permission to create file & write to file - */ - (void) dirname_part(path, log_file_str, &path_length); - if (my_access(path, (F_OK|W_OK))) - goto err; - } + + /* Get dirname of the file path. */ + (void) dirname_part(path, log_file_str, &path_length); + + /* Dirname is empty if file path is relative. */ + if (!path_length) + return 0; + + /* + Check if directory exists and we have permission to create file and + write to file. + */ + if (my_access(path, (F_OK|W_OK))) + goto err; + return 0; err: @@ -4026,13 +4065,12 @@ uchar *sys_var_thd_dbug::value_ptr(THD *thd, enum_var_type type, LEX_STRING *b) return (uchar*) thd->strdup(buf); } - +#ifdef HAVE_EVENT_SCHEDULER bool sys_var_event_scheduler::check(THD *thd, set_var *var) { return check_enum(thd, var, &Events::var_typelib); } - /* The update method of the global variable event_scheduler. If event_scheduler is switched from 0 to 1 then the scheduler main @@ -4071,7 +4109,7 @@ uchar *sys_var_event_scheduler::value_ptr(THD *thd, enum_var_type type, { return (uchar *) Events::get_opt_event_scheduler_str(); } - +#endif /**************************************************************************** Used templates diff --git a/sql/set_var.h b/sql/set_var.h index b33a3a968bb..603c3114d0e 100644 --- a/sql/set_var.h +++ b/sql/set_var.h @@ -74,7 +74,8 @@ public: sys_var(const char *name_arg, sys_after_update_func func= NULL, Binlog_status_enum binlog_status_arg= NOT_IN_BINLOG) :name(name_arg), after_update(func), no_support_one_shot(1), - binlog_status(binlog_status_arg) + binlog_status(binlog_status_arg), + m_allow_empty_value(TRUE) {} virtual ~sys_var() {} void chain_sys_var(sys_var_chain *chain_arg) @@ -109,8 +110,16 @@ public: virtual bool is_readonly() const { return 0; } virtual sys_var_pluginvar *cast_pluginvar() { return 0; } +protected: + void set_allow_empty_value(bool allow_empty_value) + { + m_allow_empty_value= allow_empty_value; + } + private: const Binlog_status_enum binlog_status; + + bool m_allow_empty_value; }; @@ -878,8 +887,11 @@ public: sys_var_log_output(sys_var_chain *chain, const char *name_arg, ulong *value_arg, TYPELIB *typelib, sys_after_update_func func) :sys_var(name_arg,func), value(value_arg), enum_names(typelib) - { chain_sys_var(chain); } - bool check(THD *thd, set_var *var) + { + chain_sys_var(chain); + set_allow_empty_value(FALSE); + } + virtual bool check(THD *thd, set_var *var) { return check_set(thd, var, enum_names); } @@ -1085,7 +1097,7 @@ public: virtual void set_default(THD *thd, enum_var_type type); }; - +#ifdef HAVE_EVENT_SCHEDULER class sys_var_event_scheduler :public sys_var_long_ptr { /* We need a derived class only to have a warn_deprecated() */ @@ -1101,6 +1113,7 @@ public: return type != STRING_RESULT && type != INT_RESULT; } }; +#endif extern void fix_binlog_format_after_update(THD *thd, enum_var_type type); diff --git a/sql/share/errmsg.txt b/sql/share/errmsg.txt index 894e2094968..e03371a308b 100644 --- a/sql/share/errmsg.txt +++ b/sql/share/errmsg.txt @@ -1773,30 +1773,30 @@ ER_BLOB_USED_AS_KEY 42000 S1009 swe "En BLOB '%-.192s' kan inte vara nyckel med den använda tabelltypen" ukr "BLOB ÓÔÏ×ÂÅÃØ '%-.192s' ÎÅ ÍÏÖÅ ÂÕÔÉ ×ÉËÏÒÉÓÔÁÎÉÊ Õ ×ÉÚÎÁÞÅÎΦ ËÌÀÞÁ × ÃØÏÍÕ ÔÉЦ ÔÁÂÌÉæ" ER_TOO_BIG_FIELDLENGTH 42000 S1009 - cze "P-Bøíli¹ velká délka sloupce '%-.192s' (nejvíce %d). Pou¾ijte BLOB" - dan "For stor feltlængde for kolonne '%-.192s' (maks = %d). Brug BLOB i stedet" - nla "Te grote kolomlengte voor '%-.192s' (max = %d). Maak hiervoor gebruik van het type BLOB" - eng "Column length too big for column '%-.192s' (max = %d); use BLOB or TEXT instead" - jps "column '%-.192s' ‚Í,Šm•Û‚·‚é column ‚̑傫‚³‚ª‘½‚·‚¬‚Ü‚·. (Å‘å %d ‚Ü‚Å). BLOB ‚ð‚©‚í‚è‚ÉŽg—p‚µ‚Ä‚­‚¾‚³‚¢.", - est "Tulba '%-.192s' pikkus on liiga pikk (maksimaalne pikkus: %d). Kasuta BLOB väljatüüpi" - fre "Champ '%-.192s' trop long (max = %d). Utilisez un BLOB" - ger "Feldlänge für Feld '%-.192s' zu groß (maximal %d). BLOB- oder TEXT-Spaltentyp verwenden!" - greek "Ðïëý ìåãÜëï ìÞêïò ãéá ôï ðåäßï '%-.192s' (max = %d). Ðáñáêáëþ ÷ñçóéìïðïéåßóôå ôïí ôýðï BLOB" - hun "A(z) '%-.192s' oszlop tul hosszu. (maximum = %d). Hasznaljon BLOB tipust inkabb." - ita "La colonna '%-.192s' e` troppo grande (max=%d). Utilizza un BLOB." - jpn "column '%-.192s' ¤Ï,³ÎÊݤ¹¤ë column ¤ÎÂ礭¤µ¤¬Â¿¤¹¤®¤Þ¤¹. (ºÇÂç %d ¤Þ¤Ç). BLOB ¤ò¤«¤ï¤ê¤Ë»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤." - kor "Ä®·³ '%-.192s'ÀÇ Ä®·³ ±æÀ̰¡ ³Ê¹« ±é´Ï´Ù (ÃÖ´ë = %d). ´ë½Å¿¡ BLOB¸¦ »ç¿ëÇϼ¼¿ä." - nor "For stor nøkkellengde for kolonne '%-.192s' (maks = %d). Bruk BLOB istedenfor" - norwegian-ny "For stor nykkellengde for felt '%-.192s' (maks = %d). Bruk BLOB istadenfor" - pol "Zbyt du¿a d³ugo?æ kolumny '%-.192s' (maks. = %d). W zamian u¿yj typu BLOB" - por "Comprimento da coluna '%-.192s' grande demais (max = %d); use BLOB em seu lugar" - rum "Lungimea coloanei '%-.192s' este prea lunga (maximum = %d). Foloseste BLOB mai bine" - rus "óÌÉÛËÏÍ ÂÏÌØÛÁÑ ÄÌÉÎÁ ÓÔÏÌÂÃÁ '%-.192s' (ÍÁËÓÉÍÕÍ = %d). éÓÐÏÌØÚÕÊÔÅ ÔÉÐ BLOB ÉÌÉ TEXT ×ÍÅÓÔÏ ÔÅËÕÝÅÇÏ" - serbian "Previše podataka za kolonu '%-.192s' (maksimum je %d). Upotrebite BLOB polje" - slo "Príli¹ veµká då¾ka pre pole '%-.192s' (maximum = %d). Pou¾ite BLOB" - spa "Longitud de columna demasiado grande para la columna '%-.192s' (maximo = %d).Usar BLOB en su lugar" - swe "För stor kolumnlängd angiven för '%-.192s' (max= %d). Använd en BLOB instället" - ukr "úÁÄÏ×ÇÁ ÄÏ×ÖÉÎÁ ÓÔÏ×ÂÃÑ '%-.192s' (max = %d). ÷ÉËÏÒÉÓÔÁÊÔÅ ÔÉÐ BLOB" + cze "P-Bøíli¹ velká délka sloupce '%-.192s' (nejvíce %lu). Pou¾ijte BLOB" + dan "For stor feltlængde for kolonne '%-.192s' (maks = %lu). Brug BLOB i stedet" + nla "Te grote kolomlengte voor '%-.192s' (max = %lu). Maak hiervoor gebruik van het type BLOB" + eng "Column length too big for column '%-.192s' (max = %lu); use BLOB or TEXT instead" + jps "column '%-.192s' ‚Í,Šm•Û‚·‚é column ‚̑傫‚³‚ª‘½‚·‚¬‚Ü‚·. (Å‘å %lu ‚Ü‚Å). BLOB ‚ð‚©‚í‚è‚ÉŽg—p‚µ‚Ä‚­‚¾‚³‚¢.", + est "Tulba '%-.192s' pikkus on liiga pikk (maksimaalne pikkus: %lu). Kasuta BLOB väljatüüpi" + fre "Champ '%-.192s' trop long (max = %lu). Utilisez un BLOB" + ger "Feldlänge für Feld '%-.192s' zu groß (maximal %lu). BLOB- oder TEXT-Spaltentyp verwenden!" + greek "Ðïëý ìåãÜëï ìÞêïò ãéá ôï ðåäßï '%-.192s' (max = %lu). Ðáñáêáëþ ÷ñçóéìïðïéåßóôå ôïí ôýðï BLOB" + hun "A(z) '%-.192s' oszlop tul hosszu. (maximum = %lu). Hasznaljon BLOB tipust inkabb." + ita "La colonna '%-.192s' e` troppo grande (max=%lu). Utilizza un BLOB." + jpn "column '%-.192s' ¤Ï,³ÎÊݤ¹¤ë column ¤ÎÂ礭¤µ¤¬Â¿¤¹¤®¤Þ¤¹. (ºÇÂç %lu ¤Þ¤Ç). BLOB ¤ò¤«¤ï¤ê¤Ë»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤." + kor "Ä®·³ '%-.192s'ÀÇ Ä®·³ ±æÀ̰¡ ³Ê¹« ±é´Ï´Ù (ÃÖ´ë = %lu). ´ë½Å¿¡ BLOB¸¦ »ç¿ëÇϼ¼¿ä." + nor "For stor nøkkellengde for kolonne '%-.192s' (maks = %lu). Bruk BLOB istedenfor" + norwegian-ny "For stor nykkellengde for felt '%-.192s' (maks = %lu). Bruk BLOB istadenfor" + pol "Zbyt du¿a d³ugo?æ kolumny '%-.192s' (maks. = %lu). W zamian u¿yj typu BLOB" + por "Comprimento da coluna '%-.192s' grande demais (max = %lu); use BLOB em seu lugar" + rum "Lungimea coloanei '%-.192s' este prea lunga (maximum = %lu). Foloseste BLOB mai bine" + rus "óÌÉÛËÏÍ ÂÏÌØÛÁÑ ÄÌÉÎÁ ÓÔÏÌÂÃÁ '%-.192s' (ÍÁËÓÉÍÕÍ = %lu). éÓÐÏÌØÚÕÊÔÅ ÔÉÐ BLOB ÉÌÉ TEXT ×ÍÅÓÔÏ ÔÅËÕÝÅÇÏ" + serbian "Previše podataka za kolonu '%-.192s' (maksimum je %lu). Upotrebite BLOB polje" + slo "Príli¹ veµká då¾ka pre pole '%-.192s' (maximum = %lu). Pou¾ite BLOB" + spa "Longitud de columna demasiado grande para la columna '%-.192s' (maximo = %lu).Usar BLOB en su lugar" + swe "För stor kolumnlängd angiven för '%-.192s' (max= %lu). Använd en BLOB instället" + ukr "úÁÄÏ×ÇÁ ÄÏ×ÖÉÎÁ ÓÔÏ×ÂÃÑ '%-.192s' (max = %lu). ÷ÉËÏÒÉÓÔÁÊÔÅ ÔÉÐ BLOB" ER_WRONG_AUTO_KEY 42000 S1009 cze "M-Bù¾ete mít pouze jedno AUTO pole a to musí být definováno jako klíè" dan "Der kan kun specificeres eet AUTO_INCREMENT-felt, og det skal være indekseret" @@ -5513,11 +5513,11 @@ ER_SP_NO_RECURSION eng "Recursive stored functions and triggers are not allowed." ger "Rekursive gespeicherte Routinen und Triggers sind nicht erlaubt" ER_TOO_BIG_SCALE 42000 S1009 - eng "Too big scale %d specified for column '%-.192s'. Maximum is %d." - ger "Zu großer Skalierungsfaktor %d für Feld '%-.192s' angegeben. Maximum ist %d" + eng "Too big scale %d specified for column '%-.192s'. Maximum is %lu." + ger "Zu großer Skalierungsfaktor %d für Feld '%-.192s' angegeben. Maximum ist %lu" ER_TOO_BIG_PRECISION 42000 S1009 - eng "Too big precision %d specified for column '%-.192s'. Maximum is %d." - ger "Zu große Genauigkeit %d für Feld '%-.192s' angegeben. Maximum ist %d" + eng "Too big precision %d specified for column '%-.192s'. Maximum is %lu." + ger "Zu große Genauigkeit %d für Feld '%-.192s' angegeben. Maximum ist %lu" ER_M_BIGGER_THAN_D 42000 S1009 eng "For float(M,D), double(M,D) or decimal(M,D), M must be >= D (column '%-.192s')." ger "Für FLOAT(M,D), DOUBLE(M,D) oder DECIMAL(M,D) muss M >= D sein (Feld '%-.192s')" @@ -5555,8 +5555,8 @@ ER_WARN_CANT_DROP_DEFAULT_KEYCACHE eng "Cannot drop default keycache" ger "Der vorgabemäßige Schlüssel-Cache kann nicht gelöscht werden" ER_TOO_BIG_DISPLAYWIDTH 42000 S1009 - eng "Display width out of range for column '%-.192s' (max = %d)" - ger "Anzeigebreite außerhalb des zulässigen Bereichs für Spalte '%-.192s' (Maximum: %d)" + eng "Display width out of range for column '%-.192s' (max = %lu)" + ger "Anzeigebreite außerhalb des zulässigen Bereichs für Spalte '%-.192s' (Maximum: %lu)" ER_XAER_DUPID XAE08 eng "XAER_DUPID: The XID already exists" ger "XAER_DUPID: Die XID existiert bereits" @@ -6121,8 +6121,12 @@ ER_NO_FORMAT_DESCRIPTION_EVENT_BEFORE_BINLOG_STATEMENT eng "The BINLOG statement of type `%s` was not preceded by a format description BINLOG statement." ER_SLAVE_CORRUPT_EVENT eng "Corrupted replication event was detected" + ER_LOAD_DATA_INVALID_COLUMN eng "Invalid column reference (%-.64s) in LOAD DATA" ER_LOG_PURGE_NO_FILE eng "Being purged log %s was not found" + +ER_NEED_REPREPARE + eng "Prepared statement needs to be re-prepared" diff --git a/sql/sp.cc b/sql/sp.cc index 69eae8de207..a1e5e1291ae 100644 --- a/sql/sp.cc +++ b/sql/sp.cc @@ -24,7 +24,8 @@ static bool create_string(THD *thd, String *buf, int sp_type, - sp_name *name, + const char *db, ulong dblen, + const char *name, ulong namelen, const char *params, ulong paramslen, const char *returns, ulong returnslen, const char *body, ulong bodylen, @@ -588,12 +589,13 @@ db_load_routine(THD *thd, int type, sp_name *name, sp_head **sphp, */ if (!create_string(thd, &defstr, - type, - name, - params, strlen(params), - returns, strlen(returns), - body, strlen(body), - &chistics, &definer_user_name, &definer_host_name)) + type, + NULL, 0, + name->m_name.str, name->m_name.length, + params, strlen(params), + returns, strlen(returns), + body, strlen(body), + &chistics, &definer_user_name, &definer_host_name)) { ret= SP_INTERNAL_ERROR; goto end; @@ -732,6 +734,7 @@ sp_create_routine(THD *thd, int type, sp_head *sp) DBUG_ENTER("sp_create_routine"); DBUG_PRINT("enter", ("type: %d name: %.*s",type, (int) sp->m_name.length, sp->m_name.str)); + String retstr(64); DBUG_ASSERT(type == TYPE_ENUM_PROCEDURE || type == TYPE_ENUM_FUNCTION); @@ -819,7 +822,6 @@ sp_create_routine(THD *thd, int type, sp_head *sp) if (sp->m_type == TYPE_ENUM_FUNCTION) { - String retstr(64); sp_returns_type(thd, retstr, sp); store_failed= store_failed || @@ -919,17 +921,21 @@ sp_create_routine(THD *thd, int type, sp_head *sp) String log_query; log_query.set_charset(system_charset_info); - log_query.append(STRING_WITH_LEN("CREATE ")); - append_definer(thd, &log_query, &thd->lex->definer->user, - &thd->lex->definer->host); - LEX_STRING stmt_definition; - stmt_definition.str= (char*) thd->lex->stmt_definition_begin; - stmt_definition.length= thd->lex->stmt_definition_end - - thd->lex->stmt_definition_begin; - trim_whitespace(thd->charset(), & stmt_definition); - - log_query.append(stmt_definition.str, stmt_definition.length); + if (!create_string(thd, &log_query, + sp->m_type, + (sp->m_explicit_name ? sp->m_db.str : NULL), + (sp->m_explicit_name ? sp->m_db.length : 0), + sp->m_name.str, sp->m_name.length, + sp->m_params.str, sp->m_params.length, + retstr.c_ptr(), retstr.length(), + sp->m_body.str, sp->m_body.length, + sp->m_chistics, &(thd->lex->definer->user), + &(thd->lex->definer->host))) + { + ret= SP_INTERNAL_ERROR; + goto done; + } /* Such a statement can always go directly to binlog, no trans cache */ thd->binlog_query(THD::MYSQL_QUERY_TYPE, @@ -1070,210 +1076,6 @@ sp_update_routine(THD *thd, int type, sp_name *name, st_sp_chistics *chistics) } -struct st_used_field -{ - const char *field_name; - uint field_length; - enum enum_field_types field_type; - Field *field; -}; - -static struct st_used_field init_fields[]= -{ - { "Db", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0}, - { "Name", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0}, - { "Type", 9, MYSQL_TYPE_STRING, 0}, - { "Definer", USER_HOST_BUFF_SIZE, MYSQL_TYPE_STRING, 0}, - { "Modified", 0, MYSQL_TYPE_TIMESTAMP, 0}, - { "Created", 0, MYSQL_TYPE_TIMESTAMP, 0}, - { "Security_type", 1, MYSQL_TYPE_STRING, 0}, - { "Comment", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0}, - { "character_set_client", MY_CS_NAME_SIZE, MYSQL_TYPE_STRING, 0}, - { "collation_connection", MY_CS_NAME_SIZE, MYSQL_TYPE_STRING, 0}, - { "Database Collation", MY_CS_NAME_SIZE, MYSQL_TYPE_STRING, 0}, - { 0, 0, MYSQL_TYPE_STRING, 0} -}; - - -static int -print_field_values(THD *thd, TABLE *table, - struct st_used_field *used_fields, - int type, const char *wild) -{ - Protocol *protocol= thd->protocol; - - if (table->field[MYSQL_PROC_MYSQL_TYPE]->val_int() == type) - { - String db_string; - String name_string; - struct st_used_field *used_field= used_fields; - - if (get_field(thd->mem_root, used_field->field, &db_string)) - db_string.set_ascii("", 0); - used_field+= 1; - get_field(thd->mem_root, used_field->field, &name_string); - - if (!wild || !wild[0] || !wild_compare(name_string.ptr(), wild, 0)) - { - protocol->prepare_for_resend(); - protocol->store(&db_string); - protocol->store(&name_string); - for (used_field++; - used_field->field_name; - used_field++) - { - switch (used_field->field_type) { - case MYSQL_TYPE_TIMESTAMP: - { - MYSQL_TIME tmp_time; - - bzero((char *)&tmp_time, sizeof(tmp_time)); - ((Field_timestamp *) used_field->field)->get_time(&tmp_time); - protocol->store(&tmp_time); - } - break; - default: - { - String tmp_string; - - get_field(thd->mem_root, used_field->field, &tmp_string); - protocol->store(&tmp_string); - } - break; - } - } - if (protocol->write()) - return SP_INTERNAL_ERROR; - } - } - - return SP_OK; -} - - -/** - Implement SHOW STATUS statement for stored routines. - - @param thd Thread context. - @param type Stored routine type - (TYPE_ENUM_PROCEDURE or TYPE_ENUM_FUNCTION) - @param name_pattern Stored routine name pattern. - - @return Error code. SP_OK is returned on success. Other SP_ constants are - used to indicate about errors. -*/ - -int -sp_show_status_routine(THD *thd, int type, const char *name_pattern) -{ - TABLE *table; - TABLE_LIST tables; - int res; - DBUG_ENTER("sp_show_status_routine"); - - DBUG_ASSERT(type == TYPE_ENUM_PROCEDURE || - type == TYPE_ENUM_FUNCTION); - - memset(&tables, 0, sizeof(tables)); - tables.db= (char*)"mysql"; - tables.table_name= tables.alias= (char*)"proc"; - - if (! (table= open_ltable(thd, &tables, TL_READ, 0))) - { - res= SP_OPEN_TABLE_FAILED; - goto done; - } - else - { - Item *item; - List field_list; - struct st_used_field *used_field; - TABLE_LIST *leaves= 0; - st_used_field used_fields[array_elements(init_fields)]; - - table->use_all_columns(); - memcpy((char*) used_fields, (char*) init_fields, sizeof(used_fields)); - /* Init header */ - for (used_field= &used_fields[0]; - used_field->field_name; - used_field++) - { - switch (used_field->field_type) { - case MYSQL_TYPE_TIMESTAMP: - item= new Item_return_date_time(used_field->field_name, - MYSQL_TYPE_DATETIME); - field_list.push_back(item); - break; - default: - item= new Item_empty_string(used_field->field_name, - used_field->field_length); - field_list.push_back(item); - break; - } - } - /* Print header */ - if (thd->protocol->send_fields(&field_list, Protocol::SEND_NUM_ROWS | - Protocol::SEND_EOF)) - { - res= SP_INTERNAL_ERROR; - goto err_case; - } - - /* - Init fields - - tables is not VIEW for sure => we can pass 0 as condition - */ - thd->lex->select_lex.context.resolve_in_table_list_only(&tables); - setup_tables(thd, &thd->lex->select_lex.context, - &thd->lex->select_lex.top_join_list, - &tables, &leaves, FALSE); - for (used_field= &used_fields[0]; - used_field->field_name; - used_field++) - { - Item_field *field= new Item_field(&thd->lex->select_lex.context, - "mysql", "proc", - used_field->field_name); - if (!field || - !(used_field->field= find_field_in_tables(thd, field, &tables, NULL, - 0, REPORT_ALL_ERRORS, 1, - TRUE))) - { - res= SP_INTERNAL_ERROR; - goto err_case1; - } - } - - table->file->ha_index_init(0, 1); - if ((res= table->file->index_first(table->record[0]))) - { - res= (res == HA_ERR_END_OF_FILE) ? 0 : SP_INTERNAL_ERROR; - goto err_case1; - } - - do - { - res= print_field_values(thd, table, used_fields, type, name_pattern); - - if (res) - goto err_case1; - } - while (!table->file->index_next(table->record[0])); - - res= SP_OK; - } - -err_case1: - my_eof(thd); -err_case: - table->file->ha_index_end(); - close_thread_tables(thd); -done: - DBUG_RETURN(res); -} - - /** Drop all routines in database 'db' @@ -2068,17 +1870,18 @@ sp_cache_routines_and_add_tables_for_triggers(THD *thd, LEX *lex, */ static bool create_string(THD *thd, String *buf, - int type, - sp_name *name, - const char *params, ulong paramslen, - const char *returns, ulong returnslen, - const char *body, ulong bodylen, - st_sp_chistics *chistics, + int type, + const char *db, ulong dblen, + const char *name, ulong namelen, + const char *params, ulong paramslen, + const char *returns, ulong returnslen, + const char *body, ulong bodylen, + st_sp_chistics *chistics, const LEX_STRING *definer_user, const LEX_STRING *definer_host) { /* Make some room to begin with */ - if (buf->alloc(100 + name->m_qname.length + paramslen + returnslen + bodylen + + if (buf->alloc(100 + dblen + 1 + namelen + paramslen + returnslen + bodylen + chistics->comment.length + 10 /* length of " DEFINER= "*/ + USER_HOST_BUFF_SIZE)) return FALSE; @@ -2089,7 +1892,12 @@ create_string(THD *thd, String *buf, buf->append(STRING_WITH_LEN("FUNCTION ")); else buf->append(STRING_WITH_LEN("PROCEDURE ")); - append_identifier(thd, buf, name->m_name.str, name->m_name.length); + if (dblen > 0) + { + append_identifier(thd, buf, db, dblen); + buf->append('.'); + } + append_identifier(thd, buf, name, namelen); buf->append('('); buf->append(params, paramslen); buf->append(')'); diff --git a/sql/sp.h b/sql/sp.h index 31173e1f90c..75088ea0b83 100644 --- a/sql/sp.h +++ b/sql/sp.h @@ -48,9 +48,6 @@ sp_routine_exists_in_table(THD *thd, int type, sp_name *name); bool sp_show_create_routine(THD *thd, int type, sp_name *name); -int -sp_show_status_routine(THD *thd, int type, const char *wild); - int sp_create_routine(THD *thd, int type, sp_head *sp); diff --git a/sql/sp_head.cc b/sql/sp_head.cc index 8bd10e00f15..c450c9dd25d 100644 --- a/sql/sp_head.cc +++ b/sql/sp_head.cc @@ -561,6 +561,8 @@ sp_head::init(LEX *lex) m_qname.str= NULL; m_qname.length= 0; + m_explicit_name= false; + m_db.str= NULL; m_db.length= 0; @@ -603,6 +605,8 @@ sp_head::init_sp_name(THD *thd, sp_name *spname) m_name.str= strmake_root(thd->mem_root, spname->m_name.str, spname->m_name.length); + m_explicit_name= spname->m_explicit_name; + if (spname->m_qname.length == 0) spname->init_qname(thd); @@ -1068,6 +1072,7 @@ sp_head::execute(THD *thd) LEX *old_lex; Item_change_list old_change_list; String old_packet; + Reprepare_observer *save_reprepare_observer= thd->m_reprepare_observer; Object_creation_ctx *saved_creation_ctx; @@ -1135,6 +1140,25 @@ sp_head::execute(THD *thd) thd->variables.sql_mode= m_sql_mode; save_abort_on_warning= thd->abort_on_warning; thd->abort_on_warning= 0; + /** + When inside a substatement (a stored function or trigger + statement), clear the metadata observer in THD, if any. + Remember the value of the observer here, to be able + to restore it when leaving the substatement. + + We reset the observer to suppress errors when a substatement + uses temporary tables. If a temporary table does not exist + at start of the main statement, it's not prelocked + and thus is not validated with other prelocked tables. + + Later on, when the temporary table is opened, metadata + versions mismatch, expectedly. + + The proper solution for the problem is to re-validate tables + of substatements (Bug#12257, Bug#27011, Bug#32868, Bug#33000), + but it's not implemented yet. + */ + thd->m_reprepare_observer= 0; /* It is also more efficient to save/restore current thd->lex once when @@ -1297,6 +1321,7 @@ sp_head::execute(THD *thd) thd->derived_tables= old_derived_tables; thd->variables.sql_mode= save_sql_mode; thd->abort_on_warning= save_abort_on_warning; + thd->m_reprepare_observer= save_reprepare_observer; thd->stmt_arena= old_arena; state= EXECUTED; diff --git a/sql/sp_head.h b/sql/sp_head.h index 8d7062740c8..3d7597e2402 100644 --- a/sql/sp_head.h +++ b/sql/sp_head.h @@ -180,6 +180,7 @@ public: st_sp_chistics *m_chistics; ulong m_sql_mode; ///< For SHOW CREATE and execution LEX_STRING m_qname; ///< db.name + bool m_explicit_name; ///< Prepend the db name? */ /** Key representing routine in the set of stored routines used by statement. [routine_type]db.name diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc index 92eb68dc2fa..0b33abcfba2 100644 --- a/sql/sql_acl.cc +++ b/sql/sql_acl.cc @@ -695,6 +695,8 @@ my_bool acl_reload(THD *thd) tables[0].next_local= tables[0].next_global= tables+1; tables[1].next_local= tables[1].next_global= tables+2; tables[0].lock_type=tables[1].lock_type=tables[2].lock_type=TL_READ; + tables[0].skip_temporary= tables[1].skip_temporary= + tables[2].skip_temporary= TRUE; if (simple_open_n_lock_tables(thd, tables)) { @@ -3537,7 +3539,7 @@ static my_bool grant_load_procs_priv(TABLE *p_table) bool check_no_resolve= specialflag & SPECIAL_NO_RESOLVE; MEM_ROOT **save_mem_root_ptr= my_pthread_getspecific_ptr(MEM_ROOT**, THR_MALLOC); - DBUG_ENTER("grant_load"); + DBUG_ENTER("grant_load_procs_priv"); (void) hash_init(&proc_priv_hash,system_charset_info, 0,0,0, (hash_get_key) get_grant_table, 0,0); @@ -3721,6 +3723,7 @@ static my_bool grant_reload_procs_priv(THD *thd) table.alias= table.table_name= (char*) "procs_priv"; table.db= (char *) "mysql"; table.lock_type= TL_READ; + table.skip_temporary= 1; if (simple_open_n_lock_tables(thd, &table)) { @@ -3786,7 +3789,7 @@ my_bool grant_reload(THD *thd) tables[0].db= tables[1].db= (char *) "mysql"; tables[0].next_local= tables[0].next_global= tables+1; tables[0].lock_type= tables[1].lock_type= TL_READ; - + tables[0].skip_temporary= tables[1].skip_temporary= TRUE; /* To avoid deadlocks we should obtain table locks before obtaining LOCK_grant rwlock. diff --git a/sql/sql_base.cc b/sql/sql_base.cc index 3f0c1ee8a80..d25057789ac 100644 --- a/sql/sql_base.cc +++ b/sql/sql_base.cc @@ -345,26 +345,9 @@ TABLE_SHARE *get_table_share(THD *thd, TABLE_LIST *table_list, char *key, if (!(share= alloc_table_share(table_list, key, key_length))) { -#ifdef WAITING_FOR_TABLE_DEF_CACHE_STAGE_3 - pthread_mutex_unlock(&LOCK_open); -#endif DBUG_RETURN(0); } -#ifdef WAITING_FOR_TABLE_DEF_CACHE_STAGE_3 - // We need a write lock to be able to add a new entry - pthread_mutex_unlock(&LOCK_open); - pthread_mutex_lock(&LOCK_open); - /* Check that another thread didn't insert the same table in between */ - if ((old_share= hash_search(&table_def_cache, (uchar*) key, key_length))) - { - (void) pthread_mutex_lock(&share->mutex); - free_table_share(share); - share= old_share; - goto found; - } -#endif - /* Lock mutex to be able to read table definition from file without conflicts @@ -388,29 +371,11 @@ TABLE_SHARE *get_table_share(THD *thd, TABLE_LIST *table_list, char *key, if (my_hash_insert(&table_def_cache, (uchar*) share)) { -#ifdef WAITING_FOR_TABLE_DEF_CACHE_STAGE_3 - pthread_mutex_unlock(&LOCK_open); - (void) pthread_mutex_unlock(&share->mutex); -#endif free_table_share(share); DBUG_RETURN(0); // return error } -#ifdef WAITING_FOR_TABLE_DEF_CACHE_STAGE_3 - pthread_mutex_unlock(&LOCK_open); -#endif if (open_table_def(thd, share, db_flags)) { -#ifdef WAITING_FOR_TABLE_DEF_CACHE_STAGE_3 - /* - No such table or wrong table definition file - Lock first the table cache and then the mutex. - This will ensure that no other thread is using the share - structure. - */ - (void) pthread_mutex_unlock(&share->mutex); - (void) pthread_mutex_lock(&LOCK_open); - (void) pthread_mutex_lock(&share->mutex); -#endif *error= share->error; (void) hash_delete(&table_def_cache, (uchar*) share); DBUG_RETURN(0); @@ -429,9 +394,6 @@ found: /* We must do a lock to ensure that the structure is initialized */ (void) pthread_mutex_lock(&share->mutex); -#ifdef WAITING_FOR_TABLE_DEF_CACHE_STAGE_3 - pthread_mutex_unlock(&LOCK_open); -#endif if (share->error) { /* Table definition contained an error */ @@ -618,52 +580,6 @@ void release_table_share(TABLE_SHARE *share, enum release_type type) } pthread_mutex_unlock(&share->mutex); DBUG_VOID_RETURN; - - -#ifdef WAITING_FOR_TABLE_DEF_CACHE_STAGE_3 - if (to_be_deleted) - { - /* - We must try again with new locks as we must get LOCK_open - before share->mutex - */ - pthread_mutex_unlock(&share->mutex); - pthread_mutex_lock(&LOCK_open); - pthread_mutex_lock(&share->mutex); - if (!share->ref_count) - { // No one is using this now - TABLE_SHARE *name_lock; - if (share->replace_with_name_lock && (name_lock=get_name_lock(share))) - { - /* - This code is execured when someone does FLUSH TABLES while on has - locked tables. - */ - (void) hash_search(&def_cache,(uchar*) key,key_length); - hash_replace(&def_cache, def_cache.current_record,(uchar*) name_lock); - } - else - { - /* Remove table definition */ - hash_delete(&def_cache,(uchar*) share); - } - pthread_mutex_unlock(&LOCK_open); - free_table_share(share); - } - else - { - pthread_mutex_unlock(&LOCK_open); - if (type == RELEASE_WAIT_FOR_DROP) - wait_for_table(share, "Waiting for close"); - else - pthread_mutex_unlock(&share->mutex); - } - } - else if (type == RELEASE_WAIT_FOR_DROP) - wait_for_table(share, "Waiting for close"); - else - pthread_mutex_unlock(&share->mutex); -#endif } @@ -3801,6 +3717,73 @@ void assign_new_table_id(TABLE_SHARE *share) DBUG_VOID_RETURN; } + +/** + Compare metadata versions of an element obtained from the table + definition cache and its corresponding node in the parse tree. + + @details If the new and the old values mismatch, invoke + Metadata_version_observer. + At prepared statement prepare, all TABLE_LIST version values are + NULL and we always have a mismatch. But there is no observer set + in THD, and therefore no error is reported. Instead, we update + the value in the parse tree, effectively recording the original + version. + At prepared statement execute, an observer may be installed. If + there is a version mismatch, we push an error and return TRUE. + + For conventional execution (no prepared statements), the + observer is never installed. + + @sa Execute_observer + @sa check_prepared_statement() to see cases when an observer is installed + @sa TABLE_LIST::is_table_ref_id_equal() + @sa TABLE_SHARE::get_table_ref_id() + + @param[in] thd used to report errors + @param[in,out] tables TABLE_LIST instance created by the parser + Metadata version information in this object + is updated upon success. + @param[in] table_share an element from the table definition cache + + @retval TRUE an error, which has been reported + @retval FALSE success, version in TABLE_LIST has been updated +*/ + +bool +check_and_update_table_version(THD *thd, + TABLE_LIST *tables, TABLE_SHARE *table_share) +{ + if (! tables->is_table_ref_id_equal(table_share)) + { + if (thd->m_reprepare_observer && + thd->m_reprepare_observer->report_error(thd)) + { + /* + Version of the table share is different from the + previous execution of the prepared statement, and it is + unacceptable for this SQLCOM. Error has been reported. + */ + DBUG_ASSERT(thd->is_error()); + return TRUE; + } + /* Always maintain the latest version and type */ + tables->set_table_ref_id(table_share); + } + +#ifndef DBUG_OFF + /* Spuriously reprepare each statement. */ + if (_db_strict_keyword_("reprepare_each_statement") && + thd->m_reprepare_observer && thd->stmt_arena->is_reprepared == FALSE) + { + thd->m_reprepare_observer->report_error(thd); + return TRUE; + } +#endif + + return FALSE; +} + /* Load a table definition from file and open unireg table @@ -3846,6 +3829,12 @@ retry: if (share->is_view) { + /* + This table is a view. Validate its metadata version: in particular, + that it was a view when the statement was prepared. + */ + if (check_and_update_table_version(thd, table_list, share)) + goto err; if (table_list->i_s_requested_object & OPEN_TABLE_ONLY) goto err; @@ -3863,6 +3852,26 @@ retry: release_table_share(share, RELEASE_NORMAL); DBUG_RETURN((flags & OPEN_VIEW_NO_PARSE)? -1 : 0); } + else if (table_list->view) + { + /* + We're trying to open a table for what was a view. + This can only happen during (re-)execution. + At prepared statement prepare the view has been opened and + merged into the statement parse tree. After that, someone + performed a DDL and replaced the view with a base table. + Don't try to open the table inside a prepared statement, + invalidate it instead. + + Note, the assert below is known to fail inside stored + procedures (Bug#27011). + */ + DBUG_ASSERT(thd->m_reprepare_observer); + check_and_update_table_version(thd, table_list, share); + /* Always an error. */ + DBUG_ASSERT(thd->is_error()); + goto err; + } if (table_list->i_s_requested_object & OPEN_VIEW_ONLY) goto err; @@ -4367,6 +4376,11 @@ bool fix_merge_after_open(TABLE_LIST *old_child_list, TABLE_LIST **old_last, prelocking it won't do such precaching and will simply reuse table list which is already built. + If any table has a trigger and start->trg_event_map is non-zero + the final lock will end up in thd->locked_tables, otherwise, the + lock will be placed in thd->lock. See also comments in + st_lex::set_trg_event_type_for_tables(). + RETURN 0 - OK -1 - error @@ -4459,8 +4473,18 @@ int open_tables(THD *thd, TABLE_LIST **start, uint *counter, uint flags) */ if (tables->schema_table) { - if (!mysql_schema_table(thd, thd->lex, tables)) + /* + If this information_schema table is merged into a mergeable + view, ignore it for now -- it will be filled when its respective + TABLE_LIST is processed. This code works only during re-execution. + */ + if (tables->view) + goto process_view_routines; + if (!mysql_schema_table(thd, thd->lex, tables) && + !check_and_update_table_version(thd, tables, tables->table->s)) + { continue; + } DBUG_RETURN(-1); } (*counter)++; @@ -4579,7 +4603,7 @@ int open_tables(THD *thd, TABLE_LIST **start, uint *counter, uint flags) process its triggers since they never will be activated. */ if (!thd->prelocked_mode && !thd->lex->requires_prelocking() && - tables->table->triggers && + tables->trg_event_map && tables->table->triggers && tables->lock_type >= TL_WRITE_ALLOW_WRITE) { if (!query_tables_last_own) @@ -4608,6 +4632,13 @@ int open_tables(THD *thd, TABLE_LIST **start, uint *counter, uint flags) } tables->table->grant= tables->grant; + /* Check and update metadata version of a base table. */ + if (check_and_update_table_version(thd, tables, tables->table->s)) + { + result= -1; + goto err; + } + /* Attach MERGE children if not locked already. */ DBUG_PRINT("tcache", ("is parent: %d is child: %d", test(tables->table->child_l), @@ -4666,7 +4697,11 @@ process_view_routines: error happens on a MERGE child, clear the parents TABLE reference. */ if (tables->parent_l) + { + if (tables->parent_l->next_global == tables->parent_l->table->child_l) + tables->parent_l->next_global= *tables->parent_l->table->child_last_l; tables->parent_l->table= NULL; + } tables->table= NULL; } DBUG_PRINT("tcache", ("returning: %d", result)); diff --git a/sql/sql_class.cc b/sql/sql_class.cc index db2bbcad788..afa9777e00a 100644 --- a/sql/sql_class.cc +++ b/sql/sql_class.cc @@ -198,6 +198,19 @@ bool foreign_key_prefix(Key *a, Key *b) ** Thread specific functions ****************************************************************************/ +/** Push an error to the error stack and return TRUE for now. */ + +bool +Reprepare_observer::report_error(THD *thd) +{ + my_error(ER_NEED_REPREPARE, MYF(ME_NO_WARNING_FOR_ERROR|ME_NO_SP_HANDLER)); + + m_invalidated= TRUE; + + return TRUE; +} + + Open_tables_state::Open_tables_state(ulong version_arg) :version(version_arg), state_flags(0U) { @@ -1430,6 +1443,7 @@ void THD::rollback_item_tree_changes() select_result::select_result() { thd=current_thd; + nest_level= -1; } void select_result::send_error(uint errcode,const char *err) @@ -2769,7 +2783,8 @@ void THD::restore_backup_open_tables_state(Open_tables_state *backup) DBUG_ASSERT(open_tables == 0 && temporary_tables == 0 && handler_tables == 0 && derived_tables == 0 && lock == 0 && locked_tables == 0 && - prelocked_mode == NON_PRELOCKED); + prelocked_mode == NON_PRELOCKED && + m_reprepare_observer == NULL); set_open_tables_state(backup); DBUG_VOID_RETURN; } diff --git a/sql/sql_class.h b/sql/sql_class.h index 5b9ef7f381d..a86b4d36d00 100644 --- a/sql/sql_class.h +++ b/sql/sql_class.h @@ -23,6 +23,51 @@ #include "log.h" #include "rpl_tblmap.h" +/** + An interface that is used to take an action when + the locking module notices that a table version has changed + since the last execution. "Table" here may refer to any kind of + table -- a base table, a temporary table, a view or an + information schema table. + + When we open and lock tables for execution of a prepared + statement, we must verify that they did not change + since statement prepare. If some table did change, the statement + parse tree *may* be no longer valid, e.g. in case it contains + optimizations that depend on table metadata. + + This class provides an interface (a method) that is + invoked when such a situation takes place. + The implementation of the method simply reports an error, but + the exact details depend on the nature of the SQL statement. + + At most 1 instance of this class is active at a time, in which + case THD::m_reprepare_observer is not NULL. + + @sa check_and_update_table_version() for details of the + version tracking algorithm + + @sa Open_tables_state::m_reprepare_observer for the life cycle + of metadata observers. +*/ + +class Reprepare_observer +{ +public: + /** + Check if a change of metadata is OK. In future + the signature of this method may be extended to accept the old + and the new versions, but since currently the check is very + simple, we only need the THD to report an error. + */ + bool report_error(THD *thd); + bool is_invalidated() const { return m_invalidated; } + void reset_reprepare_observer() { m_invalidated= FALSE; } +private: + bool m_invalidated; +}; + + class Relay_log_info; class Query_log_event; @@ -406,6 +451,7 @@ typedef struct system_status_var ulong filesort_scan_count; /* Prepared statements and binary protocol */ ulong com_stmt_prepare; + ulong com_stmt_reprepare; ulong com_stmt_execute; ulong com_stmt_send_long_data; ulong com_stmt_fetch; @@ -436,7 +482,7 @@ void free_tmp_table(THD *thd, TABLE *entry); /* The following macro is to make init of Query_arena simpler */ #ifndef DBUG_OFF -#define INIT_ARENA_DBUG_INFO is_backup_arena= 0 +#define INIT_ARENA_DBUG_INFO is_backup_arena= 0; is_reprepared= FALSE; #else #define INIT_ARENA_DBUG_INFO #endif @@ -452,6 +498,7 @@ public: MEM_ROOT *mem_root; // Pointer to current memroot #ifndef DBUG_OFF bool is_backup_arena; /* True if this arena is used for backup. */ + bool is_reprepared; #endif /* The states relfects three diffrent life cycles for three @@ -788,6 +835,20 @@ enum prelocked_mode_type {NON_PRELOCKED= 0, PRELOCKED= 1, class Open_tables_state { public: + /** + As part of class THD, this member is set during execution + of a prepared statement. When it is set, it is used + by the locking subsystem to report a change in table metadata. + + When Open_tables_state part of THD is reset to open + a system or INFORMATION_SCHEMA table, the member is cleared + to avoid spurious ER_NEED_REPREPARE errors -- system and + INFORMATION_SCHEMA tables are not subject to metadata version + tracking. + @sa check_and_update_table_version() + */ + Reprepare_observer *m_reprepare_observer; + /** List of regular tables in use by this thread. Contains temporary and base tables that were opened with @see open_tables(). @@ -891,6 +952,7 @@ public: extra_lock= lock= locked_tables= 0; prelocked_mode= NON_PRELOCKED; state_flags= 0U; + m_reprepare_observer= NULL; } }; @@ -2193,6 +2255,7 @@ class select_result :public Sql_alloc { protected: THD *thd; SELECT_LEX_UNIT *unit; + uint nest_level; public: select_result(); virtual ~select_result() {}; @@ -2229,6 +2292,12 @@ public: */ virtual void cleanup(); void set_thd(THD *thd_arg) { thd= thd_arg; } + /** + The nest level, if supported. + @return + -1 if nest level is undefined, otherwise a positive integer. + */ + int get_nest_level() { return nest_level; } #ifdef EMBEDDED_LIBRARY virtual void begin_dataset() {} #else @@ -2322,6 +2391,14 @@ class select_export :public select_to_file { bool fixed_row_size; public: select_export(sql_exchange *ex) :select_to_file(ex) {} + /** + Creates a select_export to represent INTO OUTFILE with a + defined level of subquery nesting. + */ + select_export(sql_exchange *ex, uint nest_level_arg) :select_to_file(ex) + { + nest_level= nest_level_arg; + } ~select_export(); int prepare(List &list, SELECT_LEX_UNIT *u); bool send_data(List &items); @@ -2331,6 +2408,15 @@ public: class select_dump :public select_to_file { public: select_dump(sql_exchange *ex) :select_to_file(ex) {} + /** + Creates a select_export to represent INTO DUMPFILE with a + defined level of subquery nesting. + */ + select_dump(sql_exchange *ex, uint nest_level_arg) : + select_to_file(ex) + { + nest_level= nest_level_arg; + } int prepare(List &list, SELECT_LEX_UNIT *u); bool send_data(List &items); }; @@ -2763,6 +2849,16 @@ class select_dumpvar :public select_result_interceptor { public: List var_list; select_dumpvar() { var_list.empty(); row_count= 0;} + /** + Creates a select_dumpvar to represent INTO with a defined + level of subquery nesting. + */ + select_dumpvar(uint nest_level_arg) + { + var_list.empty(); + row_count= 0; + nest_level= nest_level_arg; + } ~select_dumpvar() {} int prepare(List &list, SELECT_LEX_UNIT *u); bool send_data(List &items); @@ -2778,6 +2874,20 @@ public: #define CF_STATUS_COMMAND 4 #define CF_SHOW_TABLE_COMMAND 8 #define CF_WRITE_LOGS_COMMAND 16 +/** + Must be set for SQL statements that may contain + Item expressions and/or use joins and tables. + Indicates that the parse tree of such statement may + contain rule-based optimizations that depend on metadata + (i.e. number of columns in a table), and consequently + that the statement must be re-prepared whenever + referenced metadata changes. Must not be set for + statements that themselves change metadata, e.g. RENAME, + ALTER and other DDL, since otherwise will trigger constant + reprepare. Consequently, complex item expressions and + joins are currently prohibited in these statements. +*/ +#define CF_REEXECUTION_FRAGILE 32 /* Functions in sql_class.cc */ diff --git a/sql/sql_cursor.cc b/sql/sql_cursor.cc index 5c4e93d4c74..d33680e1e0b 100644 --- a/sql/sql_cursor.cc +++ b/sql/sql_cursor.cc @@ -111,7 +111,8 @@ class Select_materialize: public select_union select_result *result; /**< the result object of the caller (PS or SP) */ public: Materialized_cursor *materialized_cursor; - Select_materialize(select_result *result_arg) :result(result_arg) {} + Select_materialize(select_result *result_arg) + :result(result_arg), materialized_cursor(0) {} virtual bool send_fields(List &list, uint flags); }; diff --git a/sql/sql_db.cc b/sql/sql_db.cc index 2c7e0e82b3c..bb55f5f7a4f 100644 --- a/sql/sql_db.cc +++ b/sql/sql_db.cc @@ -922,7 +922,9 @@ bool mysql_rm_db(THD *thd,char *db,bool if_exists, bool silent) ha_drop_database(path); query_cache_invalidate1(db); (void) sp_drop_db_routines(thd, db); /* @todo Do not ignore errors */ +#ifdef HAVE_EVENT_SCHEDULER Events::drop_schema_events(thd, db); +#endif error = 0; } } diff --git a/sql/sql_insert.cc b/sql/sql_insert.cc index 89038bacda3..d1e5c26912d 100644 --- a/sql/sql_insert.cc +++ b/sql/sql_insert.cc @@ -3720,7 +3720,7 @@ void select_create::abort() select_insert::abort(); thd->transaction.stmt.modified_non_trans_table= FALSE; reenable_binlog(thd); - + thd->binlog_flush_pending_rows_event(TRUE); if (m_plock) { diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index 2b57071d497..b8f2228d6e7 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -200,45 +200,56 @@ void init_update_queries(void) { bzero((uchar*) &sql_command_flags, sizeof(sql_command_flags)); - sql_command_flags[SQLCOM_CREATE_TABLE]= CF_CHANGES_DATA; + sql_command_flags[SQLCOM_CREATE_TABLE]= CF_CHANGES_DATA | CF_REEXECUTION_FRAGILE; sql_command_flags[SQLCOM_CREATE_INDEX]= CF_CHANGES_DATA; sql_command_flags[SQLCOM_ALTER_TABLE]= CF_CHANGES_DATA | CF_WRITE_LOGS_COMMAND; sql_command_flags[SQLCOM_TRUNCATE]= CF_CHANGES_DATA | CF_WRITE_LOGS_COMMAND; sql_command_flags[SQLCOM_DROP_TABLE]= CF_CHANGES_DATA; - sql_command_flags[SQLCOM_LOAD]= CF_CHANGES_DATA; + sql_command_flags[SQLCOM_LOAD]= CF_CHANGES_DATA | CF_REEXECUTION_FRAGILE; sql_command_flags[SQLCOM_CREATE_DB]= CF_CHANGES_DATA; sql_command_flags[SQLCOM_DROP_DB]= CF_CHANGES_DATA; sql_command_flags[SQLCOM_RENAME_TABLE]= CF_CHANGES_DATA; sql_command_flags[SQLCOM_BACKUP_TABLE]= CF_CHANGES_DATA; sql_command_flags[SQLCOM_RESTORE_TABLE]= CF_CHANGES_DATA; sql_command_flags[SQLCOM_DROP_INDEX]= CF_CHANGES_DATA; - sql_command_flags[SQLCOM_CREATE_VIEW]= CF_CHANGES_DATA; + sql_command_flags[SQLCOM_CREATE_VIEW]= CF_CHANGES_DATA | CF_REEXECUTION_FRAGILE; sql_command_flags[SQLCOM_DROP_VIEW]= CF_CHANGES_DATA; sql_command_flags[SQLCOM_CREATE_EVENT]= CF_CHANGES_DATA; sql_command_flags[SQLCOM_ALTER_EVENT]= CF_CHANGES_DATA; sql_command_flags[SQLCOM_DROP_EVENT]= CF_CHANGES_DATA; - sql_command_flags[SQLCOM_UPDATE]= CF_CHANGES_DATA | CF_HAS_ROW_COUNT; - sql_command_flags[SQLCOM_UPDATE_MULTI]= CF_CHANGES_DATA | CF_HAS_ROW_COUNT; - sql_command_flags[SQLCOM_INSERT]= CF_CHANGES_DATA | CF_HAS_ROW_COUNT; - sql_command_flags[SQLCOM_INSERT_SELECT]= CF_CHANGES_DATA | CF_HAS_ROW_COUNT; - sql_command_flags[SQLCOM_DELETE]= CF_CHANGES_DATA | CF_HAS_ROW_COUNT; - sql_command_flags[SQLCOM_DELETE_MULTI]= CF_CHANGES_DATA | CF_HAS_ROW_COUNT; - sql_command_flags[SQLCOM_REPLACE]= CF_CHANGES_DATA | CF_HAS_ROW_COUNT; - sql_command_flags[SQLCOM_REPLACE_SELECT]= CF_CHANGES_DATA | CF_HAS_ROW_COUNT; + sql_command_flags[SQLCOM_UPDATE]= CF_CHANGES_DATA | CF_HAS_ROW_COUNT | + CF_REEXECUTION_FRAGILE; + sql_command_flags[SQLCOM_UPDATE_MULTI]= CF_CHANGES_DATA | CF_HAS_ROW_COUNT | + CF_REEXECUTION_FRAGILE; + sql_command_flags[SQLCOM_INSERT]= CF_CHANGES_DATA | CF_HAS_ROW_COUNT | + CF_REEXECUTION_FRAGILE; + sql_command_flags[SQLCOM_INSERT_SELECT]= CF_CHANGES_DATA | CF_HAS_ROW_COUNT | + CF_REEXECUTION_FRAGILE; + sql_command_flags[SQLCOM_DELETE]= CF_CHANGES_DATA | CF_HAS_ROW_COUNT | + CF_REEXECUTION_FRAGILE; + sql_command_flags[SQLCOM_DELETE_MULTI]= CF_CHANGES_DATA | CF_HAS_ROW_COUNT | + CF_REEXECUTION_FRAGILE; + sql_command_flags[SQLCOM_REPLACE]= CF_CHANGES_DATA | CF_HAS_ROW_COUNT | + CF_REEXECUTION_FRAGILE; + sql_command_flags[SQLCOM_REPLACE_SELECT]= CF_CHANGES_DATA | CF_HAS_ROW_COUNT | + CF_REEXECUTION_FRAGILE; + sql_command_flags[SQLCOM_SELECT]= CF_REEXECUTION_FRAGILE; + sql_command_flags[SQLCOM_SET_OPTION]= CF_REEXECUTION_FRAGILE; + sql_command_flags[SQLCOM_DO]= CF_REEXECUTION_FRAGILE; - sql_command_flags[SQLCOM_SHOW_STATUS_PROC]= CF_STATUS_COMMAND; - sql_command_flags[SQLCOM_SHOW_STATUS]= CF_STATUS_COMMAND; - sql_command_flags[SQLCOM_SHOW_DATABASES]= CF_STATUS_COMMAND; - sql_command_flags[SQLCOM_SHOW_TRIGGERS]= CF_STATUS_COMMAND; - sql_command_flags[SQLCOM_SHOW_EVENTS]= CF_STATUS_COMMAND; - sql_command_flags[SQLCOM_SHOW_OPEN_TABLES]= CF_STATUS_COMMAND; + sql_command_flags[SQLCOM_SHOW_STATUS_PROC]= CF_STATUS_COMMAND | CF_REEXECUTION_FRAGILE; + sql_command_flags[SQLCOM_SHOW_STATUS]= CF_STATUS_COMMAND | CF_REEXECUTION_FRAGILE; + sql_command_flags[SQLCOM_SHOW_DATABASES]= CF_STATUS_COMMAND | CF_REEXECUTION_FRAGILE; + sql_command_flags[SQLCOM_SHOW_TRIGGERS]= CF_STATUS_COMMAND | CF_REEXECUTION_FRAGILE; + sql_command_flags[SQLCOM_SHOW_EVENTS]= CF_STATUS_COMMAND | CF_REEXECUTION_FRAGILE; + sql_command_flags[SQLCOM_SHOW_OPEN_TABLES]= CF_STATUS_COMMAND | CF_REEXECUTION_FRAGILE; sql_command_flags[SQLCOM_SHOW_PLUGINS]= CF_STATUS_COMMAND; - sql_command_flags[SQLCOM_SHOW_FIELDS]= CF_STATUS_COMMAND; - sql_command_flags[SQLCOM_SHOW_KEYS]= CF_STATUS_COMMAND; - sql_command_flags[SQLCOM_SHOW_VARIABLES]= CF_STATUS_COMMAND; - sql_command_flags[SQLCOM_SHOW_CHARSETS]= CF_STATUS_COMMAND; - sql_command_flags[SQLCOM_SHOW_COLLATIONS]= CF_STATUS_COMMAND; + sql_command_flags[SQLCOM_SHOW_FIELDS]= CF_STATUS_COMMAND | CF_REEXECUTION_FRAGILE; + sql_command_flags[SQLCOM_SHOW_KEYS]= CF_STATUS_COMMAND | CF_REEXECUTION_FRAGILE; + sql_command_flags[SQLCOM_SHOW_VARIABLES]= CF_STATUS_COMMAND | CF_REEXECUTION_FRAGILE; + sql_command_flags[SQLCOM_SHOW_CHARSETS]= CF_STATUS_COMMAND | CF_REEXECUTION_FRAGILE; + sql_command_flags[SQLCOM_SHOW_COLLATIONS]= CF_STATUS_COMMAND | CF_REEXECUTION_FRAGILE; sql_command_flags[SQLCOM_SHOW_NEW_MASTER]= CF_STATUS_COMMAND; sql_command_flags[SQLCOM_SHOW_BINLOGS]= CF_STATUS_COMMAND; sql_command_flags[SQLCOM_SHOW_SLAVE_HOSTS]= CF_STATUS_COMMAND; @@ -262,7 +273,7 @@ void init_update_queries(void) sql_command_flags[SQLCOM_SHOW_CREATE_PROC]= CF_STATUS_COMMAND; sql_command_flags[SQLCOM_SHOW_CREATE_FUNC]= CF_STATUS_COMMAND; sql_command_flags[SQLCOM_SHOW_CREATE_TRIGGER]= CF_STATUS_COMMAND; - sql_command_flags[SQLCOM_SHOW_STATUS_FUNC]= CF_STATUS_COMMAND; + sql_command_flags[SQLCOM_SHOW_STATUS_FUNC]= CF_STATUS_COMMAND | CF_REEXECUTION_FRAGILE; sql_command_flags[SQLCOM_SHOW_PROC_CODE]= CF_STATUS_COMMAND; sql_command_flags[SQLCOM_SHOW_FUNC_CODE]= CF_STATUS_COMMAND; sql_command_flags[SQLCOM_SHOW_CREATE_EVENT]= CF_STATUS_COMMAND; @@ -270,9 +281,11 @@ void init_update_queries(void) sql_command_flags[SQLCOM_SHOW_PROFILE]= CF_STATUS_COMMAND; sql_command_flags[SQLCOM_SHOW_TABLES]= (CF_STATUS_COMMAND | - CF_SHOW_TABLE_COMMAND); + CF_SHOW_TABLE_COMMAND | + CF_REEXECUTION_FRAGILE); sql_command_flags[SQLCOM_SHOW_TABLE_STATUS]= (CF_STATUS_COMMAND | - CF_SHOW_TABLE_COMMAND); + CF_SHOW_TABLE_COMMAND | + CF_REEXECUTION_FRAGILE); /* The following is used to preserver CF_ROW_COUNT during the @@ -280,7 +293,7 @@ void init_update_queries(void) last called (or executed) statement is preserved. See mysql_execute_command() for how CF_ROW_COUNT is used. */ - sql_command_flags[SQLCOM_CALL]= CF_HAS_ROW_COUNT; + sql_command_flags[SQLCOM_CALL]= CF_HAS_ROW_COUNT | CF_REEXECUTION_FRAGILE; sql_command_flags[SQLCOM_EXECUTE]= CF_HAS_ROW_COUNT; /* @@ -901,8 +914,11 @@ bool dispatch_command(enum enum_server_command command, THD *thd, /* TODO: set thd->lex->sql_command to SQLCOM_END here */ VOID(pthread_mutex_unlock(&LOCK_thread_count)); - thd->server_status&= - ~(SERVER_QUERY_NO_INDEX_USED | SERVER_QUERY_NO_GOOD_INDEX_USED); + /** + Clear the set of flags that are expected to be cleared at the + beginning of each command. + */ + thd->server_status&= ~SERVER_STATUS_CLEAR_SET; switch (command) { case COM_INIT_DB: { @@ -1998,7 +2014,12 @@ mysql_execute_command(THD *thd) DBUG_ASSERT(thd->transaction.stmt.modified_non_trans_table == FALSE); switch (lex->sql_command) { + case SQLCOM_SHOW_EVENTS: +#ifndef HAVE_EVENT_SCHEDULER + my_error(ER_NOT_SUPPORTED_YET, MYF(0), "embedded server"); + break; +#endif case SQLCOM_SHOW_STATUS_PROC: case SQLCOM_SHOW_STATUS_FUNC: res= execute_sqlcom_select(thd, all_tables); @@ -3301,6 +3322,7 @@ end_with_restore_list: can free its locks if LOCK TABLES locked some tables before finding that it can't lock a table in its list */ + ha_autocommit_or_rollback(thd, 1); end_active_trans(thd); thd->options&= ~(OPTION_TABLE_LOCK); } @@ -3482,6 +3504,7 @@ end_with_restore_list: } case SQLCOM_CREATE_EVENT: case SQLCOM_ALTER_EVENT: + #ifdef HAVE_EVENT_SCHEDULER do { DBUG_ASSERT(lex->event_parse_data); @@ -3535,6 +3558,10 @@ end_with_restore_list: lex->drop_if_exists))) my_ok(thd); break; +#else + my_error(ER_NOT_SUPPORTED_YET,MYF(0),"embedded server"); + break; +#endif case SQLCOM_CREATE_FUNCTION: // UDF function { if (check_access(thd,INSERT_ACL,"mysql",0,1,0,0)) @@ -4304,20 +4331,6 @@ create_sp_error: } break; } -#ifdef NOT_USED - case SQLCOM_SHOW_STATUS_PROC: - { - res= sp_show_status_routine(thd, TYPE_ENUM_PROCEDURE, - (lex->wild ? lex->wild->ptr() : NullS)); - break; - } - case SQLCOM_SHOW_STATUS_FUNC: - { - res= sp_show_status_routine(thd, TYPE_ENUM_FUNCTION, - (lex->wild ? lex->wild->ptr() : NullS)); - break; - } -#endif #ifndef DBUG_OFF case SQLCOM_SHOW_PROC_CODE: case SQLCOM_SHOW_FUNC_CODE: @@ -5367,9 +5380,11 @@ void mysql_reset_thd_for_next_command(THD *thd) thd->query_start_used= 0; thd->is_fatal_error= thd->time_zone_used= 0; - thd->server_status&= ~ (SERVER_MORE_RESULTS_EXISTS | - SERVER_QUERY_NO_INDEX_USED | - SERVER_QUERY_NO_GOOD_INDEX_USED); + /* + Clear the status flag that are expected to be cleared at the + beginning of each SQL statement. + */ + thd->server_status&= ~SERVER_STATUS_CLEAR_SET; /* If in autocommit mode and not in a transaction, reset OPTION_STATUS_NO_TRANS_UPDATE | OPTION_KEEP_LOG to not get warnings diff --git a/sql/sql_prepare.cc b/sql/sql_prepare.cc index 091cc18114b..ca72d1c1613 100644 --- a/sql/sql_prepare.cc +++ b/sql/sql_prepare.cc @@ -155,21 +155,28 @@ public: virtual void cleanup_stmt(); bool set_name(LEX_STRING *name); inline void close_cursor() { delete cursor; cursor= 0; } - + inline bool is_in_use() { return flags & (uint) IS_IN_USE; } + inline bool is_protocol_text() const { return protocol == &thd->protocol_text; } bool prepare(const char *packet, uint packet_length); - bool execute(String *expanded_query, bool open_cursor); + bool execute_loop(String *expanded_query, + bool open_cursor, + uchar *packet_arg, uchar *packet_end_arg); /* Destroy this statement */ - bool deallocate(); + void deallocate(); private: - /** - Store the parsed tree of a prepared statement here. - */ - LEX main_lex; /** The memory root to allocate parsed tree elements (instances of Item, SELECT_LEX and other classes). */ MEM_ROOT main_mem_root; +private: + bool set_db(const char *db, uint db_length); + bool set_parameters(String *expanded_query, + uchar *packet, uchar *packet_end); + bool execute(String *expanded_query, bool open_cursor); + bool reprepare(); + bool validate_metadata(Prepared_statement *copy); + void swap_prepared_statement(Prepared_statement *copy); }; @@ -198,7 +205,7 @@ inline bool is_param_null(const uchar *pos, ulong param_no) */ static Prepared_statement * -find_prepared_statement(THD *thd, ulong id, const char *where) +find_prepared_statement(THD *thd, ulong id) { /* To strictly separate namespaces of SQL prepared statements and C API @@ -208,12 +215,8 @@ find_prepared_statement(THD *thd, ulong id, const char *where) Statement *stmt= thd->stmt_map.find(id); if (stmt == 0 || stmt->type() != Query_arena::PREPARED_STATEMENT) - { - char llbuf[22]; - my_error(ER_UNKNOWN_STMT_HANDLER, MYF(0), sizeof(llbuf), llstr(id, llbuf), - where); - return 0; - } + return NULL; + return (Prepared_statement *) stmt; } @@ -945,6 +948,55 @@ static bool emb_insert_params_with_log(Prepared_statement *stmt, #endif /*!EMBEDDED_LIBRARY*/ +/** + Setup data conversion routines using an array of parameter + markers from the original prepared statement. + Swap the parameter data of the original prepared + statement to the new one. + + Used only when we re-prepare a prepared statement. + There are two reasons for this function to exist: + + 1) In the binary client/server protocol, parameter metadata + is sent only at first execute. Consequently, if we need to + reprepare a prepared statement at a subsequent execution, + we may not have metadata information in the packet. + In that case we use the parameter array of the original + prepared statement to setup parameter types of the new + prepared statement. + + 2) In the binary client/server protocol, we may supply + long data in pieces. When the last piece is supplied, + we assemble the pieces and convert them from client + character set to the connection character set. After + that the parameter value is only available inside + the parameter, the original pieces are lost, and thus + we can only assign the corresponding parameter of the + reprepared statement from the original value. + + @param[out] param_array_dst parameter markers of the new statement + @param[in] param_array_src parameter markers of the original + statement + @param[in] param_count total number of parameters. Is the + same in src and dst arrays, since + the statement query is the same + + @return this function never fails +*/ + +static void +swap_parameter_array(Item_param **param_array_dst, + Item_param **param_array_src, + uint param_count) +{ + Item_param **dst= param_array_dst; + Item_param **src= param_array_src; + Item_param **end= param_array_dst + param_count; + + for (; dst < end; ++src, ++dst) + (*dst)->set_param_type_and_swap_value(*src); +} + /** Assign prepared statement parameters from user variables. @@ -1268,7 +1320,7 @@ error: */ static int mysql_test_select(Prepared_statement *stmt, - TABLE_LIST *tables, bool text_protocol) + TABLE_LIST *tables) { THD *thd= stmt->thd; LEX *lex= stmt->lex; @@ -1304,7 +1356,7 @@ static int mysql_test_select(Prepared_statement *stmt, */ if (unit->prepare(thd, 0, 0)) goto error; - if (!lex->describe && !text_protocol) + if (!lex->describe && !stmt->is_protocol_text()) { /* Make copy of item list, as change_columns may change it */ List fields(lex->select_lex.item_list); @@ -1395,6 +1447,43 @@ error: } +/** + Validate and prepare for execution CALL statement expressions. + + @param stmt prepared statement + @param tables list of tables used in this query + @param value_list list of expressions + + @retval FALSE success + @retval TRUE error, error message is set in THD +*/ + +static bool mysql_test_call_fields(Prepared_statement *stmt, + TABLE_LIST *tables, + List *value_list) +{ + DBUG_ENTER("mysql_test_call_fields"); + + List_iterator it(*value_list); + THD *thd= stmt->thd; + Item *item; + + if (tables && check_table_access(thd, SELECT_ACL, tables, UINT_MAX, FALSE) || + open_normal_and_derived_tables(thd, tables, 0)) + goto err; + + while ((item= it++)) + { + if (!item->fixed && item->fix_fields(thd, it.ref()) || + item->check_cols(1)) + goto err; + } + DBUG_RETURN(FALSE); +err: + DBUG_RETURN(TRUE); +} + + /** Check internal SELECT of the prepared command. @@ -1516,6 +1605,17 @@ static bool mysql_test_create_table(Prepared_statement *stmt) res= select_like_stmt_test(stmt, 0, 0); } + else if (lex->create_info.options & HA_LEX_CREATE_TABLE_LIKE) + { + /* + Check that the source table exist, and also record + its metadata version. Even though not strictly necessary, + we validate metadata of all CREATE TABLE statements, + which keeps metadata validation code simple. + */ + if (open_normal_and_derived_tables(stmt->thd, lex->query_tables, 0)) + DBUG_RETURN(TRUE); + } /* put tables back for PS rexecuting */ lex->link_first_table_back(create_table, link_to_local); @@ -1712,8 +1812,7 @@ static bool mysql_test_insert_select(Prepared_statement *stmt, TRUE error, error message is set in THD (but not sent) */ -static bool check_prepared_statement(Prepared_statement *stmt, - bool text_protocol) +static bool check_prepared_statement(Prepared_statement *stmt) { THD *thd= stmt->thd; LEX *lex= stmt->lex; @@ -1754,9 +1853,23 @@ static bool check_prepared_statement(Prepared_statement *stmt, case SQLCOM_DELETE: res= mysql_test_delete(stmt, tables); break; - + /* The following allow WHERE clause, so they must be tested like SELECT */ + case SQLCOM_SHOW_DATABASES: + case SQLCOM_SHOW_TABLES: + case SQLCOM_SHOW_TRIGGERS: + case SQLCOM_SHOW_EVENTS: + case SQLCOM_SHOW_OPEN_TABLES: + case SQLCOM_SHOW_FIELDS: + case SQLCOM_SHOW_KEYS: + case SQLCOM_SHOW_COLLATIONS: + case SQLCOM_SHOW_CHARSETS: + case SQLCOM_SHOW_VARIABLES: + case SQLCOM_SHOW_STATUS: + case SQLCOM_SHOW_TABLE_STATUS: + case SQLCOM_SHOW_STATUS_PROC: + case SQLCOM_SHOW_STATUS_FUNC: case SQLCOM_SELECT: - res= mysql_test_select(stmt, tables, text_protocol); + res= mysql_test_select(stmt, tables); if (res == 2) { /* Statement and field info has already been sent */ @@ -1779,6 +1892,9 @@ static bool check_prepared_statement(Prepared_statement *stmt, res= mysql_test_do_fields(stmt, tables, lex->insert_list); break; + case SQLCOM_CALL: + res= mysql_test_call_fields(stmt, tables, &lex->value_list); + break; case SQLCOM_SET_OPTION: res= mysql_test_set_fields(stmt, tables, &lex->var_list); break; @@ -1828,7 +1944,6 @@ static bool check_prepared_statement(Prepared_statement *stmt, case SQLCOM_DROP_INDEX: case SQLCOM_ROLLBACK: case SQLCOM_TRUNCATE: - case SQLCOM_CALL: case SQLCOM_DROP_VIEW: case SQLCOM_REPAIR: case SQLCOM_ANALYZE: @@ -1871,8 +1986,8 @@ static bool check_prepared_statement(Prepared_statement *stmt, break; } if (res == 0) - DBUG_RETURN(text_protocol? FALSE : (send_prep_stmt(stmt, 0) || - thd->protocol->flush())); + DBUG_RETURN(stmt->is_protocol_text() ? + FALSE : (send_prep_stmt(stmt, 0) || thd->protocol->flush())); error: DBUG_RETURN(TRUE); } @@ -2121,8 +2236,13 @@ void mysql_sql_stmt_prepare(THD *thd) If there is a statement with the same name, remove it. It is ok to remove old and fail to insert a new one at the same time. */ - if (stmt->deallocate()) + if (stmt->is_in_use()) + { + my_error(ER_PS_NO_RECURSION, MYF(0)); DBUG_VOID_RETURN; + } + + stmt->deallocate(); } if (! (query= get_dynamic_sql_string(lex, &query_len)) || @@ -2308,11 +2428,9 @@ void mysql_stmt_execute(THD *thd, char *packet_arg, uint packet_length) ulong flags= (ulong) packet[4]; /* Query text for binary, general or slow log, if any of them is open */ String expanded_query; -#ifndef EMBEDDED_LIBRARY uchar *packet_end= packet + packet_length; -#endif Prepared_statement *stmt; - bool error; + bool open_cursor; DBUG_ENTER("mysql_stmt_execute"); packet+= 9; /* stmt_id + 5 bytes of flags */ @@ -2320,8 +2438,13 @@ void mysql_stmt_execute(THD *thd, char *packet_arg, uint packet_length) /* First of all clear possible warnings from the previous command */ mysql_reset_thd_for_next_command(thd); - if (!(stmt= find_prepared_statement(thd, stmt_id, "mysql_stmt_execute"))) + if (!(stmt= find_prepared_statement(thd, stmt_id))) + { + char llbuf[22]; + my_error(ER_UNKNOWN_STMT_HANDLER, MYF(0), sizeof(llbuf), + llstr(stmt_id, llbuf), "mysql_stmt_execute"); DBUG_VOID_RETURN; + } #if defined(ENABLED_PROFILING) && defined(COMMUNITY_SERVER) thd->profiling.set_query_source(stmt->query, stmt->query_length); @@ -2332,44 +2455,12 @@ void mysql_stmt_execute(THD *thd, char *packet_arg, uint packet_length) sp_cache_flush_obsolete(&thd->sp_proc_cache); sp_cache_flush_obsolete(&thd->sp_func_cache); -#ifndef EMBEDDED_LIBRARY - if (stmt->param_count) - { - uchar *null_array= packet; - if (setup_conversion_functions(stmt, &packet, packet_end) || - stmt->set_params(stmt, null_array, packet, packet_end, - &expanded_query)) - goto set_params_data_err; - } -#else - /* - In embedded library we re-install conversion routines each time - we set params, and also we don't need to parse packet. - So we do it in one function. - */ - if (stmt->param_count && stmt->set_params_data(stmt, &expanded_query)) - goto set_params_data_err; -#endif - if (!(specialflag & SPECIAL_NO_PRIOR)) - my_pthread_setprio(pthread_self(),QUERY_PRIOR); + open_cursor= test(flags & (ulong) CURSOR_TYPE_READ_ONLY); - /* - If the free_list is not empty, we'll wrongly free some externally - allocated items when cleaning up after validation of the prepared - statement. - */ - DBUG_ASSERT(thd->free_list == NULL); + stmt->execute_loop(&expanded_query, open_cursor, packet, packet_end); - error= stmt->execute(&expanded_query, - test(flags & (ulong) CURSOR_TYPE_READ_ONLY)); - if (!(specialflag & SPECIAL_NO_PRIOR)) - my_pthread_setprio(pthread_self(), WAIT_PRIOR); DBUG_VOID_RETURN; -set_params_data_err: - my_error(ER_WRONG_ARGUMENTS, MYF(0), "mysql_stmt_execute"); - reset_stmt_params(stmt); - DBUG_VOID_RETURN; } @@ -2415,24 +2506,8 @@ void mysql_sql_stmt_execute(THD *thd) DBUG_PRINT("info",("stmt: 0x%lx", (long) stmt)); - /* - If the free_list is not empty, we'll wrongly free some externally - allocated items when cleaning up after validation of the prepared - statement. - */ - DBUG_ASSERT(thd->free_list == NULL); + (void) stmt->execute_loop(&expanded_query, FALSE, NULL, NULL); - if (stmt->set_params_from_vars(stmt, lex->prepared_stmt_params, - &expanded_query)) - goto set_params_data_err; - - (void) stmt->execute(&expanded_query, FALSE); - - DBUG_VOID_RETURN; - -set_params_data_err: - my_error(ER_WRONG_ARGUMENTS, MYF(0), "EXECUTE"); - reset_stmt_params(stmt); DBUG_VOID_RETURN; } @@ -2458,8 +2533,13 @@ void mysql_stmt_fetch(THD *thd, char *packet, uint packet_length) /* First of all clear possible warnings from the previous command */ mysql_reset_thd_for_next_command(thd); status_var_increment(thd->status_var.com_stmt_fetch); - if (!(stmt= find_prepared_statement(thd, stmt_id, "mysql_stmt_fetch"))) + if (!(stmt= find_prepared_statement(thd, stmt_id))) + { + char llbuf[22]; + my_error(ER_UNKNOWN_STMT_HANDLER, MYF(0), sizeof(llbuf), + llstr(stmt_id, llbuf), "mysql_stmt_fetch"); DBUG_VOID_RETURN; + } cursor= stmt->cursor; if (!cursor) @@ -2520,8 +2600,13 @@ void mysql_stmt_reset(THD *thd, char *packet) mysql_reset_thd_for_next_command(thd); status_var_increment(thd->status_var.com_stmt_reset); - if (!(stmt= find_prepared_statement(thd, stmt_id, "mysql_stmt_reset"))) + if (!(stmt= find_prepared_statement(thd, stmt_id))) + { + char llbuf[22]; + my_error(ER_UNKNOWN_STMT_HANDLER, MYF(0), sizeof(llbuf), + llstr(stmt_id, llbuf), "mysql_stmt_reset"); DBUG_VOID_RETURN; + } stmt->close_cursor(); @@ -2557,15 +2642,15 @@ void mysql_stmt_close(THD *thd, char *packet) thd->main_da.disable_status(); - if (!(stmt= find_prepared_statement(thd, stmt_id, "mysql_stmt_close"))) + if (!(stmt= find_prepared_statement(thd, stmt_id))) DBUG_VOID_RETURN; /* The only way currently a statement can be deallocated when it's in use is from within Dynamic SQL. */ - DBUG_ASSERT(! (stmt->flags & (uint) Prepared_statement::IS_IN_USE)); - (void) stmt->deallocate(); + DBUG_ASSERT(! stmt->is_in_use()); + stmt->deallocate(); general_log_print(thd, thd->command, NullS); DBUG_VOID_RETURN; @@ -2592,14 +2677,15 @@ void mysql_sql_stmt_close(THD *thd) name->str)); if (! (stmt= (Prepared_statement*) thd->stmt_map.find_by_name(name))) - { my_error(ER_UNKNOWN_STMT_HANDLER, MYF(0), name->length, name->str, "DEALLOCATE PREPARE"); - return; - } - - if (stmt->deallocate() == 0) + else if (stmt->is_in_use()) + my_error(ER_PS_NO_RECURSION, MYF(0)); + else + { + stmt->deallocate(); my_ok(thd); + } } /** @@ -2633,17 +2719,13 @@ void mysql_stmt_get_longdata(THD *thd, char *packet, ulong packet_length) #ifndef EMBEDDED_LIBRARY /* Minimal size of long data packet is 6 bytes */ if (packet_length < MYSQL_LONG_DATA_HEADER) - { - my_error(ER_WRONG_ARGUMENTS, MYF(0), "mysql_stmt_send_long_data"); DBUG_VOID_RETURN; - } #endif stmt_id= uint4korr(packet); packet+= 4; - if (!(stmt=find_prepared_statement(thd, stmt_id, - "mysql_stmt_send_long_data"))) + if (!(stmt=find_prepared_statement(thd, stmt_id))) DBUG_VOID_RETURN; param_number= uint2korr(packet); @@ -2729,7 +2811,7 @@ Select_fetch_protocol_binary::send_data(List &fields) ****************************************************************************/ Prepared_statement::Prepared_statement(THD *thd_arg, Protocol *protocol_arg) - :Statement(&main_lex, &main_mem_root, + :Statement(NULL, &main_mem_root, INITIALIZED, ++thd_arg->statement_id_counter), thd(thd_arg), result(thd_arg), @@ -2800,7 +2882,11 @@ Prepared_statement::~Prepared_statement() like Item_param, don't free everything until free_items() */ free_items(); - delete lex->result; + if (lex) + { + delete lex->result; + delete (st_lex_local *) lex; + } free_root(&main_mem_root, MYF(0)); DBUG_VOID_RETURN; } @@ -2836,6 +2922,34 @@ bool Prepared_statement::set_name(LEX_STRING *name_arg) return name.str == 0; } + +/** + Remember the current database. + + We must reset/restore the current database during execution of + a prepared statement since it affects execution environment: + privileges, @@character_set_database, and other. + + @return Returns an error if out of memory. +*/ + +bool +Prepared_statement::set_db(const char *db_arg, uint db_length_arg) +{ + /* Remember the current database. */ + if (db_arg && db_length_arg) + { + db= this->strmake(db_arg, db_length_arg); + db_length= db_length_arg; + } + else + { + db= NULL; + db_length= 0; + } + return db_arg != NULL && db == NULL; +} + /************************************************************************** Common parts of mysql_[sql]_stmt_prepare, mysql_[sql]_stmt_execute. Essentially, these functions do all the magic of preparing/executing @@ -2877,6 +2991,12 @@ bool Prepared_statement::prepare(const char *packet, uint packet_len) */ status_var_increment(thd->status_var.com_stmt_prepare); + if (! (lex= new (mem_root) st_lex_local)) + DBUG_RETURN(TRUE); + + if (set_db(thd->db, thd->db_length)) + DBUG_RETURN(TRUE); + /* alloc_query() uses thd->memroot && thd->query, so we should call both of backup_statement() and backup_query_arena() here. @@ -2904,19 +3024,6 @@ bool Prepared_statement::prepare(const char *packet, uint packet_len) lex->set_trg_event_type_for_tables(); - /* Remember the current database. */ - - if (thd->db && thd->db_length) - { - db= this->strmake(thd->db, thd->db_length); - db_length= thd->db_length; - } - else - { - db= NULL; - db_length= 0; - } - /* While doing context analysis of the query (in check_prepared_statement) we allocate a lot of additional memory: for open tables, JOINs, derived @@ -2940,7 +3047,7 @@ bool Prepared_statement::prepare(const char *packet, uint packet_len) */ if (error == 0) - error= check_prepared_statement(this, name.str != 0); + error= check_prepared_statement(this); /* Currently CREATE PROCEDURE/TRIGGER/EVENT are prohibited in prepared @@ -2987,6 +3094,305 @@ bool Prepared_statement::prepare(const char *packet, uint packet_len) DBUG_RETURN(error); } + +/** + Assign parameter values either from variables, in case of SQL PS + or from the execute packet. + + @param expanded_query a container with the original SQL statement. + '?' placeholders will be replaced with + their values in case of success. + The result is used for logging and replication + @param packet pointer to execute packet. + NULL in case of SQL PS + @param packet_end end of the packet. NULL in case of SQL PS + + @todo Use a paremeter source class family instead of 'if's, and + support stored procedure variables. + + @retval TRUE an error occurred when assigning a parameter (likely + a conversion error or out of memory, or malformed packet) + @retval FALSE success +*/ + +bool +Prepared_statement::set_parameters(String *expanded_query, + uchar *packet, uchar *packet_end) +{ + bool is_sql_ps= packet == NULL; + bool res= FALSE; + + if (is_sql_ps) + { + /* SQL prepared statement */ + res= set_params_from_vars(this, thd->lex->prepared_stmt_params, + expanded_query); + } + else if (param_count) + { +#ifndef EMBEDDED_LIBRARY + uchar *null_array= packet; + res= (setup_conversion_functions(this, &packet, packet_end) || + set_params(this, null_array, packet, packet_end, expanded_query)); +#else + /* + In embedded library we re-install conversion routines each time + we set parameters, and also we don't need to parse packet. + So we do it in one function. + */ + res= set_params_data(this, expanded_query); +#endif + } + if (res) + { + my_error(ER_WRONG_ARGUMENTS, MYF(0), + is_sql_ps ? "EXECUTE" : "mysql_stmt_execute"); + reset_stmt_params(this); + } + return res; +} + + +/** + Execute a prepared statement. Re-prepare it a limited number + of times if necessary. + + Try to execute a prepared statement. If there is a metadata + validation error, prepare a new copy of the prepared statement, + swap the old and the new statements, and try again. + If there is a validation error again, repeat the above, but + perform no more than MAX_REPREPARE_ATTEMPTS. + + @note We have to try several times in a loop since we + release metadata locks on tables after prepared statement + prepare. Therefore, a DDL statement may sneak in between prepare + and execute of a new statement. If this happens repeatedly + more than MAX_REPREPARE_ATTEMPTS times, we give up. + + In future we need to be able to keep the metadata locks between + prepare and execute, but right now open_and_lock_tables(), as + well as close_thread_tables() are buried deep inside + execution code (mysql_execute_command()). + + @return TRUE if an error, FALSE if success + @retval TRUE either MAX_REPREPARE_ATTEMPTS has been reached, + or some general error + @retval FALSE successfully executed the statement, perhaps + after having reprepared it a few times. +*/ + +bool +Prepared_statement::execute_loop(String *expanded_query, + bool open_cursor, + uchar *packet, + uchar *packet_end) +{ + const int MAX_REPREPARE_ATTEMPTS= 3; + Reprepare_observer reprepare_observer; + bool error; + int reprepare_attempt= 0; + + if (set_parameters(expanded_query, packet, packet_end)) + return TRUE; + +reexecute: + reprepare_observer.reset_reprepare_observer(); + + /* + If the free_list is not empty, we'll wrongly free some externally + allocated items when cleaning up after validation of the prepared + statement. + */ + DBUG_ASSERT(thd->free_list == NULL); + + /* + Install the metadata observer. If some metadata version is + different from prepare time and an observer is installed, + the observer method will be invoked to push an error into + the error stack. + */ + if (sql_command_flags[lex->sql_command] & + CF_REEXECUTION_FRAGILE) + { + DBUG_ASSERT(thd->m_reprepare_observer == NULL); + thd->m_reprepare_observer = &reprepare_observer; + } + + if (!(specialflag & SPECIAL_NO_PRIOR)) + my_pthread_setprio(pthread_self(),QUERY_PRIOR); + + error= execute(expanded_query, open_cursor) || thd->is_error(); + + if (!(specialflag & SPECIAL_NO_PRIOR)) + my_pthread_setprio(pthread_self(), WAIT_PRIOR); + + thd->m_reprepare_observer= NULL; + + if (error && !thd->is_fatal_error && !thd->killed && + reprepare_observer.is_invalidated() && + reprepare_attempt++ < MAX_REPREPARE_ATTEMPTS) + { + DBUG_ASSERT(thd->main_da.sql_errno() == ER_NEED_REPREPARE); + thd->clear_error(); + + error= reprepare(); + + if (! error) /* Success */ + goto reexecute; + } + reset_stmt_params(this); + + return error; +} + + +/** + Reprepare this prepared statement. + + Currently this is implemented by creating a new prepared + statement, preparing it with the original query and then + swapping the new statement and the original one. + + @retval TRUE an error occurred. Possible errors include + incompatibility of new and old result set + metadata + @retval FALSE success, the statement has been reprepared +*/ + +bool +Prepared_statement::reprepare() +{ + char saved_cur_db_name_buf[NAME_LEN+1]; + LEX_STRING saved_cur_db_name= + { saved_cur_db_name_buf, sizeof(saved_cur_db_name_buf) }; + LEX_STRING stmt_db_name= { db, db_length }; + bool cur_db_changed; + bool error; + + Prepared_statement copy(thd, &thd->protocol_text); + + status_var_increment(thd->status_var.com_stmt_reprepare); + + if (mysql_opt_change_db(thd, &stmt_db_name, &saved_cur_db_name, TRUE, + &cur_db_changed)) + return TRUE; + + error= (name.str && copy.set_name(&name) || + copy.prepare(query, query_length) || + validate_metadata(©)); + + if (cur_db_changed) + mysql_change_db(thd, &saved_cur_db_name, TRUE); + + if (! error) + { + swap_prepared_statement(©); + swap_parameter_array(param_array, copy.param_array, param_count); +#ifndef DBUG_OFF + is_reprepared= TRUE; +#endif + /* + Clear possible warnings during reprepare, it has to be completely + transparent to the user. We use mysql_reset_errors() since + there were no separate query id issued for re-prepare. + Sic: we can't simply silence warnings during reprepare, because if + it's failed, we need to return all the warnings to the user. + */ + mysql_reset_errors(thd, TRUE); + } + return error; +} + + +/** + Validate statement result set metadata (if the statement returns + a result set). + + Currently we only check that the number of columns of the result + set did not change. + This is a helper method used during re-prepare. + + @param[in] copy the re-prepared prepared statement to verify + the metadata of + + @retval TRUE error, ER_PS_REBIND is reported + @retval FALSE statement return no or compatible metadata +*/ + + +bool Prepared_statement::validate_metadata(Prepared_statement *copy) +{ + /** + If this is an SQL prepared statement or EXPLAIN, + return FALSE -- the metadata of the original SELECT, + if any, has not been sent to the client. + */ + if (is_protocol_text() || lex->describe) + return FALSE; + + if (lex->select_lex.item_list.elements != + copy->lex->select_lex.item_list.elements) + { + /** Column counts mismatch, update the client */ + thd->server_status|= SERVER_STATUS_METADATA_CHANGED; + } + + return FALSE; +} + + +/** + Replace the original prepared statement with a prepared copy. + + This is a private helper that is used as part of statement + reprepare + + @return This function does not return any errors. +*/ + +void +Prepared_statement::swap_prepared_statement(Prepared_statement *copy) +{ + Statement tmp_stmt; + + /* Swap memory roots. */ + swap_variables(MEM_ROOT, main_mem_root, copy->main_mem_root); + + /* Swap the arenas */ + tmp_stmt.set_query_arena(this); + set_query_arena(copy); + copy->set_query_arena(&tmp_stmt); + + /* Swap the statement parent classes */ + tmp_stmt.set_statement(this); + set_statement(copy); + copy->set_statement(&tmp_stmt); + + /* Swap ids back, we need the original id */ + swap_variables(ulong, id, copy->id); + /* Swap mem_roots back, they must continue pointing at the main_mem_roots */ + swap_variables(MEM_ROOT *, mem_root, copy->mem_root); + /* + Swap the old and the new parameters array. The old array + is allocated in the old arena. + */ + swap_variables(Item_param **, param_array, copy->param_array); + /* Swap flags: this is perhaps unnecessary */ + swap_variables(uint, flags, copy->flags); + /* Swap names, the old name is allocated in the wrong memory root */ + swap_variables(LEX_STRING, name, copy->name); + /* Ditto */ + swap_variables(char *, db, copy->db); + + DBUG_ASSERT(db_length == copy->db_length); + DBUG_ASSERT(param_count == copy->param_count); + DBUG_ASSERT(thd == copy->thd); + last_error[0]= '\0'; + last_errno= 0; + /* Do not swap protocols, the copy always has protocol_text */ +} + + /** Execute a prepared statement. @@ -3149,10 +3555,7 @@ bool Prepared_statement::execute(String *expanded_query, bool open_cursor) DBUG_ASSERT(! (error && cursor)); if (! cursor) - { cleanup_stmt(); - reset_stmt_params(this); - } thd->set_statement(&stmt_backup); thd->stmt_arena= old_stmt_arena; @@ -3186,16 +3589,10 @@ error: /** Common part of DEALLOCATE PREPARE and mysql_stmt_close. */ -bool Prepared_statement::deallocate() +void Prepared_statement::deallocate() { /* We account deallocate in the same manner as mysql_stmt_close */ status_var_increment(thd->status_var.com_stmt_close); - if (flags & (uint) IS_IN_USE) - { - my_error(ER_PS_NO_RECURSION, MYF(0)); - return TRUE; - } /* Statement map calls delete stmt on erase */ thd->stmt_map.erase(this); - return FALSE; } diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 164edacc932..2ef7aa13dd8 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -846,6 +846,7 @@ JOIN::optimize() "Impossible HAVING" : "Impossible WHERE")); zero_result_cause= having_value == Item::COND_FALSE ? "Impossible HAVING" : "Impossible WHERE"; + tables= 0; error= 0; DBUG_RETURN(0); } @@ -2187,11 +2188,12 @@ JOIN::exec() /* With EXPLAIN EXTENDED we have to restore original ref_array for a derived table which is always materialized. - Otherwise we would not be able to print the query correctly. + We also need to do this when we have temp table(s). + Otherwise we would not be able to print the query correctly. */ - if (items0 && - (thd->lex->describe & DESCRIBE_EXTENDED) && - select_lex->linkage == DERIVED_TABLE_TYPE) + if (items0 && (thd->lex->describe & DESCRIBE_EXTENDED) && + (select_lex->linkage == DERIVED_TABLE_TYPE || + exec_tmp_table1 || exec_tmp_table2)) set_items_ref_array(items0); DBUG_VOID_RETURN; @@ -6505,13 +6507,16 @@ make_join_readinfo(JOIN *join, ulonglong options) !(tab->select && tab->select->quick)) { // Only read index tree /* - See bug #26447: "Using the clustered index for a table scan - is always faster than using a secondary index". - */ + It has turned out that the below change, while speeding things + up for disk-bound loads, slows them down for cases when the data + is in disk cache (see BUG#35850): + // See bug #26447: "Using the clustered index for a table scan + // is always faster than using a secondary index". if (table->s->primary_key != MAX_KEY && table->file->primary_key_is_clustered()) tab->index= table->s->primary_key; else + */ tab->index=find_shortest_key(table, & table->covering_keys); tab->read_first_record= join_read_first; tab->type=JT_NEXT; // Read with index_first / index_next @@ -12966,6 +12971,7 @@ test_if_skip_sort_order(JOIN_TAB *tab,ORDER *order,ha_rows select_limit, uint tablenr= tab - join->join_tab; ha_rows table_records= table->file->stats.records; bool group= join->group && order == join->group_list; + ha_rows ref_key_quick_rows= HA_POS_ERROR; LINT_INIT(best_key_parts); LINT_INIT(best_key_direction); LINT_INIT(best_records); @@ -12999,6 +13005,9 @@ test_if_skip_sort_order(JOIN_TAB *tab,ORDER *order,ha_rows select_limit, else keys= usable_keys; + if (ref_key >= 0 && table->covering_keys.is_set(ref_key)) + ref_key_quick_rows= table->quick_rows[ref_key]; + read_time= join->best_positions[tablenr].read_time; for (uint i= tablenr+1; i < join->tables; i++) fanout*= join->best_positions[i].records_read; // fanout is always >= 1 @@ -13093,7 +13102,8 @@ test_if_skip_sort_order(JOIN_TAB *tab,ORDER *order,ha_rows select_limit, index_scan_time < read_time) { ha_rows quick_records= table_records; - if (is_best_covering && !is_covering) + if (is_best_covering && !is_covering || + is_covering && ref_key_quick_rows < select_limit) continue; if (table->quick_keys.is_set(nr)) quick_records= table->quick_rows[nr]; diff --git a/sql/sql_show.cc b/sql/sql_show.cc index b005615ce7c..16a0342cb1f 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -25,8 +25,10 @@ #include "sql_trigger.h" #include "authors.h" #include "contributors.h" +#ifdef HAVE_EVENT_SCHEDULER #include "events.h" #include "event_data_objects.h" +#endif #include #define STR_OR_NIL(S) ((S) ? (S) : "") @@ -287,7 +289,9 @@ static struct show_privileges_st sys_privileges[]= {"Create user", "Server Admin", "To create new users"}, {"Delete", "Tables", "To delete existing rows"}, {"Drop", "Databases,Tables", "To drop databases, tables, and views"}, +#ifdef HAVE_EVENT_SCHEDULER {"Event","Server Admin","To create, alter, drop and execute events"}, +#endif {"Execute", "Functions,Procedures", "To execute stored routines"}, {"File", "File access on server", "To read and write files on the server"}, {"Grant option", "Databases,Tables,Functions,Procedures", "To give to other users those privileges you possess"}, @@ -3894,7 +3898,6 @@ static my_bool iter_schema_engines(THD *thd, plugin_ref plugin, DBUG_RETURN(0); } - int fill_schema_engines(THD *thd, TABLE_LIST *tables, COND *cond) { return plugin_foreach(thd, iter_schema_engines, @@ -4959,7 +4962,7 @@ static interval_type get_real_interval_type(interval_type i_type) #endif - +#ifdef HAVE_EVENT_SCHEDULER /* Loads an event from mysql.event and copies it's data to a row of I_S.EVENTS @@ -5079,14 +5082,14 @@ copy_event_to_schema_table(THD *thd, TABLE *sch_table, TABLE *event_table) switch (et.status) { - case Event_timed::ENABLED: + case Event_parse_data::ENABLED: sch_table->field[ISE_STATUS]->store(STRING_WITH_LEN("ENABLED"), scs); break; - case Event_timed::SLAVESIDE_DISABLED: + case Event_parse_data::SLAVESIDE_DISABLED: sch_table->field[ISE_STATUS]->store(STRING_WITH_LEN("SLAVESIDE_DISABLED"), scs); break; - case Event_timed::DISABLED: + case Event_parse_data::DISABLED: sch_table->field[ISE_STATUS]->store(STRING_WITH_LEN("DISABLED"), scs); break; default: @@ -5095,7 +5098,7 @@ copy_event_to_schema_table(THD *thd, TABLE *sch_table, TABLE *event_table) sch_table->field[ISE_ORIGINATOR]->store(et.originator, TRUE); /* on_completion */ - if (et.on_completion == Event_timed::ON_COMPLETION_DROP) + if (et.on_completion == Event_parse_data::ON_COMPLETION_DROP) sch_table->field[ISE_ON_COMPLETION]-> store(STRING_WITH_LEN("NOT PRESERVE"), scs); else @@ -5145,7 +5148,7 @@ copy_event_to_schema_table(THD *thd, TABLE *sch_table, TABLE *event_table) DBUG_RETURN(0); } - +#endif int fill_open_tables(THD *thd, TABLE_LIST *tables, COND *cond) { @@ -5866,6 +5869,9 @@ bool get_schema_tables_result(JOIN *join, bool is_subselect= (&lex->unit != lex->current_select->master_unit() && lex->current_select->master_unit()->item); + /* A value of 0 indicates a dummy implementation */ + if (table_list->schema_table->fill_table == 0) + continue; /* skip I_S optimizations specific to get_all_tables */ if (thd->lex->describe && @@ -6541,8 +6547,13 @@ ST_SCHEMA_TABLE schema_tables[]= fill_schema_column_privileges, 0, 0, -1, -1, 0, 0}, {"ENGINES", engines_fields_info, create_schema_table, fill_schema_engines, make_old_format, 0, -1, -1, 0, 0}, +#ifdef HAVE_EVENT_SCHEDULER {"EVENTS", events_fields_info, create_schema_table, Events::fill_schema_events, make_old_format, 0, -1, -1, 0, 0}, +#else + {"EVENTS", events_fields_info, create_schema_table, + 0, make_old_format, 0, -1, -1, 0, 0}, +#endif {"FILES", files_fields_info, create_schema_table, fill_schema_files, 0, 0, -1, -1, 0, 0}, {"GLOBAL_STATUS", variables_fields_info, create_schema_table, diff --git a/sql/sql_table.cc b/sql/sql_table.cc index 714701bbf3b..7c847e0817c 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -4021,6 +4021,13 @@ static int prepare_for_repair(THD *thd, TABLE_LIST *table_list, - Run a normal repair using the new index file and the old data file */ + if (table->s->frm_version != FRM_VER_TRUE_VARCHAR) + { + error= send_check_errmsg(thd, table_list, "repair", + "Failed reparing incompatible .FRM file"); + goto end; + } + /* Check if this is a table type that stores index and data separately, like ISAM or MyISAM. We assume fixed order of engine file name @@ -4776,9 +4783,6 @@ bool mysql_create_like_table(THD* thd, TABLE_LIST* table, TABLE_LIST* src_table, DBUG_ENTER("mysql_create_like_table"); - /* CREATE TABLE ... LIKE is not allowed for views. */ - src_table->required_type= FRMTYPE_TABLE; - /* By opening source table we guarantee that it exists and no concurrent DDL operation will mess with it. Later we also take an exclusive diff --git a/sql/sql_test.cc b/sql/sql_test.cc index 1a522b852e9..01363714484 100644 --- a/sql/sql_test.cc +++ b/sql/sql_test.cc @@ -27,7 +27,9 @@ #include #endif +#ifdef HAVE_EVENT_SCHEDULER #include "events.h" +#endif static const char *lock_descriptions[] = { @@ -539,6 +541,8 @@ Estimated memory (with thread stack): %ld\n", (long) (thread_count * my_thread_stack_size + info.hblkhd + info.arena)); #endif +#ifdef HAVE_EVENT_SCHEDULER Events::dump_internal_status(); +#endif puts(""); } diff --git a/sql/sql_update.cc b/sql/sql_update.cc index 23ad5ce9385..bfb71db22da 100644 --- a/sql/sql_update.cc +++ b/sql/sql_update.cc @@ -853,8 +853,9 @@ bool mysql_prepare_update(THD *thd, TABLE_LIST *table_list, Item **conds, uint order_num, ORDER *order) { Item *fake_conds= 0; +#ifndef NO_EMBEDDED_ACCESS_CHECKS TABLE *table= table_list->table; - TABLE_LIST tables; +#endif List all_fields; SELECT_LEX *select_lex= &thd->lex->select_lex; DBUG_ENTER("mysql_prepare_update"); @@ -878,9 +879,6 @@ bool mysql_prepare_update(THD *thd, TABLE_LIST *table_list, table_list->register_want_access(SELECT_ACL); #endif - bzero((char*) &tables,sizeof(tables)); // For ORDER BY - tables.table= table; - tables.alias= table_list->alias; thd->lex->allow_sum_func= 0; if (setup_tables_and_check_access(thd, &select_lex->context, @@ -1669,6 +1667,12 @@ bool multi_update::send_data(List ¬_used_values) tbl->file->position(tbl->record[0]); memcpy((char*) tmp_table->field[field_num]->ptr, (char*) tbl->file->ref, tbl->file->ref_length); + /* + For outer joins a rowid field may have no NOT_NULL_FLAG, + so we have to reset NULL bit for this field. + (set_notnull() resets NULL bit only if available). + */ + tmp_table->field[field_num]->set_notnull(); field_num++; } while ((tbl= tbl_it++)); diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy index 896b0b26bfa..54399c3791c 100644 --- a/sql/sql_yacc.yy +++ b/sql/sql_yacc.yy @@ -42,7 +42,7 @@ #include "sp_pcontext.h" #include "sp_rcontext.h" #include "sp.h" -#include "event_data_objects.h" +#include "event_parse_data.h" #include #include @@ -1282,7 +1282,8 @@ bool my_yyoverflow(short **a, YYSTYPE **b, ulong *yystacksize); single_multi table_wild_list table_wild_one opt_wild union_clause union_list precision subselect_start opt_and charset - subselect_end select_var_list select_var_list_init help opt_len + subselect_end select_var_list select_var_list_init help + field_length opt_field_length opt_extended_describe prepare prepare_src execute deallocate statement sp_suid @@ -1782,7 +1783,6 @@ event_tail: LEX *lex=Lex; lex->create_info.options= $2; - if (!(lex->event_parse_data= Event_parse_data::new_instance(thd))) MYSQL_YYABORT; lex->event_parse_data->identifier= $3; @@ -1839,17 +1839,17 @@ opt_ev_status: /* empty */ { $$= 0; } | ENABLE_SYM { - Lex->event_parse_data->status= Event_basic::ENABLED; + Lex->event_parse_data->status= Event_parse_data::ENABLED; $$= 1; } | DISABLE_SYM ON SLAVE { - Lex->event_parse_data->status= Event_basic::SLAVESIDE_DISABLED; + Lex->event_parse_data->status= Event_parse_data::SLAVESIDE_DISABLED; $$= 1; } | DISABLE_SYM { - Lex->event_parse_data->status= Event_basic::DISABLED; + Lex->event_parse_data->status= Event_parse_data::DISABLED; $$= 1; } ; @@ -1882,13 +1882,13 @@ ev_on_completion: ON COMPLETION_SYM PRESERVE_SYM { Lex->event_parse_data->on_completion= - Event_basic::ON_COMPLETION_PRESERVE; + Event_parse_data::ON_COMPLETION_PRESERVE; $$= 1; } | ON COMPLETION_SYM NOT_SYM PRESERVE_SYM { Lex->event_parse_data->on_completion= - Event_basic::ON_COMPLETION_DROP; + Event_parse_data::ON_COMPLETION_DROP; $$= 1; } ; @@ -3582,20 +3582,30 @@ create2: | LIKE table_ident { THD *thd= YYTHD; + TABLE_LIST *src_table; LEX *lex= thd->lex; lex->create_info.options|= HA_LEX_CREATE_TABLE_LIKE; - if (!lex->select_lex.add_table_to_list(thd, $2, NULL, 0, TL_READ)) + src_table= lex->select_lex.add_table_to_list(thd, $2, NULL, 0, + TL_READ); + if (! src_table) MYSQL_YYABORT; + /* CREATE TABLE ... LIKE is not allowed for views. */ + src_table->required_type= FRMTYPE_TABLE; } | '(' LIKE table_ident ')' { THD *thd= YYTHD; + TABLE_LIST *src_table; LEX *lex= thd->lex; lex->create_info.options|= HA_LEX_CREATE_TABLE_LIKE; - if (!lex->select_lex.add_table_to_list(thd, $3, NULL, 0, TL_READ)) + src_table= lex->select_lex.add_table_to_list(thd, $3, NULL, 0, + TL_READ); + if (! src_table) MYSQL_YYABORT; + /* CREATE TABLE ... LIKE is not allowed for views. */ + src_table->required_type= FRMTYPE_TABLE; } ; @@ -4642,7 +4652,7 @@ field_spec: ; type: - int_type opt_len field_options { $$=$1; } + int_type opt_field_length field_options { $$=$1; } | real_type opt_precision field_options { $$=$1; } | FLOAT_SYM float_options field_options { $$=MYSQL_TYPE_FLOAT; } | BIT_SYM @@ -4650,46 +4660,42 @@ type: Lex->length= (char*) "1"; $$=MYSQL_TYPE_BIT; } - | BIT_SYM '(' NUM ')' + | BIT_SYM field_length { - Lex->length= $3.str; $$=MYSQL_TYPE_BIT; } | BOOL_SYM { - Lex->length=(char*) "1"; + Lex->length= (char*) "1"; $$=MYSQL_TYPE_TINY; } | BOOLEAN_SYM { - Lex->length=(char*) "1"; + Lex->length= (char*) "1"; $$=MYSQL_TYPE_TINY; } - | char '(' NUM ')' opt_binary + | char field_length opt_binary { - Lex->length=$3.str; $$=MYSQL_TYPE_STRING; } | char opt_binary { - Lex->length=(char*) "1"; + Lex->length= (char*) "1"; $$=MYSQL_TYPE_STRING; } - | nchar '(' NUM ')' opt_bin_mod + | nchar field_length opt_bin_mod { - Lex->length=$3.str; $$=MYSQL_TYPE_STRING; Lex->charset=national_charset_info; } | nchar opt_bin_mod { - Lex->length=(char*) "1"; + Lex->length= (char*) "1"; $$=MYSQL_TYPE_STRING; Lex->charset=national_charset_info; } - | BINARY '(' NUM ')' + | BINARY field_length { - Lex->length=$3.str; Lex->charset=&my_charset_bin; $$=MYSQL_TYPE_STRING; } @@ -4699,30 +4705,27 @@ type: Lex->charset=&my_charset_bin; $$=MYSQL_TYPE_STRING; } - | varchar '(' NUM ')' opt_binary + | varchar field_length opt_binary { - Lex->length=$3.str; $$= MYSQL_TYPE_VARCHAR; } - | nvarchar '(' NUM ')' opt_bin_mod + | nvarchar field_length opt_bin_mod { - Lex->length=$3.str; $$= MYSQL_TYPE_VARCHAR; Lex->charset=national_charset_info; } - | VARBINARY '(' NUM ')' + | VARBINARY field_length { - Lex->length=$3.str; Lex->charset=&my_charset_bin; $$= MYSQL_TYPE_VARCHAR; } - | YEAR_SYM opt_len field_options + | YEAR_SYM opt_field_length field_options { $$=MYSQL_TYPE_YEAR; } | DATE_SYM { $$=MYSQL_TYPE_DATE; } | TIME_SYM { $$=MYSQL_TYPE_TIME; } - | TIMESTAMP opt_len + | TIMESTAMP opt_field_length { if (YYTHD->variables.sql_mode & MODE_MAXDB) $$=MYSQL_TYPE_DATETIME; @@ -4742,7 +4745,7 @@ type: Lex->charset=&my_charset_bin; $$=MYSQL_TYPE_TINY_BLOB; } - | BLOB_SYM opt_len + | BLOB_SYM opt_field_length { Lex->charset=&my_charset_bin; $$=MYSQL_TYPE_BLOB; @@ -4778,7 +4781,7 @@ type: { $$=MYSQL_TYPE_MEDIUM_BLOB; } | TINYTEXT opt_binary { $$=MYSQL_TYPE_TINY_BLOB; } - | TEXT_SYM opt_len opt_binary + | TEXT_SYM opt_field_length opt_binary { $$=MYSQL_TYPE_BLOB; } | MEDIUMTEXT opt_binary { $$=MYSQL_TYPE_MEDIUM_BLOB; } @@ -4868,8 +4871,8 @@ real_type: float_options: /* empty */ { Lex->dec=Lex->length= (char*)0; } - | '(' NUM ')' - { Lex->length=$2.str; Lex->dec= (char*)0; } + | field_length + { Lex->dec= (char*)0; } | precision {} ; @@ -4899,10 +4902,15 @@ field_option: | ZEROFILL { Lex->type|= UNSIGNED_FLAG | ZEROFILL_FLAG; } ; -opt_len: - /* empty */ { Lex->length=(char*) 0; /* use default length */ } - | '(' NUM ')' { Lex->length= $2.str; } - ; +field_length: + '(' LONG_NUM ')' { Lex->length= $2.str; } + | '(' ULONGLONG_NUM ')' { Lex->length= $2.str; } + | '(' DECIMAL_NUM ')' { Lex->length= $2.str; } + | '(' NUM ')' { Lex->length= $2.str; }; + +opt_field_length: + /* empty */ { Lex->length=(char*) 0; /* use default length */ } + | field_length { } opt_precision: /* empty */ {} @@ -7464,11 +7472,11 @@ in_sum_expr: ; cast_type: - BINARY opt_len + BINARY opt_field_length { $$=ITEM_CAST_CHAR; Lex->charset= &my_charset_bin; Lex->dec= 0; } - | CHAR_SYM opt_len opt_binary + | CHAR_SYM opt_field_length opt_binary { $$=ITEM_CAST_CHAR; Lex->dec= 0; } - | NCHAR_SYM opt_len + | NCHAR_SYM opt_field_length { $$=ITEM_CAST_CHAR; Lex->charset= national_charset_info; Lex->dec=0; } | SIGNED_SYM { $$=ITEM_CAST_SIGNED_INT; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; } @@ -8382,7 +8390,8 @@ procedure_item: select_var_list_init: { LEX *lex=Lex; - if (!lex->describe && (!(lex->result= new select_dumpvar()))) + if (!lex->describe && + (!(lex->result= new select_dumpvar(lex->nest_level)))) MYSQL_YYABORT; } select_var_list @@ -8456,7 +8465,7 @@ into_destination: LEX *lex= Lex; lex->uncacheable(UNCACHEABLE_SIDEEFFECT); if (!(lex->exchange= new sql_exchange($2.str, 0)) || - !(lex->result= new select_export(lex->exchange))) + !(lex->result= new select_export(lex->exchange, lex->nest_level))) MYSQL_YYABORT; } opt_field_term opt_line_term @@ -8468,7 +8477,7 @@ into_destination: lex->uncacheable(UNCACHEABLE_SIDEEFFECT); if (!(lex->exchange= new sql_exchange($2.str,1))) MYSQL_YYABORT; - if (!(lex->result= new select_dump(lex->exchange))) + if (!(lex->result= new select_dump(lex->exchange, lex->nest_level))) MYSQL_YYABORT; } } @@ -11806,12 +11815,18 @@ union_list: UNION_SYM union_option { LEX *lex=Lex; - if (lex->result) - { - /* Only the last SELECT can have INTO...... */ - my_error(ER_WRONG_USAGE, MYF(0), "UNION", "INTO"); - MYSQL_YYABORT; - } + if (lex->result && + (lex->result->get_nest_level() == -1 || + lex->result->get_nest_level() == lex->nest_level)) + { + /* + Only the last SELECT can have INTO unless the INTO and UNION + are at different nest levels. In version 5.1 and above, INTO + will onle be allowed at top level. + */ + my_error(ER_WRONG_USAGE, MYF(0), "UNION", "INTO"); + MYSQL_YYABORT; + } if (lex->current_select->linkage == GLOBAL_OPTIONS_TYPE) { my_parse_error(ER(ER_SYNTAX_ERROR)); diff --git a/sql/table.h b/sql/table.h index 0e0a35b022d..75ddaf69c10 100644 --- a/sql/table.h +++ b/sql/table.h @@ -438,6 +438,105 @@ typedef struct st_table_share return table_map_id; } + /** + Convert unrelated members of TABLE_SHARE to one enum + representing its type. + + @todo perhaps we need to have a member instead of a function. + */ + enum enum_table_ref_type get_table_ref_type() const + { + if (is_view) + return TABLE_REF_VIEW; + switch (tmp_table) { + case NO_TMP_TABLE: + return TABLE_REF_BASE_TABLE; + case SYSTEM_TMP_TABLE: + return TABLE_REF_I_S_TABLE; + default: + return TABLE_REF_TMP_TABLE; + } + } + /** + Return a table metadata version. + * for base tables, we return table_map_id. + It is assigned from a global counter incremented for each + new table loaded into the table definition cache (TDC). + * for temporary tables it's table_map_id again. But for + temporary tables table_map_id is assigned from + thd->query_id. The latter is assigned from a thread local + counter incremented for every new SQL statement. Since + temporary tables are thread-local, each temporary table + gets a unique id. + * for everything else (views, information schema tables), + the version id is zero. + + This choice of version id is a large compromise + to have a working prepared statement validation in 5.1. In + future version ids will be persistent, as described in WL#4180. + + Let's try to explain why and how this limited solution allows + to validate prepared statements. + + Firstly, sets (in mathematical sense) of version numbers + never intersect for different table types. Therefore, + version id of a temporary table is never compared with + a version id of a view, and vice versa. + + Secondly, for base tables, we know that each DDL flushes the + respective share from the TDC. This ensures that whenever + a table is altered or dropped and recreated, it gets a new + version id. + Unfortunately, since elements of the TDC are also flushed on + LRU basis, this choice of version ids leads to false positives. + E.g. when the TDC size is too small, we may have a SELECT + * FROM INFORMATION_SCHEMA.TABLES flush all its elements, which + in turn will lead to a validation error and a subsequent + reprepare of all prepared statements. This is + considered acceptable, since as long as prepared statements are + automatically reprepared, spurious invalidation is only + a performance hit. Besides, no better simple solution exists. + + For temporary tables, using thd->query_id ensures that if + a temporary table was altered or recreated, a new version id is + assigned. This suits validation needs very well and will perhaps + never change. + + Metadata of information schema tables never changes. + Thus we can safely assume 0 for a good enough version id. + + Views are a special and tricky case. A view is always inlined + into the parse tree of a prepared statement at prepare. + Thus, when we execute a prepared statement, the parse tree + will not get modified even if the view is replaced with another + view. Therefore, we can safely choose 0 for version id of + views and effectively never invalidate a prepared statement + when a view definition is altered. Note, that this leads to + wrong binary log in statement-based replication, since we log + prepared statement execution in form Query_log_events + containing conventional statements. But since there is no + metadata locking for views, the very same problem exists for + conventional statements alone, as reported in Bug#25144. The only + difference between prepared and conventional execution is, + effectively, that for prepared statements the race condition + window is much wider. + In 6.0 we plan to support view metadata locking (WL#3726) and + extend table definition cache to cache views (WL#4298). + When this is done, views will be handled in the same fashion + as the base tables. + + Finally, by taking into account table type, we always + track that a change has taken place when a view is replaced + with a base table, a base table is replaced with a temporary + table and so on. + + @sa TABLE_LIST::is_table_ref_id_equal() + */ + ulong get_table_ref_version() const + { + return (tmp_table == SYSTEM_TMP_TABLE || is_view) ? 0 : table_map_id; + } + } TABLE_SHARE; @@ -1233,6 +1332,33 @@ struct TABLE_LIST child_def_version= ~0UL; } + /** + Compare the version of metadata from the previous execution + (if any) with values obtained from the current table + definition cache element. + + @sa check_and_update_table_version() + */ + inline + bool is_table_ref_id_equal(TABLE_SHARE *s) const + { + return (m_table_ref_type == s->get_table_ref_type() && + m_table_ref_version == s->get_table_ref_version()); + } + + /** + Record the value of metadata version of the corresponding + table definition cache element in this parse tree node. + + @sa check_and_update_table_version() + */ + inline + void set_table_ref_id(TABLE_SHARE *s) + { + m_table_ref_type= s->get_table_ref_type(); + m_table_ref_version= s->get_table_ref_version(); + } + private: bool prep_check_option(THD *thd, uint8 check_opt_type); bool prep_where(THD *thd, Item **conds, bool no_where_clause); @@ -1243,6 +1369,10 @@ private: /* Remembered MERGE child def version. See top comment in ha_myisammrg.cc */ ulong child_def_version; + /** See comments for set_metadata_id() */ + enum enum_table_ref_type m_table_ref_type; + /** See comments for set_metadata_id() */ + ulong m_table_ref_version; }; class Item; diff --git a/sql/tztime.cc b/sql/tztime.cc index f080c61e243..1028cfb7c1b 100644 --- a/sql/tztime.cc +++ b/sql/tztime.cc @@ -1034,7 +1034,7 @@ public: return lowest possible my_time_t in case of ambiguity or if we provide time corresponding to the time-gap. - You should call init_time() function before using this function. + You should call my_init_time() function before using this function. RETURN VALUE Corresponding my_time_t value or 0 in case of error @@ -2663,7 +2663,7 @@ main(int argc, char **argv) } printf("gmt_sec_to_TIME = localtime for time_t in [1000000000,1100000000) range\n"); - init_time(); + my_init_time(); /* Be careful here! my_system_gmt_sec doesn't fully handle unnormalized diff --git a/sql/unireg.h b/sql/unireg.h index 18c3ab16f6a..6f9c44d98f9 100644 --- a/sql/unireg.h +++ b/sql/unireg.h @@ -63,6 +63,7 @@ #define MAX_MBWIDTH 3 /* Max multibyte sequence */ #define MAX_FIELD_CHARLENGTH 255 #define MAX_FIELD_VARCHARLENGTH 65535 +#define MAX_FIELD_BLOBLENGTH UINT_MAX32 /* cf field_blob::get_length() */ #define CONVERT_IF_BIGGER_TO_BLOB 512 /* Used for CREATE ... SELECT */ /* Max column width +1 */ diff --git a/storage/innobase/CMakeLists.txt b/storage/innobase/CMakeLists.txt index c4246abd30d..021a47f0398 100755 --- a/storage/innobase/CMakeLists.txt +++ b/storage/innobase/CMakeLists.txt @@ -17,6 +17,14 @@ SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX") SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX") ADD_DEFINITIONS(-DMYSQL_SERVER -D_WIN32 -D_LIB) +# Bug 19424 - InnoDB: Possibly a memory overrun of the buffer being freed (64-bit Visual C) +# Removing Win64 compiler optimizations for all innodb/mem/* files. +IF(CMAKE_GENERATOR MATCHES "Visual Studio" AND CMAKE_SIZEOF_VOID_P MATCHES 8) + SET_SOURCE_FILES_PROPERTIES(${CMAKE_SOURCE_DIR}/storage/innobase/mem/mem0mem.c + ${CMAKE_SOURCE_DIR}/storage/innobase/mem/mem0pool.c + PROPERTIES COMPILE_FLAGS -Od) +ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio" AND CMAKE_SIZEOF_VOID_P MATCHES 8) + INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/zlib ${CMAKE_SOURCE_DIR}/storage/innobase/include ${CMAKE_SOURCE_DIR}/storage/innobase/handler diff --git a/storage/myisam/mi_create.c b/storage/myisam/mi_create.c index bc4dcf0bdbb..2784861f48a 100644 --- a/storage/myisam/mi_create.c +++ b/storage/myisam/mi_create.c @@ -634,6 +634,7 @@ int mi_create(const char *name,uint keys,MI_KEYDEF *keydefs, my_printf_error(0, "MyISAM table '%s' is in use " "(most likely by a MERGE table). Try FLUSH TABLES.", MYF(0), name + dirname_length(name)); + my_errno= HA_ERR_TABLE_EXIST; goto err; } diff --git a/storage/myisammrg/CMakeLists.txt b/storage/myisammrg/CMakeLists.txt index 403ca6c2776..1c94e2bd50c 100755 --- a/storage/myisammrg/CMakeLists.txt +++ b/storage/myisammrg/CMakeLists.txt @@ -26,7 +26,7 @@ SET(MYISAMMRG_SOURCES myrg_close.c myrg_create.c myrg_delete.c myrg_extra.c myr myrg_locking.c myrg_open.c myrg_panic.c myrg_queue.c myrg_range.c myrg_rfirst.c myrg_rkey.c myrg_rlast.c myrg_rnext.c myrg_rnext_same.c myrg_rprev.c myrg_rrnd.c myrg_rsame.c myrg_static.c myrg_update.c - myrg_write.c) + myrg_write.c myrg_records.c) IF(NOT SOURCE_SUBLIBS) ADD_LIBRARY(myisammrg ${MYISAMMRG_SOURCES}) diff --git a/storage/myisammrg/Makefile.am b/storage/myisammrg/Makefile.am index e058dfdbb5e..1ca51bc9d03 100644 --- a/storage/myisammrg/Makefile.am +++ b/storage/myisammrg/Makefile.am @@ -35,7 +35,7 @@ libmyisammrg_a_SOURCES = myrg_open.c myrg_extra.c myrg_info.c myrg_locking.c \ myrg_rkey.c myrg_rfirst.c myrg_rlast.c myrg_rnext.c \ myrg_rprev.c myrg_queue.c myrg_write.c myrg_range.c \ ha_myisammrg.cc \ - myrg_rnext_same.c + myrg_rnext_same.c myrg_records.c EXTRA_DIST = CMakeLists.txt plug.in diff --git a/storage/myisammrg/ha_myisammrg.cc b/storage/myisammrg/ha_myisammrg.cc index ea7021325e3..956f0e421cc 100644 --- a/storage/myisammrg/ha_myisammrg.cc +++ b/storage/myisammrg/ha_myisammrg.cc @@ -1154,6 +1154,12 @@ int ha_myisammrg::check(THD* thd, HA_CHECK_OPT* check_opt) } +ha_rows ha_myisammrg::records() +{ + return myrg_records(file); +} + + extern int myrg_panic(enum ha_panic_function flag); int myisammrg_panic(handlerton *hton, ha_panic_function flag) { diff --git a/storage/myisammrg/ha_myisammrg.h b/storage/myisammrg/ha_myisammrg.h index 977c45d1435..4e7ddebb836 100644 --- a/storage/myisammrg/ha_myisammrg.h +++ b/storage/myisammrg/ha_myisammrg.h @@ -42,6 +42,7 @@ class ha_myisammrg: public handler HA_BINLOG_ROW_CAPABLE | HA_BINLOG_STMT_CAPABLE | HA_NULL_IN_KEY | HA_CAN_INDEX_BLOBS | HA_FILE_BASED | HA_ANY_INDEX_MAY_BE_UNIQUE | HA_CAN_BIT_FIELD | + HA_HAS_RECORDS | HA_NO_COPY_ON_ALTER); } ulong index_flags(uint inx, uint part, bool all_parts) const @@ -94,4 +95,5 @@ class ha_myisammrg: public handler TABLE *table_ptr() { return table; } bool check_if_incompatible_data(HA_CREATE_INFO *info, uint table_changes); int check(THD* thd, HA_CHECK_OPT* check_opt); + ha_rows records(); }; diff --git a/storage/myisammrg/myrg_records.c b/storage/myisammrg/myrg_records.c new file mode 100644 index 00000000000..03815d934a8 --- /dev/null +++ b/storage/myisammrg/myrg_records.c @@ -0,0 +1,27 @@ +/* Copyright (C) 2008 MySQL AB + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + +#include "myrg_def.h" + +ha_rows myrg_records(MYRG_INFO *info) +{ + ha_rows records=0; + MYRG_TABLE *file; + DBUG_ENTER("myrg_records"); + + for (file=info->open_tables ; file != info->end_table ; file++) + records+= file->table->s->state.state.records; + DBUG_RETURN(records); +} diff --git a/strings/ctype-big5.c b/strings/ctype-big5.c index ecfd3d648e0..3da307b82fc 100644 --- a/strings/ctype-big5.c +++ b/strings/ctype-big5.c @@ -307,15 +307,17 @@ static size_t my_strnxfrm_big5(CHARSET_INFO *cs __attribute__((unused)), { uint16 e; size_t dstlen= len; + uchar *dest_end= dest + dstlen; len = srclen; - while (len--) + while (len-- && dest < dest_end) { if ((len > 0) && isbig5code(*src, *(src+1))) { e = big5strokexfrm((uint16) big5code(*src, *(src+1))); *dest++ = big5head(e); - *dest++ = big5tail(e); + if (dest < dest_end) + *dest++ = big5tail(e); src +=2; len--; } else diff --git a/strings/ctype-gbk.c b/strings/ctype-gbk.c index c7a2558eb37..7b8bb85652b 100644 --- a/strings/ctype-gbk.c +++ b/strings/ctype-gbk.c @@ -2668,15 +2668,17 @@ static size_t my_strnxfrm_gbk(CHARSET_INFO *cs __attribute__((unused)), { uint16 e; size_t dstlen= len; + uchar *dest_end= dest + dstlen; len = srclen; - while (len--) + while (len-- && dest < dest_end) { if ((len > 0) && isgbkcode(*src, *(src+1))) { e = gbksortorder((uint16) gbkcode(*src, *(src+1))); *dest++ = gbkhead(e); - *dest++ = gbktail(e); + if (dest < dest_end) + *dest++ = gbktail(e); src+=2; len--; } else diff --git a/support-files/mysql.spec.sh b/support-files/mysql.spec.sh index 9a417d5f02d..5cbd85c62b4 100644 --- a/support-files/mysql.spec.sh +++ b/support-files/mysql.spec.sh @@ -27,6 +27,16 @@ %{?_with_yassl:%define YASSL_BUILD 1} %{!?_with_yassl:%define YASSL_BUILD 0} +# use "rpmbuild --with cluster" or "rpm --define '_with_cluster 1'" (for RPM 3.x) +# to build with cluster support (off by default) +%{?_with_cluster:%define CLUSTER_BUILD 1} +%{!?_with_cluster:%define CLUSTER_BUILD 0} + +# use "rpmbuild --with federated" or "rpm --define '_with_federated 1'" (for RPM 3.x) +# to build with federated support (off by default) +%{?_with_federated:%define FEDERATED_BUILD 1} +%{!?_with_federated:%define FEDERATED_BUILD 0} + %if %{STATIC_BUILD} %define release 0 %else @@ -134,6 +144,7 @@ This package contains the standard MySQL clients and administration tools. %{see_base} +%if %{CLUSTER_BUILD} %package ndb-storage Summary: MySQL - ndbcluster storage engine Group: Applications/Databases @@ -174,6 +185,7 @@ This package contains some extra ndbcluster storage engine tools for the advance They should be used with caution. %{see_base} +%endif %package test Requires: %{name}-client perl-DBI perl @@ -322,12 +334,19 @@ CXXFLAGS=`echo "${MYSQL_BUILD_CXXFLAGS:-$RPM_OPT_FLAGS -felide-constructors -fno BuildMySQL "--enable-shared \ --with-debug \ --with-innodb \ +%if %{CLUSTER_BUILD} --with-ndbcluster \ +%else + --without-ndbcluster \ +%endif --with-archive-storage-engine \ --with-csv-storage-engine \ - --with-example-storage-engine \ --with-blackhole-storage-engine \ +%if %{FEDERATED_BUILD} --with-federated-storage-engine \ +%else + --without-federated-storage-engine \ +%endif --with-partition \ --with-big-tables \ --with-comment=\"MySQL Community Server - Debug (GPL)\"") @@ -351,12 +370,19 @@ CFLAGS="${MYSQL_BUILD_CFLAGS:-$RPM_OPT_FLAGS} -g" \ CXXFLAGS="${MYSQL_BUILD_CXXFLAGS:-$RPM_OPT_FLAGS -felide-constructors -fno-exceptions -fno-rtti} -g" \ BuildMySQL "--enable-shared \ --with-innodb \ +%if %{CLUSTER_BUILD} --with-ndbcluster \ +%else + --without-ndbcluster \ +%endif --with-archive-storage-engine \ --with-csv-storage-engine \ - --with-example-storage-engine \ --with-blackhole-storage-engine \ +%if %{FEDERATED_BUILD} --with-federated-storage-engine \ +%else + --without-federated-storage-engine \ +%endif --with-partition \ --with-embedded-server \ --with-big-tables \ @@ -563,12 +589,13 @@ sleep 2 #scheduled service packs and more. Visit www.mysql.com/enterprise for more #information." +%if %{CLUSTER_BUILD} %post ndb-storage mysql_clusterdir=/var/lib/mysql-cluster # Create cluster directory if needed if test ! -d $mysql_clusterdir; then mkdir -m 755 $mysql_clusterdir; fi - +%endif %preun server if test $1 = 0 @@ -603,7 +630,9 @@ fi %doc mysql-release-%{mysql_version}/COPYING mysql-release-%{mysql_version}/README %doc mysql-release-%{mysql_version}/support-files/my-*.cnf +%if %{CLUSTER_BUILD} %doc mysql-release-%{mysql_version}/support-files/ndb-*.ini +%endif %doc %attr(644, root, root) %{_infodir}/mysql.info* @@ -698,6 +727,7 @@ fi %postun shared /sbin/ldconfig +%if %{CLUSTER_BUILD} %files ndb-storage %defattr(-,root,root,0755) %attr(755, root, root) %{_sbindir}/ndbd @@ -745,6 +775,7 @@ fi %doc %attr(644, root, man) %{_mandir}/man1/ndb_delete_all.1* %doc %attr(644, root, man) %{_mandir}/man1/ndb_drop_index.1* %doc %attr(644, root, man) %{_mandir}/man1/ndb_drop_table.1* +%endif %files devel %defattr(-, root, root, 0755) @@ -767,8 +798,10 @@ fi %{_libdir}/mysql/libmysqlclient_r.la %{_libdir}/mysql/libmystrings.a %{_libdir}/mysql/libmysys.a +%if %{CLUSTER_BUILD} %{_libdir}/mysql/libndbclient.a %{_libdir}/mysql/libndbclient.la +%endif %{_libdir}/mysql/libvio.a %{_libdir}/mysql/libz.a %{_libdir}/mysql/libz.la @@ -777,7 +810,9 @@ fi %defattr(-, root, root, 0755) # Shared libraries (omit for architectures that don't support them) %{_libdir}/libmysql*.so* +%if %{CLUSTER_BUILD} %{_libdir}/libndb*.so* +%endif %files test %defattr(-, root, root, 0755) @@ -799,6 +834,11 @@ fi # itself - note that they must be ordered by date (important when # merging BK trees) %changelog +* Mon Mar 31 2008 Kent Boortz + +- Made the "Federated" storage engine an option +- Made the "Cluster" storage engine and sub packages an option + * Wed Mar 19 2008 Joerg Bruehe - Add the man pages for "ndbd" and "ndb_mgmd". diff --git a/tests/mysql_client_test.c b/tests/mysql_client_test.c index 0df2d4ed4a5..aafa22bdf7f 100644 --- a/tests/mysql_client_test.c +++ b/tests/mysql_client_test.c @@ -6668,10 +6668,10 @@ static void test_pure_coverage() check_execute_r(stmt, rc); /* unsupported buffer type */ rc= mysql_stmt_store_result(stmt); - check_execute(stmt, rc); + DIE_UNLESS(rc); rc= mysql_stmt_store_result(stmt); - check_execute_r(stmt, rc); /* commands out of sync */ + DIE_UNLESS(rc); /* Old error must be reset first */ mysql_stmt_close(stmt); @@ -8423,6 +8423,9 @@ static void test_fetch_offset() rc= mysql_stmt_fetch_column(stmt, my_bind, 0, 0); check_execute_r(stmt, rc); + rc= mysql_stmt_execute(stmt); + check_execute(stmt, rc); + rc= mysql_stmt_bind_result(stmt, my_bind); check_execute(stmt, rc); @@ -9901,7 +9904,7 @@ static void test_rename() MYSQL_STMT *stmt; const char *query= "rename table t1 to t2, t3 to t4"; int rc; - myheader("test_table_manipulation"); + myheader("test_table_rename"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS t1, t2, t3, t4"); myquery(rc); @@ -11132,7 +11135,7 @@ static void test_bug4236() int rc; MYSQL_STMT backup; - myheader("test_bug4296"); + myheader("test_bug4236"); stmt= mysql_stmt_init(mysql); @@ -17383,6 +17386,214 @@ static void test_bug28386() DBUG_VOID_RETURN; } +static void test_wl4166_1() +{ + MYSQL_STMT *stmt; + int int_data; + char str_data[50]; + char tiny_data; + short small_data; + longlong big_data; + float real_data; + double double_data; + ulong length[7]; + my_bool is_null[7]; + MYSQL_BIND my_bind[7]; + int rc; + int i; + + myheader("test_wl4166_1"); + + rc= mysql_query(mysql, "DROP TABLE IF EXISTS table_4166"); + myquery(rc); + + rc= mysql_query(mysql, "CREATE TABLE table_4166(col1 tinyint NOT NULL, " + "col2 varchar(15), col3 int, " + "col4 smallint, col5 bigint, " + "col6 float, col7 double, " + "colX varchar(10) default NULL)"); + myquery(rc); + + stmt= mysql_simple_prepare(mysql, + "INSERT INTO table_4166(col1, col2, col3, col4, col5, col6, col7) " + "VALUES(?, ?, ?, ?, ?, ?, ?)"); + check_stmt(stmt); + + verify_param_count(stmt, 7); + + bzero(my_bind, sizeof(my_bind)); + /* tinyint */ + my_bind[0].buffer_type= MYSQL_TYPE_TINY; + my_bind[0].buffer= (void *)&tiny_data; + /* string */ + my_bind[1].buffer_type= MYSQL_TYPE_STRING; + my_bind[1].buffer= (void *)str_data; + my_bind[1].buffer_length= 1000; /* Max string length */ + /* integer */ + my_bind[2].buffer_type= MYSQL_TYPE_LONG; + my_bind[2].buffer= (void *)&int_data; + /* short */ + my_bind[3].buffer_type= MYSQL_TYPE_SHORT; + my_bind[3].buffer= (void *)&small_data; + /* bigint */ + my_bind[4].buffer_type= MYSQL_TYPE_LONGLONG; + my_bind[4].buffer= (void *)&big_data; + /* float */ + my_bind[5].buffer_type= MYSQL_TYPE_FLOAT; + my_bind[5].buffer= (void *)&real_data; + /* double */ + my_bind[6].buffer_type= MYSQL_TYPE_DOUBLE; + my_bind[6].buffer= (void *)&double_data; + + for (i= 0; i < (int) array_elements(my_bind); i++) + { + my_bind[i].length= &length[i]; + my_bind[i].is_null= &is_null[i]; + is_null[i]= 0; + } + + rc= mysql_stmt_bind_param(stmt, my_bind); + check_execute(stmt, rc); + + int_data= 320; + small_data= 1867; + big_data= 1000; + real_data= 2; + double_data= 6578.001; + + /* now, execute the prepared statement to insert 10 records.. */ + for (tiny_data= 0; tiny_data < 10; tiny_data++) + { + length[1]= my_sprintf(str_data, (str_data, "MySQL%d", int_data)); + rc= mysql_stmt_execute(stmt); + check_execute(stmt, rc); + int_data += 25; + small_data += 10; + big_data += 100; + real_data += 1; + double_data += 10.09; + } + + /* force a re-prepare with some DDL */ + + rc= mysql_query(mysql, + "ALTER TABLE table_4166 change colX colX varchar(20) default NULL"); + myquery(rc); + + /* + execute the prepared statement again, + without changing the types of parameters already bound. + */ + + for (tiny_data= 50; tiny_data < 60; tiny_data++) + { + length[1]= my_sprintf(str_data, (str_data, "MySQL%d", int_data)); + rc= mysql_stmt_execute(stmt); + check_execute(stmt, rc); + int_data += 25; + small_data += 10; + big_data += 100; + real_data += 1; + double_data += 10.09; + } + + mysql_stmt_close(stmt); + + rc= mysql_query(mysql, "DROP TABLE table_4166"); + myquery(rc); +} + + +static void test_wl4166_2() +{ + MYSQL_STMT *stmt; + int c_int; + MYSQL_TIME d_date; + MYSQL_BIND bind_out[2]; + int rc; + + myheader("test_wl4166_2"); + + rc= mysql_query(mysql, "drop table if exists t1"); + myquery(rc); + rc= mysql_query(mysql, "create table t1 (c_int int, d_date date)"); + myquery(rc); + rc= mysql_query(mysql, + "insert into t1 (c_int, d_date) values (42, '1948-05-15')"); + myquery(rc); + + stmt= mysql_simple_prepare(mysql, "select * from t1"); + check_stmt(stmt); + + bzero(bind_out, sizeof(bind_out)); + bind_out[0].buffer_type= MYSQL_TYPE_LONG; + bind_out[0].buffer= (void*) &c_int; + + bind_out[1].buffer_type= MYSQL_TYPE_DATE; + bind_out[1].buffer= (void*) &d_date; + + rc= mysql_stmt_bind_result(stmt, bind_out); + check_execute(stmt, rc); + + /* int -> varchar transition */ + + rc= mysql_query(mysql, + "alter table t1 change column c_int c_int varchar(11)"); + myquery(rc); + + rc= mysql_stmt_execute(stmt); + check_execute(stmt, rc); + + rc= mysql_stmt_fetch(stmt); + check_execute(stmt, rc); + + DIE_UNLESS(c_int == 42); + DIE_UNLESS(d_date.year == 1948); + DIE_UNLESS(d_date.month == 5); + DIE_UNLESS(d_date.day == 15); + + rc= mysql_stmt_fetch(stmt); + DIE_UNLESS(rc == MYSQL_NO_DATA); + + /* varchar to int retrieval with truncation */ + + rc= mysql_query(mysql, "update t1 set c_int='abcde'"); + myquery(rc); + + rc= mysql_stmt_execute(stmt); + check_execute(stmt, rc); + + rc= mysql_stmt_fetch(stmt); + check_execute_r(stmt, rc); + + DIE_UNLESS(c_int == 0); + + rc= mysql_stmt_fetch(stmt); + DIE_UNLESS(rc == MYSQL_NO_DATA); + + /* alter table and increase the number of columns */ + rc= mysql_query(mysql, "alter table t1 add column d_int int"); + myquery(rc); + + rc= mysql_stmt_execute(stmt); + check_execute_r(stmt, rc); + + rc= mysql_stmt_reset(stmt); + check_execute(stmt, rc); + + /* decrease the number of columns */ + rc= mysql_query(mysql, "alter table t1 drop d_date, drop d_int"); + myquery(rc); + + rc= mysql_stmt_execute(stmt); + check_execute_r(stmt, rc); + + mysql_stmt_close(stmt); + rc= mysql_query(mysql, "drop table t1"); + myquery(rc); + +} + /* Read and parse arguments and MySQL options from my.cnf */ @@ -17689,6 +17900,8 @@ static struct my_tests_st my_tests[]= { { "test_bug31418", test_bug31418 }, { "test_bug31669", test_bug31669 }, { "test_bug28386", test_bug28386 }, + { "test_wl4166_1", test_wl4166_1 }, + { "test_wl4166_2", test_wl4166_2 }, { 0, 0 } };